Я пишу java-программу, которая принимает число, x, в качестве ввода от пользователя, суммирует все числа от 1 до x (включая x), которые делятся на 3, и отображает сумму. он компилируется без ошибок, но когда я запускаю программу, он застревает в цикле и продолжает выполнение, пока я не закрою командную строку. Я думаю, что проблема находится в скобках после "for". Я попытался заменить команды внутри цикла простым
System.out.println("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);
}
Ваш =+
должен быть +=
.
total =+ i;
совпадает с total = +i;
что совпадает с total = i;
,
Ваше задание неверно. В настоящее время вы просто назначаете счетчик 3.
i += 3
Вы сделали то же самое с вашей общей переменной. Вы можете исправить это так же:
total += 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);
}
}
Неправильный оператор - это контур endlees. Используйте + = not = +
i += 3
i=+3
просто означает, чтоi = 3
, вы видите проблему с этим, верно?