x1 = input.nextLine();
if(x1.length() == 2){
if(x1.charAt(0) == 'a' || x1.charAt(0) == 'A'){
if(x1.charAt(1) == '1'){
if(a1 == 0){
a1 = 1;
px1 = "a1";
}
}
如果a1不等于0,我希望能够返回并要求用户重试输入有效的条目..但是后面有更多的代码(在大括号之后)......所以我不想重新复制所有代码,因为它最终会被复制/粘贴大约20次然后我必须去编辑它...
提前感谢您的帮助!
答案 0 :(得分:2)
简而言之正是 -
boolean doLoop=true;
do{
x1 = input.nextLine();
if(x1.length() == 2 && (x1.charAt(0) == 'a' || x1.charAt(0) == 'A') && x1.charAt(1) == '1'){
a1 = 1;
px1 = "a1";
doLoop = false;
}
}while(doLoop);
答案 1 :(得分:0)
实现这个的最好方法是执行while循环:
// Define your variables
do {
// input your variables
}while(NotValidContition);
我无法完全理解您的用例,但我希望用户输入一个整数,例如,我会编写代码:
Integer x = null;
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String input;
do{
System.out.println("Please input a number :");
try{
input = br.readLine();
x = Integer.parse(input);
}catch(IOException io){
System.out.println("IO ERROR");
}catch (NumberFormatException nfe){
System.out.println("Error: Input was not a number !");
}
}while (x != null);
更新:正如here中所述,JAVA确实有一个goto
关键字,但AFAIK没有被使用,它被包含在关键字列表中,因此带有关键字的代码将无法在当前编译,以便将来不会中断 IF 该功能将在JAVA的更高版本中添加。