Java 检查字符串中数组元素的while循环在输入正确的值后保持循环。什么';这个密码怎么了? String[]vKeywordsArray; int vNumberofKeywords=Integer.parseInt(JOptionPane.showInputDialog(“您想输入多少个关键字?”); vKeywordsArray=新字符串[vNumberofKeywords]; int i=0; while(i

Java 检查字符串中数组元素的while循环在输入正确的值后保持循环。什么';这个密码怎么了? String[]vKeywordsArray; int vNumberofKeywords=Integer.parseInt(JOptionPane.showInputDialog(“您想输入多少个关键字?”); vKeywordsArray=新字符串[vNumberofKeywords]; int i=0; while(i,java,Java,在循环中 String [] vKeywordsArray; int vNumberofKeywords = Integer.parseInt(JOptionPane.showInputDialog("How many keywords do you want to enter?")); vKeywordsArray = new String[vNumberofKeywords]; int i=0; while (i < vNumberofKey

在循环中

    String [] vKeywordsArray;
    int vNumberofKeywords = Integer.parseInt(JOptionPane.showInputDialog("How many keywords do you want to enter?"));
    vKeywordsArray = new String[vNumberofKeywords];  
    int i=0;
    while (i < vNumberofKeywords)
    {
         vKeywordsArray[i] = JOptionPane.showInputDialog("Please enter your keyword to be stored in index " +i+ ".");
         i++;
    }
    JOptionPane.showMessageDialog(null, "Thank you for the input(s).");          
    for (int j=0; j < vKeywordsArray.length; j++)
    {
       String vKeywords = JOptionPane.showInputDialog("What would you like to talk about today?");
       boolean vCheck = vKeywords.contains(vKeywordsArray[j]);
       while (vCheck == false)
       { 
           vKeywords = JOptionPane.showInputDialog("Sorry I did not get that, please enter one of the relevant keywords mentioned earlier.");
       }
    }
}

您从不更新vCheck条件。由于vCheck保持为false,循环将永远继续。

而不是
,而
循环如果实际情况如下,则需要
。我没有找到在那里进行while循环的任何原因,因为在while循环中,您正在显示一条消息,因此根本不需要循环

while( vCheck == false){
    vKeywords = jOptionPane.showInputDialog("Sorry I did not get that, please enter one of the relevant keywords mentioned earlier.");
}
将其更改为:-

while (vCheck == false)
   { 
       vKeywords = JOptionPane.showInputDialog("Sorry I did not get that, please enter one of the relevant keywords mentioned earlier.");
   }

收到用户的新输入后,需要重新评估布尔vCheck变量

  if (vCheck == false)
   { 
       vKeywords = JOptionPane.showInputDialog("Sorry I did not get that, please enter one of the relevant keywords mentioned earlier.");
   }

while(vCheck==false)
@ohgodspeiders,这应该是一个答案,我如何解决这个问题?我很困惑。我对java编程还是很陌生。@smac89我宁愿让自动清理系统以0个答案无声地显示这样的问题;)
while (vCheck == false)
{ 
    vKeywords = JOptionPane.showInputDialog("Sorry I did not get that, please enter one of the relevant keywords mentioned earlier.");
    vCheck = vKeywords.contains(vKeywordsArray[j]);
}