通过数组进行索引循环并打印出元素?

下面的代码应该打印出我的数组的元素,相反,它一次又一次地打印出第一个元素,而不会结束。我不知道这是否是一件简单的事情,但我无法找到我的错误。尽管这个问题对你们大多数人来说可能很容易,但我们将不胜感激。


    public static void main(String [] args) {

        int[] myintarray = {12,32,34};

        int index= 0;

        while(index < 3)

        System.out.println(myintarray[index]);

        index++;

    }

}

实际结果: 12 12 12 12 12 12 12 ... 12 预期结果: 12 32 34


此致,


翻过高山走不出你
浏览 124回答 3
3回答

一只萌萌小番薯

下面的代码应该打印出我的数组的元素,相反,它一次又一次地打印出第一个元素,而不会结束。我不知道这是否是一件简单的事情,但我无法找到我的错误。尽管这个问题对你们大多数人来说可能很容易,但我们将不胜感激。&nbsp; &nbsp; public static void main(String [] args) {&nbsp; &nbsp; &nbsp; &nbsp; int[] myintarray = {12,32,34};&nbsp; &nbsp; &nbsp; &nbsp; int index= 0;&nbsp; &nbsp; &nbsp; &nbsp; while(index < 3)&nbsp; &nbsp; &nbsp; &nbsp; System.out.println(myintarray[index]);&nbsp; &nbsp; &nbsp; &nbsp; index++;&nbsp; &nbsp; }}实际结果: 12 12 12 12 12 12 12 ... 12 预期结果: 12 32 34此致,您的变量index不会在循环内更新:它保持其初始值 ( index = 0),这就是为什么它总是打印数组中的第一个值。另外,由于index永远不会更新,因此条件index < 3始终是true,这就是循环永远不会结束的原因。在 while 循环体周围添加大括号可以解决您的问题:&nbsp; public static void main(String[] args) {&nbsp; &nbsp; int[] myIntArray = {12, 32, 34};&nbsp; &nbsp; int index = 0;&nbsp; &nbsp; while (index < 3) {&nbsp; &nbsp; &nbsp; System.out.println(myIntArray[index]);&nbsp; &nbsp; &nbsp; index++;&nbsp; &nbsp; }&nbsp; }输出:123234在您的版本中, while 循环的主体是单行:System.out.println(myintarray[index]);

Smart猫小萌

这里的问题是,您没有在要进入 while 循环的代码周围放置大括号。您会看到,当 while 循环或 for 循环没有附加大括号时,在大多数语言中,循环只会考虑下一个命令在其中,这将是循环运行的唯一命令。因此,当运行你的程序时,程序只重复“System.out.println(myintarray[index])”,并且从不增加索引,因此“myintarray[index]”的值永远停留在12。所以,我们可以通过两种方式解决这个问题:int index = 0;while(index < 3){&nbsp; &nbsp; System.out.println(myintarray[index]);&nbsp; &nbsp; index++;}或者,如果我们想使用 for 循环,for(int index = 0; index < 3, index++){&nbsp; &nbsp; System.out.println(myintarray[index]);}

神不在的星期二

在没有大括号的 while 中,只有紧跟在 while 后面的语句才会被执行。在您的情况下,这意味着只有 while 之后的第一个语句将被循环,即“System.out.println(myintarray[index]);”。由于“index++;” 未达到时,您的索引将具有相同的值 0,因此您的程序将始终打印数组的第一个元素。您的代码范围将在大括号中转换为:while(index < 3) {&nbsp; &nbsp; System.out.println(myintarray[index]);}index++;要执行多个语句,请将其全部括在大括号内。while(index < 3) {&nbsp; &nbsp; System.out.println(myintarray[index]);&nbsp; &nbsp; index++;}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java