用下列哪个代码替换程序标注的【代码】会导致编译错误( )? public class A{ public static void main(String args[]){ int m=10,n=0; while(【代码】){ n++; } } } A.m- ->0 B.m++>0 C.m=0 D.m>100&&true
时间: 2024-04-07 17:29:38 浏览: 21
正确答案是D,用D选项的代码替换程序标注的【代码】会导致编译错误。
程序标注的【代码】是while循环的条件表达式,它应该返回一个布尔值true或false。而D选项中的代码m>100&&true显然是一个逻辑表达式,它的值为true。但是该表达式的类型是boolean而不是int,因此无法作为while循环的条件表达式使用,会导致编译错误。
A选项中,m-表示将m的值减1,是一个合法的表达式,可以作为while循环的条件表达式使用。B选项中,m++>0表示将m的值加1,并且判断加1后的值是否大于0,也是一个合法的表达式。C选项中,m=0表示将m的值赋为0,也可以作为while循环的条件表达式使用。
相关问题
下列ABCD注释标注的哪行代码有错误? class Tom { private int x = 120; protected int y = 20; int z = 11; private void f() { x = 200; System. out. printIn (x); } void g() { x = 200; System. out. println (x); } } public class E { public static void main (String args[]) Tom tom = new Tom(); tom. x = 22; //A tom. y = 33; //B tom. z = 55;//C tom. g () ; //D } }
该段代码有一个语法错误,应该在 main 方法的第五行末尾加上 `{`,正确代码如下:
```java
class Tom {
private int x = 120;
protected int y = 20;
int z = 11;
private void f() {
x = 200;
System.out.println(x);
}
void g() {
x = 200;
System.out.println(x);
}
}
public class E {
public static void main(String args[]) {
Tom tom = new Tom();
tom.x = 22; //A
tom.y = 33; //B
tom.z = 55; //C
tom.g(); //D
}
}
```
这样就可以通过编译了。
下列ABCD注释标注的哪行代码有错误? class Tom { private int x = 120; protected int y = 20; int z = 11; private void f() { x = 200; System. out. printIn (x); } void g() { x= 200; System. out. print]n (x); public class E { public static void main (String argsl Tom tom = new Tom); tom. x = 22; /A tom. y = 33; //B tom. z = 55; TIC tom. g () ; //D
代码中有两处错误,第三行应该是 public class Tom 而不是 class Tom,第九行应该是 new Tom() 而不是 Tom)。正确代码应该是:
```java
public class Tom {
private int x = 120;
protected int y = 20;
int z = 11;
private void f() {
x = 200;
System.out.println(x);
}
void g() {
x = 200;
System.out.println(x);
}
}
public class E {
public static void main(String[] args) {
Tom tom = new Tom();
tom.x = 22; //A
tom.y = 33; //B
tom.z = 55; //C
tom.g(); //D
}
}
```