Java 如何从输入中读取一系列数字并将其存储到数组中?

Java 如何从输入中读取一系列数字并将其存储到数组中?,java,arrays,Java,Arrays,所以我整天都在做这个作业,但我仍然不知道如何写一个方法来读取一行数字并将它们保存到数组中。这是我尝试过的,但不起作用 public static int [] readData() throws java.io.IOException { int [] rArray = new int[15]; InputStreamReader isr = new InputStreamReader(System.in); BufferedReader br =

所以我整天都在做这个作业,但我仍然不知道如何写一个方法来读取一行数字并将它们保存到数组中。这是我尝试过的,但不起作用

public static int [] readData()

    throws java.io.IOException
    {

    int [] rArray = new int[15];

    InputStreamReader isr = new InputStreamReader(System.in);
    BufferedReader br = new BufferedReader(isr);

    String data = br.readLine();
    StringTokenizer str = new StringTokenizer(data);

    String d = str.nextToken();
    int num = Integer.parseInt(d);

    for(int i = 0; i < num; i++){
    rArray[i] = num;
    }


    return rArray;

}
publicstatic int[]readData()
抛出java.io.IOException
{
int[]rArray=新int[15];
InputStreamReader isr=新的InputStreamReader(System.in);
BufferedReader br=新的BufferedReader(isr);
字符串数据=br.readLine();
StringTokenizer str=新的StringTokenizer(数据);
字符串d=str.nextToken();
int num=Integer.parseInt(d);
for(int i=0;i
既然这是家庭作业。。。这里有一个(大)提示


查看您的代码,找出一行输入调用了多少次
parseInt
。你能得到“一次”的答案吗?如果没有,请再次阅读代码

既然这是家庭作业。。。这里有一个(大)提示


查看您的代码,找出一行输入调用了多少次
parseInt
。你能得到“一次”的答案吗?如果没有,请再次阅读代码

您使用nextToken()只能获得一个托克。但还有更多的代币。因此,您需要迭代并接受它。但请确保它不会进入ArrayIndexOutOfBounds,因为您只声明了15个整数的数组。请按以下方式更改代码

int index = 0;
while(str.hasMoreTokens()){
String d = str.nextToken();
    int num = Integer.parseInt(d);
    rArray[index] = num;
    inde++;
}

您使用nextToken()只获得一个托克。但还有更多的代币。因此,您需要迭代并接受它。但请确保它不会进入ArrayIndexOutOfBounds,因为您只声明了15个整数的数组。请按以下方式更改代码

int index = 0;
while(str.hasMoreTokens()){
String d = str.nextToken();
    int num = Integer.parseInt(d);
    rArray[index] = num;
    inde++;
}

您可以知道标记器的
nextToken
方法在生成异常和构建数组之前可以被调用的次数

StringTokenizer str = new StringTokenizer(data);
int[] rArray = new int[str.countTokens()];

祝你好运

您可以知道标记器的
nextToken
方法在生成异常和构建数组之前可以被调用的次数

StringTokenizer str = new StringTokenizer(data);
int[] rArray = new int[str.countTokens()];

祝你好运

你可以使用
字符串数组
Split()
方法与
readLine()

你可以使用
字符串数组
Split()
方法与
readLine()

@raddykish实现它-我们不为学生做基本的编程作业。我们会给他们一些有用的提示,让他们自己弄明白。学生通过做自己的家庭作业来学习是符合他们最大利益的。@raddykish-我们不为他们做学生的基本编程家庭作业。我们会给他们一些有用的提示,让他们自己弄明白。学生通过自己做作业来学习最符合他们的利益。因此,我需要通过parseInt 15次0。你需要在每行调用
parseInt
到15次(取决于每行实际有多少个数字)。但这并不意味着您需要15个单独的call语句。因此,我需要将parseInt传递15次0。您需要在每行调用
parseInt
到15次(取决于每行上实际有多少个数字)。但这并不意味着你需要15份单独的通话声明。