Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在for循环内部使用if-else语句和JOptionPane_Java_Arrays_If Statement_For Loop - Fatal编程技术网

Java 在for循环内部使用if-else语句和JOptionPane

Java 在for循环内部使用if-else语句和JOptionPane,java,arrays,if-statement,for-loop,Java,Arrays,If Statement,For Loop,我正在为我的编程入门课程写一篇从英语到意大利语的数组翻译JApplet。当输入与数组中的任何字符串和索引不匹配时,我很难在与if-else语句嵌套的循环中执行JOptionPane的错误消息。将输入转换为小写字符串,以使输入不区分大小写 我只尝试了一个else语句,但由于循环,这会导致错误消息弹出十次。如果(I!=EnglishWords.length),我尝试了其他方法,但这会使小程序直接跳到错误消息,即使equals()语句为true。如果您手动输入if-else if-else,它确实可以

我正在为我的编程入门课程写一篇从英语到意大利语的数组翻译JApplet。当输入与数组中的任何字符串和索引不匹配时,我很难在与if-else语句嵌套的循环中执行JOptionPane的错误消息。将输入转换为小写字符串,以使输入不区分大小写

我只尝试了一个else语句,但由于循环,这会导致错误消息弹出十次。如果(I!=EnglishWords.length),我尝试了其他方法,但这会使小程序直接跳到错误消息,即使equals()语句为true。如果您手动输入if-else if-else,它确实可以工作,就像我在代码中所做的那样,以防我无法使循环工作,但是在我们的赋值中,我们需要对数组使用循环

我真的需要一些帮助。谢谢你的阅读

下面是for循环:

 for (int i=0; i<=EnglishWords.length; i++)
        {
           if (finalInput.equals(EnglishWords[i])){
                 JOptionPane.showMessageDialog(null, ItalianWords[i], "Italian Word", JOptionPane.PLAIN_MESSAGE, icons[i]);
                 translatedWord = ItalianWords[i];
                 break;
                }
           else if (i == EnglishWords.length){
                 JOptionPane.showMessageDialog(null, "Sorry, word is not found", "ERROR", JOptionPane.ERROR_MESSAGE);
                 break;
                }
for (int i=0; i<=EnglishWords.length; i++)
for(int i=0;ifor循环:

 for (int i=0; i<=EnglishWords.length; i++)
        {
           if (finalInput.equals(EnglishWords[i])){
                 JOptionPane.showMessageDialog(null, ItalianWords[i], "Italian Word", JOptionPane.PLAIN_MESSAGE, icons[i]);
                 translatedWord = ItalianWords[i];
                 break;
                }
           else if (i == EnglishWords.length){
                 JOptionPane.showMessageDialog(null, "Sorry, word is not found", "ERROR", JOptionPane.ERROR_MESSAGE);
                 break;
                }
for (int i=0; i<=EnglishWords.length; i++)

如果您只想在耗尽数组中的每个元素后显示消息,那么只能在遍历所有元素后显示消息。请确保存在某种
return
语句,以便不执行其余代码;也许应该将其提取到自己的函数中

for (int i = 0; i < EnglishWords.length; i++) {
    if (finalInput.equals(EnglishWords[i])) {
        JOptionPane.showMessageDialog(null, ItalianWords[i], "Italian Word", JOptionPane.PLAIN_MESSAGE, icons[i]);
        translatedWord = ItalianWords[i];
        return;
    }
}
JOptionPane.showMessageDialog(null, "Sorry, word is not found", "ERROR", JOptionPane.ERROR_MESSAGE);
for(int i=0;i
请正确格式化您的代码。@Turing85:我不认为格式化有多大问题……这是另一种方式。谢谢您的帮助!让我看看我是否理解,因为数组的长度是10,使用