【发布时间】:2026-02-12 09:55:02
【问题描述】:
抱歉,我是 Java 新手,我必须编写这个程序,它会询问用户两个数字,从这两个数字中取出可以除以 3 的间隔,然后对它们求平均值。
我只专注于让它打印所有数字,因为我试图一步一步地走。
我尝试了两件事
在第一个代码中,它要求输入两个数字,但不打印任何内容
Scanner scanner = new Scanner (System.in);
double b = scanner.nextDouble();
for ( double a = scanner.nextDouble() ; a <= b; a++)
{
System.out.println(a);
}
在第二个代码中,它要求 3 个输入,如果最后一个输入等于第一个输入,它会正常打印循环,我想我可以明白为什么会发生这种情况,但我不知道如何解决它:
Scanner scanner = new Scanner (System.in);
double a = scanner.nextDouble();
double b = scanner.nextDouble();
for ( a = scanner.nextDouble() ; a <= b; a++)
{
System.out.println(a);
}
【问题讨论】:
-
我建议使用 int 而不是 double。
-
我使用双精度数是因为某些输出可能是分数(因为它必须除以 3,然后从所有输出中取平均值)
-
你没有说上面的分数。至于检查除以三,使用 int 比使用 double 更容易。
int i = n; if (i % 3 == 0) {...} -
很抱歉,我认为它不相关,我会更改它
-
在第二个示例中,您要求输入三个数字(调用scanner.nextDouble() 三次),但您只有两个变量(a 和b)。你分配了两次。
标签: java for-loop java.util.scanner