如何从第10行读取(例如)我的代码的第5行?

时间:2016-01-14 17:52:09

标签: java loops

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次然后我必须去编辑它...

提前感谢您的帮助!

2 个答案:

答案 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的更高版本中添加。