将多个输入读取到阵列中的一个位置

时间:2015-01-11 09:01:24

标签: java arrays java.util.scanner

我当前正在研究一个问题,其中我需要为数组中的每个位置提取多个输入。

大小为7所以我需要为每个位置取值大于1,如下所示

2 3

3 1

1 2 4 5

3

3 2

7

6 0

请在下面找到我的程序:我尝试的方法但是徒劳无功。

public static void main(String[] args) {
    int b1, x=0;
    Scanner in = new Scanner(System.in);
    System.out.println("enter no. of members in a team: ");
    b1 = in.nextInt();
    int[] arr = new int[b1];
    System.out.println("enter the members of the team");
    for (int i=0; i<b1;i++) {
        arr[i] = in.nextInt();
    }

请帮助这些家伙。感谢。

1 个答案:

答案 0 :(得分:1)

java中有一个名为split的字符串函数可以帮助你。

String[] temparr = "5 7 12 8".split(" ");

这将创建一个值为

的数组
temparr[0] = "5";
temparr[1] = "7";

a.s.o。

然后你可以在整数上用valueof翻译它们。

int[][] arr = new int[x][];
arr[1] = new int[arr.length];
int i = 0;
for(String s : arr) {
   arr[1][i] = Integer.valueof(s);
   i++;
}

如果您不知道输入的数量,那么您可以使用对象的ArrayList。

 public class Team {
    public int teamsize;
    public int[] team_members;
 }

 List<Team> teamList = new ArrayList<Team>();

 Team t = new Team();
 t.teamsize = …
 t.team_members = new int[];
 t.team_members[0] = …
 teamList.add(t);