Do-while 不会循环返回
Do-while doesn't loop back
所以我正在研究一个涉及二进制转换等的问题。但是我这里的问题是我似乎无法在我的代码中使 do-while 语句在 catch 块完成执行时进行环回。这是我的代码。
System.out.println("This program converts a binary value to its decimal counterpart.\n");
Scanner input = new Scanner(System.in);
boolean invalidInput = true;
do {
try {
System.out.print("(>) Enter the value to be converted: ");
String numberToConvert = input.nextLine();
long converted = Long.parseLong(numberToConvert, 2);
System.out.println("(>) Decimal value of " + numberToConvert + " is : " + converted + "\n");
invalidInput = false;
} catch (Exception e) {
System.out.println("(!) Entered value is non binary, please try again.\n");
input.next();
}
} while (invalidInput);
从 catch 块中删除 input.next() 然后尝试 :-
System.out.println("This program converts a binary value to its decimal counterpart.\n");
Scanner input = new Scanner(System.in);
boolean invalidInput = true;
do {
try {
System.out.print("(>) Enter the value to be converted: ");
String numberToConvert = input.nextLine();
long converted = Long.parseLong(numberToConvert, 2);
System.out.println("(>) Decimal value of " + numberToConvert + " is : " + converted + "\n");
invalidInput = false;
} catch (Exception e) {
System.out.println("(!) Entered value is non binary, please try again.\n");
}
} while (invalidInput);
所以我正在研究一个涉及二进制转换等的问题。但是我这里的问题是我似乎无法在我的代码中使 do-while 语句在 catch 块完成执行时进行环回。这是我的代码。
System.out.println("This program converts a binary value to its decimal counterpart.\n");
Scanner input = new Scanner(System.in);
boolean invalidInput = true;
do {
try {
System.out.print("(>) Enter the value to be converted: ");
String numberToConvert = input.nextLine();
long converted = Long.parseLong(numberToConvert, 2);
System.out.println("(>) Decimal value of " + numberToConvert + " is : " + converted + "\n");
invalidInput = false;
} catch (Exception e) {
System.out.println("(!) Entered value is non binary, please try again.\n");
input.next();
}
} while (invalidInput);
从 catch 块中删除 input.next() 然后尝试 :-
System.out.println("This program converts a binary value to its decimal counterpart.\n");
Scanner input = new Scanner(System.in);
boolean invalidInput = true;
do {
try {
System.out.print("(>) Enter the value to be converted: ");
String numberToConvert = input.nextLine();
long converted = Long.parseLong(numberToConvert, 2);
System.out.println("(>) Decimal value of " + numberToConvert + " is : " + converted + "\n");
invalidInput = false;
} catch (Exception e) {
System.out.println("(!) Entered value is non binary, please try again.\n");
}
} while (invalidInput);