我试图在字符串数组中输入句子并以相反的顺序显示它们

时间:2016-09-01 21:59:30

标签: java

到目前为止,我已经进行了设置,以便用户可以输入句子数并使用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();
        }
    }
}

1 个答案:

答案 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