到目前为止,我已经进行了设置,以便用户可以输入句子数并使用for循环输入到String数组的每个位置。
public class Test5 {
public static String inputline;
public static void main(String[] args) {
System.out.print("Enter the number of lines:");
Scanner kb=new Scanner(System.in);
int number=kb.nextInt();
String []line=new String[number];
for(int i=0;i<line.length+1;i++){
line[i]=kb.next();
}
}
}
答案 0 :(得分:1)
首先,您的代码将比您想要的时间多读取一次,这将导致数组超出范围异常。接下来,您将要执行nextLine()以考虑用户输入的新行字符。试试这个:
System.out.print("Enter the number of lines:");
Scanner kb=new Scanner(System.in);
int number=Integer.parseInt(kb.nextLine());
String []line=new String[number];
//loop through only the size of the array
for(int i=0; i < line.length; i++){
line[i]=kb.nextLine();
}
//now to output the array in reverse order you need to start from the
//other end of the array
for(int i = line.length - 1; i >= 0; i--){
System.out.println(line[i]);
}
//always close the Scanner when done
kb.close();
有关扫描程序的一些有用资源 - https://docs.oracle.com/javase/7/docs/api/java/util/Scanner.html