我正在做作业,我必须做几个简单的字符串操作。我想我最后一个想通了,它本身就可以工作,但是当我把它与其他字符串操作放在一起时它不起作用,给我一个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"
答案 0 :(得分:7)
代码假设theWords
总是至少有两个元素。如果用户提供的句子没有任何空格,theWords
将永远不会获得位置1中的元素,因此程序将在System.out.println(theWords[1]);
上崩溃
答案 1 :(得分:0)
在Java数组中,索引从零开始,其中第0个元素是第一个。 正如马克所说,你假设在这种情况下总会输入两个单词。在尝试访问元素之前,您应该检查Words的长度。