声明说:
写一个98和266之间的7的倍数的列表,两者都包括
我把这段代码放在:
import java.util.*;
public class Multiples7 {
public static void main (String[] args) {
Scanner entrada;
int x;
entrada = new Scanner(System.in);
while (x >= 98 && x <= 266) {
if (x % 7 == 0){
System.out.println(x);
}
}
}
}我得到了一个我不理解的错误:变量x可能没有被初始化
为什么x不开始呢?
发布于 2014-10-22 23:59:37
要解决这个问题:您只需初始化x,它当前未初始化。要初始化一个变量,你必须给它赋值。例如x = 0;。
然而,这仍然不会使您的程序打印出正确的结果。
实现你真正想做的事情的一种方法是迭代98到266之间的数字,当它们被7整除时打印出来。
for(int y = 98; y <= 266; ++y) if (y % 7 == 0) System.out.println(y);
或者,您可以从98 (14 * 7)开始,然后将其递增7,并在执行过程中进行打印。
int y = 98;
while(y <= 266) {
System.out.println(y);
y+=7
}发布于 2014-10-22 23:55:08
您需要读取x的值或自己初始化它。之所以显示此错误,是因为程序可能会在x未初始化的情况下完成。
只需对其进行初始化:
int x = 0;或从扫描仪读取
x = entrada.nextInt();发布于 2014-10-22 23:56:47
或者,您可以使用for循环,它包括初始化。
for (int x = 98; x <= 266; x++) {
if (x % 7 == 0) {
System.out.println(x);
}
}https://stackoverflow.com/questions/26511675
复制相似问题