我有一个包含数字的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能够识别我试图改变的位置?
我希望你理解这一点,并会帮助我。谢谢,祝你有个愉快的一天。
答案 0 :(得分:2)
i
是一维数组,因此您无法编写i[0][index]
。
由于您已将引用添加到第一行(数组),因此您只需执行
firstLine[index] = randomNum; //Assuming randomNum is a String
编辑:由于您已经修改了第一行,因此无需进行设置。如果你这样做,它看起来像
list.set(i[0], firstLine);
其中,
i [0] 是行号和
firstLine
是值(数组)