0

我编写了这段代码,以便用户可以选择 A、B、C、D,然后查询此选择并将结果保存在一个字符串中,稍后在 main 中使用。我需要做的是在用户做出像 A 这样的选择并从 A 获得结果之后,以便能够从开始而不是结束重新进行选择。例如,我选择 A 然后查询运行,并在字符串中得到一些结果。然后我需要这样的东西:

System.out.println(" 进行更多选择?输入是或否"); 如果是返回开始,但不会丢失已经添加的字符串值。实现这一目标的最佳方法是什么?

    public static void query() {

    String selec ;

            boolean c=true;
            selec = user_input.next( );

            int z = Integer.parseInt(selec);
            while(c){   
                if(z==1){
                    selec="A";
                    c=false;
                }else if(z==2){
                    selec="B";
                    c=false;
                }else if(z==3){
                    selec="C";
                    c=false;
                }else if(z==4){
                    selec="D";
                    c=false;
                }else{
                    System.out.println("Invalid Choice");

                    selec = user_input.next( );
                }
            }


    if (selec=="A") {
   final String queryString =...

List<String> strA = new ArrayList<String>() ;

    }else if (selec=="B") {...

final String queryString =...

    List<String> strB = new ArrayList<String>() ;

    }else if ...
    }
    }

    public static void main(String[] args) {
    new class.query();
    ...
    }
4

3 回答 3

0

您可以使用do-while循环并在继续之前检查条件。

就像是:

do{

//Here goes your code

System.out.println( " Make more selections? Type Yes or No");
//Read the input
}while(input);
于 2013-09-18T14:45:17.500 回答
0

query在你的 if/else 语句下,在你的函数底部添加这个。

//Ask if user wants to continue and get input
System.out.println("Make more selections? Type Yes or No");
selec = user_input.next();
//If user enters 'Yes' then have them enter new selection and run query again
if(selec.equalsIgnoreCase("Yes")) {
    System.out.println("Enter next selection: ");
    query();
}
于 2013-09-18T14:57:01.133 回答
0

您可以使用一个简单的 if 语句:

System.out.println( " Make more selections? Type Yes or No");
//receive input

if(input.equals("Yes")) {
  query();
};

将其放在查询方法的末尾附近。希望对你有用。

于 2013-09-18T15:03:22.157 回答