java - Java 中的 if-else 语句

标签 java if-statement for-loop break

我的程序有一个小问题,我确定它出在这个循环和 if-else 语句中:

for (int i = 0; i < xArray.length; i++)
        {
            if(searchNumber == xArray[i])
            {
                found = true;

                if(found)
                {
                    System.out.println("We have found your number " + searchNumber + " at position " + i + " in the array. " );
                }
                else
                {
                 System.out.println("No match was found.");                 
                }

                break;

            }

        }   

当我执行该程序时,如果找到 searchNumber(通过扫描仪使用键盘输入获取),那么它将显示相应的消息,表示已找到它,但如果未找到,则不会显示任何消息显示。我尝试通过告诉自己每行代码正在做什么来调试它,但是当我进入这个循环时,我感到非常困惑。

最佳答案

确保 foundfalse 开头。然后在循环完成(或中断)后进行打印。

boolean found = false;
int i;//thanks @DaveNewton !
for (i = 0; i < xArray.length; i++)
{
    if(searchNumber == xArray[i])
    {
        found = true;
        break;
    }
}   

if(found)
    System.out.println("We have found your number " + searchNumber + " at position " + i + " in the array. " );
else
    System.out.println("No match was found.");                 

关于java - Java 中的 if-else 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25672682/

相关文章:

java - Android Studio - 自定义 ListView 崩溃

java - 如何在 log4j2 中实现日期模式转换器

java - 获取包com.google.android.gms.ads.identifier不存在,同时尝试获取google广告id

java - 将java应用程序作为Windows服务运行

使用 for 循环删除中间行

windows - 如何将 Windows 批处理 for 循环的最终结果通过管道传输到另一个命令中

如果长度从列表中的列表中删除列表

Javascript "break"总是命中

c - 如何通过输入字母来终止程序?

c - for循环中两个缓冲区的总和