更改ListArray中的自定义数字[String]

时间:2018-03-28 11:52:24

标签: java arrays arraylist

我有一个包含数字的ArrayList,用空格和结束符分隔,基本上用正则表达式:\ d +

List<String[]> list = new ArrayList<>();

用户输入2个数字:行(行)的1个数字和列的第二个数字(索引)。 所以,如果有3行

  

1111 2222 33333

     

4444444 42345234 32424

     

23 453435 3452345 2435234

并且用户键入0然后键入2他将获得数字

  

33333

输入在这里完成:

        int[] i= new int[2];
        System.out.print("Enter a line for the number:");
        i[0] = s.nextInt();
        System.out.print("Enter the index of the number in that line:");
        i[1] = s.nextInt();

我尝试做的是获取用户插入的号码并将其替换为其他号码。 我有这个:

String[] firstLine = list.get(i[0]); //Contains the whole row(line)
int index= i[1]; //Need to make this connect to firstLine. Make it a column(index)

所以,这将获得第一行,然后根据用户的指示得到该行的索引,对吧?

现在我尝试使用.set替换号码:

list.set(i[0][index], randomNum);

总结我的问题。我该怎么做:

list.set(HERE, randomNum);

使list.set能够识别我试图改变的位置?

我希望你理解这一点,并会帮助我。谢谢,祝你有个愉快的一天。

1 个答案:

答案 0 :(得分:2)

i是一维数组,因此您无法编写i[0][index]

由于您已将引用添加到第一行(数组),因此您只需执行

firstLine[index] = randomNum; //Assuming randomNum is a String

编辑:由于您已经修改了第一行,因此无需进行设置。如果你这样做,它看起来像

list.set(i[0], firstLine);

其中,

i [0] 是行号和

firstLine是值(数组)