Мне сложно понять, почему цикл while не будет на самом деле цитировать. Он проходит один раз и останавливается.Хотя цикл выполняется только один раз
import java.util.*;
public class mileskm {
public static void main(String[] args) {
Scanner inp = new Scanner(System.in);
boolean continue1 = true;
while (continue1 == true) {
System.out.println("Would you like to convert m-km or km-m(km for m-km and m for km-m)");
String convert = inp.nextLine();
if (convert.equalsIgnoreCase("km")) {
System.out.println("Enter the mileage to be converted.");
double num = inp.nextDouble();
double con = num * 1.60934;
System.out.println(con);
continue1 = true;
} else if (convert.equalsIgnoreCase("m")) {
System.out.println("Enter the km to be converted.");
double num = inp.nextDouble();
double con = num * 0.621371;
System.out.println(con);
continue1 = true;
} else {
continue1 = false;
}
}
}
}
Я пытаюсь сделать так, чтобы пользователь мог конвертировать единицы более одного раза. Любая помощь приветствуется!
Я не понимаю, как бороться с этой последней еще {continue1 = ложь} ... потому что если что-нибудь кроме m или km, я хочу, чтобы он закрылся. – toshkoprogramming
Ничего. Я понял это. Теперь у меня другая проблема, которая возникает очень часто в любой программе, которую я делаю. Как только он проходит цикл один раз, линия ystem.out.println («Вы хотите преобразовать m-km или km-m (км для m-км и m для км-м)»); затем печатает дважды на втором прогоне и каждый пробег после. Что заставляет его печатать дважды каждый раз после первого цикла? – toshkoprogramming
Он не должен печатать дважды за цикл с этим кодом ... конечно, он будет переиздавать (один раз), как только цикл будет итерации. – Mena