#java #loops
#java #циклы
Вопрос:
Я знаю, что этот вопрос задавался уже несколько раз. Не стесняйтесь пометить его как дубликат. В любом случае, я бы предпочел спросить сообщество, поскольку я все еще не уверен.
Я должен преобразовать этот цикл while в цикл do-while. Есть мысли?
public class DoWhile {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int sum = 0;
System.out.println("Enter an integer " "(the input ends if it is 0)");
int number = input.nextInt();
while (number != 0) {
sum = number;
System.out.println("Enter an integer " "(the input ends if it is 0)");
number = input.nextInt();
}
}
}
Комментарии:
1. Вы бы помогли всем читателям вашего вопроса, если бы отформатировали раздел кода с отступом и исправили разрывы строк. Пожалуйста, рассмотрите возможность редактирования.
2. Похоже на вопрос о проверке кода. codereview.stackexchange.com
Ответ №1:
Вы не можете просто преобразовать любой цикл while для выполнения цикла while , основное различие между ними заключается в том, что в цикле do while у вас есть итерация, которая будет выполняться независимо от условия.
public class DoWhile {
public static void main(String[] args) {
int number=0;
Scanner input = new Scanner(System.in); int sum = 0;
do{ System.out.println("Enter an integer " "(the input ends if it is 0)");
number = input.nextInt();
sum = number;
}while (number != 0) ;
}
}
Комментарии:
1. Я уже знаю это, на самом деле, это пример из dr. Книга Ляна «Введение в Java».
2. Теперь это намного понятнее, спасибо. Извините всех за хлопоты
3. Это не будет компилироваться, поскольку вы объявили number внутри цикла. Исправьте это, и все в порядке.
Ответ №2:
public class DoWhile {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int sum = 0;
int number = 0;
do {
System.out.println("Enter an integer "
"(the input ends if it is 0)");
number = input.nextInt();
sum = number;
} while(number != 0)
}
}
Ответ №3:
Вы должны сообщить программе продолжить выполнение чего-либо в блоке «do». В вашем собственном случае вы должны указать программе продолжать выполнять это » System.out.println(«Введите целое число » «(ввод заканчивается, если оно равно 0)»); number = input.nextInt();
sum = number;». Затем в блоке «while» вам нужно будет указать завершающий оператор, в вашем собственном случае «number ! = 0«
public class DoWhile {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int sum = 0;
int number;
do {
System.out.println("Enter an integer " "(the input ends if it is 0)");
number = input.nextInt();
sum = number;
} while (number != 0);
}
}
Ответ №4:
public class DoWhile {
public static void main(String[] args) {
Scanner input = new Scanner(System.in); int sum = 0;
System.out.println("Enter an integer " "(the input ends if it is 0)");
int number = input.nextInt();
//You need this if statement to check if the 1st input is 0
if(number != 0)
{
do
{
sum =number;
System.out.println("Enter an integer " "(the input ends if it is 0)");
number = input.nextInt();
}while(number != 0);
}
}
}
Ответ №5:
classInfoClass
{
public void setinfo()
{
int userage;
do
{ Console.Write("Please enter your age: ");
} while (!int.TryParse(Console.ReadLine(),out userage));