Jon*_*ert 0 java arrays for-loop output
我使用以下代码创建了一个字符串数组
public class Main
{
static String[] words = {"watch", "on", "youtube",":","Mickey","en","de","stomende","drol"};
public static void main(String[] args)
{
String output = "";
for(int i = 1 ; i <= words.length ; i++)
{
output += " " + words[i];
}
System.out.println(output);
}
}
Run Code Online (Sandbox Code Playgroud)
我期望收到的输出是:
"在youtube上观看:Mickey en de stomende drol"
但实际产量是
"在youtube上:Mickey en de stomende drol"
我想我犯了一个小错误,它是怎么来的?
但实际产量是
[...]
不是您发布的代码.您发布的代码无法编译,因为:
ArrayIndexOutOfBoundsException与你错过第一个元素基本相同的原因 - 见下文.这个:
for(int i = 1 ; i <= words.length ; i++)
Run Code Online (Sandbox Code Playgroud)
应该:
for (int i = 0; i < words.length; i++)
Run Code Online (Sandbox Code Playgroud)
请注意,起始索引和循环条件都已更改.后者是表达从0(包括)到独占上限的循环的惯用方式.
Java中的数组是基于0的 - 例如,长度为4的数组具有0,1,2和3的有效索引.有关更多详细信息,请参阅Java数组教程.
(顺便说一句,像这样重复的字符串连接通常是一个坏主意.在你的情况下,这不是问题,因为价值太少,但你应该学习StringBuilder.)
| 归档时间: |
|
| 查看次数: |
109 次 |
| 最近记录: |