我该如何替换这个输入?

时间:2014-12-09 19:49:35

标签: java stdin

我在使用这个Java输入时遇到了一些麻烦:

public class Testinput {
    public static void main(String[] args) {
        int N = StdIn.readInt();
        String[] name = new String[N];
        int[] year = new int[N];
        for (int i = 0; i < name.length; i++) {
            name[i] = StdIn.readString();
            for (int j = 0; j < name.length; j++) {
                year[j] = StdIn.readInt();
            }
        }
        for (int i = 0; i < name.length; i++ ) {
            System.out.println(name[i]+" " +year[i]);
        }
    }
}

例如:它需要以交替的顺序读取名称和年龄:

2
bob
1963
kelly
1981

并打印:

bob 1963
kelly 1961

但是它要求输入长度为6(而不是2 * N = 4)并输出:

input1 input5
input4 input6

你们能帮助我吗?

1 个答案:

答案 0 :(得分:0)

您是否来自C背景,您习惯使用Char-array?在Java中,它非常简单。您可以通过String输入。

Scanner scn = new Scanner(System.in); //Create a scanner object

int n = scn.nextInt();           //Enter number of people you want to prompt and record
String[] name = new String[n];   //Create array of size based on n
int[] year = new int[n];         //Create array of size based on n

for(int x=0; x<n; x++){
    name[x] = scn.nextLine();    //for string inputs
    year[x] = scn.nextInt();     //for whole number
}

这将为您提供输入的替代方案。 我遇到的大多数大学和学校教他们的学生使用Scanner接收用户输入。因此,如果您被允许,也可以使用它。