Java - застрял в «для» цикла

1

Я пишу 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);
}
  • 1
    i=+3 просто означает, что i = 3 , вы видите проблему с этим, верно?
  • 2
    если это код, который вы используете, = + это не вещь. Попробуйте + =. Для кода, который вы написали, я всегда буду равен 3.
Теги:

4 ответа

4
Лучший ответ

Ваш =+ должен быть +=.

total =+ i; совпадает с total = +i; что совпадает с total = i; ,

1

Ваше задание неверно. В настоящее время вы просто назначаете счетчик 3.

i += 3

Вы сделали то же самое с вашей общей переменной. Вы можете исправить это так же:

total += i;
0

просто исправьте, когда вы увеличите я и общее количество. Вот класс для компиляции и запуска:

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);

    }
}
0

Неправильный оператор - это контур endlees. Используйте + = not = +

i += 3

Ещё вопросы

Сообщество Overcoder
Наверх
Меню