【发布时间】:2022-01-03 02:13:55
【问题描述】:
import java.util.Scanner;
import java.util.ArrayList;
public class kek2 {
public static void main(String[] args) {
Scanner imeskanera = new Scanner(System.in);
ArrayList<String> wordlist = new ArrayList <String>();
while(true) {
System.out.println("Type a word: ");
String word = imeskanera.nextLine();
int lenght =wordlist.size();
if(word.equals("")) {
for(int i = 0;i<lenght; i++) {
System.out.println(wordlist.get(lenght-i));}
break;
}
wordlist.add(word);
}
}
}
我试图以相反的顺序打印出数组,但在(lenght-i) 部分出现错误,对我来说一切都很好,是不是我做错了 Java 不允许的事情?
【问题讨论】:
-
当
i为零时,lenght-i等于lenght,太大了。最后一个允许的索引是lenght-1。所以lenght - 1 - i会更有意义。 -
你也可以反转一个for循环,在你的情况下,头部看起来像
for (int i = length-1; i >= 0; i--)