程序在一起时java arrayoutofbounds异常错误

时间:2013-09-03 19:21:07

标签: java arrays exception error-handling

我正在做作业,我必须做几个简单的字符串操作。我想我最后一个想通了,它本身就可以工作,但是当我把它与其他字符串操作放在一起时它不起作用,给我一个arrayoutofbounds异常错误。有什么建议? 这是我制作的小代码

  public static void main (Strings[] args) {
    Scanner sc = new Scanner(System.in);
    String theSentence = sc.nextLine();
    String [] theWords = theSentence.split(" ");
    Arrays.sort(theWords);
    System.out.println(theWords[1]);
    System.out.println(Arrays.toString(theWords));
}

当它与其余代码放在一起时,即使它本身有效,它也不起作用。作为参考,这段代码应该用一个小句子,并按字典顺序给我一个最小的单词。例如:输入:"4 WHAT WAIT IS THIS"输出为"IS"

2 个答案:

答案 0 :(得分:7)

代码假设theWords总是至少有两个元素。如果用户提供的句子没有任何空格,theWords将永远不会获得位置1中的元素,因此程序将在System.out.println(theWords[1]);上崩溃

答案 1 :(得分:0)

在Java数组中,索引从零开始,其中第0个元素是第一个。 正如马克所说,你假设在这种情况下总会输入两个单词。在尝试访问元素之前,您应该检查Words的长度。

相关问题