哪行代码有错误( public class People { int m = 10, n; n = 200; void f( { if (m == n) n =+ m; else //A //B //C 口二口一m;//D
时间: 2024-01-19 22:05:13 浏览: 156
上述代码有一处错误,就是方法f的声明缺少参数列表的括号。正确的写法应该是:
```java
public class People {
int m = 10, n;
void f() {
if (m == n)
n += m; // 正确的写法是 n += m,不是 n =+ m
else
m--; // 正确的写法是 m--,而不是 口二口一m
}
}
```
在这个例子中,我们声明了一个名为People的类,并在类体中定义了一个成员变量m和一个成员变量n。然后,我们定义了一个名为f的方法,该方法没有任何参数,它的作用是根据m和n的值来更新它们的值。在方法体中,我们使用了if-else语句来判断m和n的值,并根据条件更新它们的值。注意,在if语句中,我们使用了n += m的写法来将m的值加到n上,这是一个常用的简化写法,等价于n = n + m。而在else语句中,我们使用了m--的写法来将m的值减1。
相关问题
public class People{ int m=10,n; //【1】 n=200; //【2】 void f(){ if(m == n) n+=m; //【3】 else n=n-m; //【4】 } }这段代码哪里有错误
这段代码没有语法错误,但是存在一些逻辑问题。
在方法f()中,如果m等于n,则n的值会增加m,否则n的值会减去m。但是在这段代码中,n的初始值为0,而m的初始值为10,因此在第3行代码中,m和n的值不相等,会执行n=n-m,将n的值赋为-10,这可能不是预期的结果。
如果希望在方法f()中进行正确的计算,可以将n的初始值改为200,即:
```
public class People {
int m = 10, n = 200;
void f() {
if (m == n)
n += m;
else
n = n - m;
}
}
```
这样,在第3行代码中,m和n的值相等,会执行n+=m,将n的值增加到210。
public class people{ int m=10,n; n=200; //** void f(){ if(m==n) n=+m; //** } }带“//**”注释的语句语法为什么错了
注释符号“//**”并不是Java语言的有效注释符号,因此编译器会将它看作是代码的一部分。在这段代码中,注释符号“//**”后面的语句“n=200;”和“n=+m;”都是语法错误的,因为它们没有放在方法体中。正确的写法应该是将它们放在方法f()的大括号内部,像这样:
```
public class people{
int m = 10, n;
void f(){
n = 200;
if(m == n)
n += m;
}
}
```
阅读全文