У меня возникла проблема и проблема со школьным кодом Java. Я должен сделать 3 части:Использование do-while дважды?
A - введите номер пользователя, прочитайте его, проверьте, положительно или отрицательно, с помощью булева, а затем необходимо проверить и просто принять, что они должны быть между 20 и 100. Если нет, программа должна зацикливать запрос на принятое число.
B - укажите нечетные числа между 0 и вставленным числом и суммируйте их.
C - После создания и запуска секций A и B вы должны ввести необходимые изменения в программу, которые необходимо повторить дважды, чтобы ввести предельные значения и показать их нечетные и их сумму. То есть разделы будут повторяться два раза A + B. Для управления им необходимо использовать структуру типа do-while. (Копировать/вставить его)
Вот что я на данный момент:
import java.util.Scanner;
public class School_Proj1 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int number = 0;
boolean positive = false;
int sum = 0;
do {
System.out.print("Input a number: ");
number = scanner.nextInt();
scanner.nextLine();
} while(!positive && (number <20) || (number>100));
System.out.println("Number input OK [ "+number+" ]"
+ "\n\nLet's go to the next phase!\n\n"
+ "The odd numbers until [ "+number+" ] are: ");
for(int i=0; i <= number; i++){
if (i%2 !=0){
System.out.print(i + " ");
sum = sum + i;
}
}
System.out.println("\nAnd the sum of the odd numbers until [ "+number+" ] are: " + sum);
}
}
Моя забота: я правильно применил булево там или нет, не делать ничего?
И главная проблема заключается в том, что я не могу выполнить часть (C). Как я могу снова использовать do-while и заставить его это сделать?
Заранее спасибо! Любая помощь любезно принята!
Ваш логический 'позитивный' делает - эффективно - ничего. Вы никогда не присваиваете ему ничего (кроме начального значения 'false'.) – AJNeufeld
Я боялся этого, но хотел ошибаться об этом :) –