#java #for-loop
#java #цикл for
Вопрос:
Я пытаюсь написать программу, которая печатает все числа от 0 до 1000, где число mod 5 = 3. Это то, что у меня есть на данный момент
public class NewMain {
public static void modNumbers(int i)
{
}
public static void main(String[] args) {
for(int i = 0; i > 1000; i )
{
if(i%5 = 3)
{
System.out.println(i);
}
}
}
}
Я не получаю никаких выходных данных, поэтому я знаю, что делаю что-то не так. Должен ли я указывать возвращаемый тип в методе?
Комментарии:
1. вы, вероятно, хотите, чтобы значение double равнялось,
==
в вашемif
наряду с другими исправлениями2. Простые синтаксические ошибки.. > в < и = в == или даже ===
3. Это вообще компилируется? Это должно быть if(i%5 == 3).
4. Опубликуйте ответ, который помог в решении вашей проблемы, и пометьте его как решенный.
Ответ №1:
Измените его с:
for (int i = 0; i > 1000; i )
Для
for (int i = 0; i < 1000; i )
По сути, цикл никогда не начинается, потому что инвариант цикла равен false (поскольку i меньше 1000), и ваша инструкция print никогда не выполняется, потому что цикл никогда не инициализируется.
Кроме того, как упоминалось в WTP, используйте == для числовых сравнений (важным примечанием является то, что вы используете string1.equals(string2) или compareTo со строками, просто для вашего дальнейшего использования).
Ответ №2:
for(int i = 0; i < 1000; i )
Ответ №3:
Вот что вам нужно сделать:
- Изменение
i > 1000
наi <= 1000
asi
начинается с 0 и увеличивается до 1000. - Измените
i%5 = 3
наi%5 == 3
, поскольку первый выполняет присваивание, а второй сравнивает на равенство.
Ответ №4:
if(i%5 == 3)
single = используется для присвоения
Ответ №5:
Это:
if(i%5 = 3)
Должно быть так:
if(i%5 == 3)
Вы пытаетесь установить что-то вместо сравнения.
Ответ №6:
Еще одна маленькая деталь:
i%5 = 3
должно быть
i%5 == 3
Ответ №7:
Необходимо изменить > в вашем операторе for на <, а также = в вашем операторе if является оператором присваивания. Используйте оператор сравнения == или === … Надеюсь, это поможет. 🙂
Комментарии:
1. К вашему сведению
===
не существует в java
Ответ №8:
for (int i = 0; i < 1000; i )
Ответ №9:
У вас две проблемы:
1.
for(int i = 0; i > 1000; i )
Цикл for запускается только тогда, когда значение i больше 1000, но начальное значение для i меньше тысячи. Код не будет работать.
2.
if(i%5 = 3)
Вам нужно, чтобы это имело два знака равенства, чтобы оно стало оператором, возвращающим значение true или false. После внесения исправлений ваш код будет выглядеть следующим образом:
for(int i = 0; i < 1000; i )
{
if(i%5 == 3)
{
System.out.println(i);
}
}