在用户输入2位数的十六进制之后,程序将继续执行,除非他们输入1位数或3位数或更高的十六进制,但是我希望用户在用户输入控制台中的第一个“无效”消息之后再次尝试第二次输入不正确的值,并且不会被“无效”消息阻止。
import java.util.Scanner;
public class Dance6 {
public static void main(final String[] args) {
Scanner sc = new Scanner(System.in);
String hexadecimal;
System.out.println("Please enter a 2-digit hexadecimal value : ");
hexadecimal = sc.nextLine();
if (hexadecimal.length() != 2) {
System.out.println("Invalid input, please try again : ");
sc.next();
}
}
}
答案 0 :(得分:0)
此if语句:
if (hexadecimal.length() != 2) {
System.out.println("Invalid input, please try again : ");
sc.next();
}
仅执行一次。
您需要一个循环验证输入,直到输入有效:
while (hexadecimal.length() != 2) {
System.out.println("Invalid input, please try again : ");
hexadecimal = sc.nextLine();
}
答案 1 :(得分:0)
您应该为此使用循环。让用户再试一次,直到他输入有效的字符串:
Scanner sc = new Scanner(System.in);
System.out.println("Please enter a 2-digit hexadecimal value : ");
String hexadecimal = sc.nextLine();
while (hexadecimal.length() != 2) {
System.out.println("Invalid input, please try again: ");
hexadecimal = sc.nextLine();
}
System.out.println("You entered: " + hexadecimal);