我需要问用户他想记笔记多少次,然后循环播放 他需要记下多少次并最终计算出moyenne,但是我把那一倍的a = a + n放了进去;表示它会计算便签号码,最后在s.o.p中,我将便签号码除以他先问了多少。 java给我错误,有帮助吗?
这是我的代码:
package minmax;
import java.util.Scanner;
public class MinMax {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int x, y, z;
System.out.println("Combien de notes vous avez? ");
x = in .nextInt();
for (y = 0; y < x; y++) {
do {
System.out.println("Mettez votre note :");
z = in .nextInt();
}
while (z < 20 || z > 0); {
double a = a + n;
}
}
System.out.println("Votre moyenne est : " + (a / x));
}
}
答案 0 :(得分:1)
简单:
double a = a + n;
您不能定义变量并使用自身对其进行初始化。
含义:既不能声明a
,也不能给需要a
的{{1}}赋值。
换句话说:您编写的代码确实没有任何意义。也许您应该简单地将:a
放在该语句的上方,然后再做:double a = 0
再往下。
当然:也使用真实姓名。 a = a + n
,a
,这些名称毫无意义。使用一些能告诉人类读者这些变量意图的东西。
答案 1 :(得分:1)
修复和建议:
a=a+something
,a++
,a+=something
类事物)只能在之后发生< / li>
do-while
循环的情况下,请不要在while(...);
之后加上括号和缩进行,因为这些行与do-while
循环本身处于同一级别.
前面的空格看起来很奇怪,除非您将表达式分成多行将它们放在一起:
package minmax;
import java.util.Scanner;
public class MinMax {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.println("Combien de notes vous avez? ");
int x = in.nextInt();
double a = 0;
for (int y = 0; y < x; y++) {
int z;
do {
System.out.println("Mettez votre note :");
z = in.nextInt();
}
while (z < 0 || z > 20);
a = a + z;
}
System.out.println("Votre moyenne est : " + (a / x));
}
}
(加号a=a+n
成为a=a+z
的原因很明显,其中z
包含来自用户的数字,并且必须交换比较方向-假设您希望数字介于0之间。 ..20)