我正在编写一个java程序,它接受一个数字x,作为用户的输入,将从1到x(包括x)的所有数字相加,可以被3整除,并显示总和。它编译时没有错误,但是当我执行程序时,它会卡在循环中并继续执行,直到我关闭命令提示符。我认为问题出在" for"之后的括号内。我尝试用简单的
替换循环内的命令System.out.println("Hello");
我在命令提示符窗口下传了数百个Hello流。我做错了什么?
public static void main(String[] args){
Scanner keyboard = new Scanner(System.in);
System.out.println("Enter a number");
int x = keyboard.nextInt();
int i, total = 0;
for (i = 0; i <= x; i=+3)
{
total =+ i;
}
System.out.println("The sum is " + total);
}
答案 0 :(得分:4)
您的=+
应为+=
。
total =+ i;
与total = +i;
相同,与total = i;
相同。
答案 1 :(得分:1)
你的任务错了。目前,您只需将计数器分配给3。
i += 3
您的总变量也是如此。你可以用同样的方式解决它:
total += i;
答案 2 :(得分:0)
错误的操作员是无限循环。使用+ = 不= +
i += 3
答案 3 :(得分:0)
只需在增加i和总数时修复。这是编译和运行的类:
import java.util.Scanner;
class keyboard {
public static void main(String[] args){
Scanner keyboard = new Scanner(System.in);
System.out.println("Enter a number");
int x = keyboard.nextInt();
int i, total = 0;
for (i = 0; i <= x; i+=3)
{
total += i;
}
System.out.println("The sum is " + total);
}
}