Java 需要帮助编写一个动态方法,当每次使用不同的参数调用该方法时,该方法会为用户提供不同的提示吗

Java 需要帮助编写一个动态方法,当每次使用不同的参数调用该方法时,该方法会为用户提供不同的提示吗,java,arrays,string,dynamic,Java,Arrays,String,Dynamic,我正在尝试编写一个围绕用户选择的方法(例如queryChoicesMethod)。用户可以选择4个选项,最后,所有4个选项必须以某种顺序排列在字符串[]中。假设你有选择a、b、c和d。您要求用户选择第一个选项,静态方法将以字符串形式返回第一个选项。然后将答案放入main方法中[0]处的数组中。当我再次调用queryChoicesMethod时,这次它应该说“请选择第二个选项…”,它将列出用户尚未选择的其他选项(例如,假设用户第一次选择了“a”,在第二次调用时,它应该打印类似“请选择选项b、c或d

我正在尝试编写一个围绕用户选择的方法(例如queryChoicesMethod)。用户可以选择4个选项,最后,所有4个选项必须以某种顺序排列在字符串[]中。假设你有选择a、b、c和d。您要求用户选择第一个选项,静态方法将以字符串形式返回第一个选项。然后将答案放入main方法中[0]处的数组中。当我再次调用queryChoicesMethod时,这次它应该说“请选择第二个选项…”,它将列出用户尚未选择的其他选项(例如,假设用户第一次选择了“a”,在第二次调用时,它应该打印类似“请选择选项b、c或d”)。然后答案将进入[1]处的字符串[]。在第三次呼叫期间,它应要求用户选择剩余两个选项中的任何一个(例如,如果用户第二次选择“b”,则方法应在第三次呼叫期间打印“请选择选项c或d”)。答案将进入[2]处的字符串[]。剩下的最后一个选项将在不再次调用该方法的情况下放入数组,因为您不必要求用户放入最后一个选项(在这个阶段,已经决定最后一个选项在[3]处放入数组,因为它是剩下的唯一选项)


我试着尽我所能,但失败了。这是我搞不懂的作业

我必须使用的方法如下:

公共静态字符串查询选项(字符串[]选项){}


感谢您的帮助

在方法中使用静态变量和增量。将变量值映射为first、second等词,以便在打印语句中使用。 使用布尔数组进行选择,以帮助您知道是否使用该数组

import java.util.Scanner;
 public class HelloWorld{
 public static int i=0;
 public static String num[]={"first","second","third","fourth"};
 public static boolean taken[]={false,false,false,false};
 static String[] choicelist={"","","",""};
 public static String queryChoices(String[] choices){
    HelloWorld h=new HelloWorld();
    int l;    
    String ch;
    Scanner s=new Scanner(System.in);
    if(i<3){
        System.out.println("enter your "+num[i]+" choice:\n The choices are");
        for(int j=0;j<4;j++){
            if(!taken[j])
                System.out.println(j+". "+choices[j]);
        }    
        int n=s.nextInt();
        taken[n]=true;
        h.choicelist[i]=choices[n];
        ch=choices[n];
        i++;
    }else{
        for(l=0;l<4;l++){
            if(!taken[l])
            break;
        }
        h.choicelist[3]=choices[l];
        ch=choices[l];
    }
   return ch; 

 }
 public static void main(String []args){
    String[] choices={"a","b","c","d"};

    String choice=queryChoices(choices);
    System.out.println("your choice is: "+ choice);
    System.out.println("your choice is: "+ choicelist[0]);

 }
}
import java.util.Scanner;
公共类HelloWorld{
公共静态int i=0;
公共静态字符串num[]={“第一”、“第二”、“第三”、“第四”};
公共静态布尔值取值[]={false,false,false,false};
静态字符串[]choicelist={“”、“”、“”};
公共静态字符串查询选项(字符串[]选项){
HelloWorld h=新HelloWorld();
int l;
弦ch;
扫描仪s=新的扫描仪(System.in);

if(i)“我已经尽力了,但是失败了。”展示你到目前为止所做的。它不应该返回整个数组。它实际上只需要返回用户每次调用该方法时给出的答案(这听起来可能效率很低,但这就是赋值)。