У меня есть 2D-массив, к которому я должен добавить определенное значение, но только к одному столбцу 2D-массива. Одна строка 2D-массива должна быть обработана и останется прежней.java: добавление одного значения в один столбец в 2D-массиве
У меня уже есть код (см. Ниже), но это просто добавление значения, а не его вычисление.
Мой код до сих пор:
double lowest = Double.parseDouble(excelMatrix[0][0]);
int row = 0, column = 0;
List usedRow = new ArrayList();
for(int r = 0; r<excelMatrix.length-1; r++){
for(int c = 0; c<excelMatrix[r].length; c++){
double number = Double.parseDouble(excelMatrix[r][c]);
if(lowest > number) {
lowest = number;
row = r;
column = c;
}
}
}
usedRow.add(row);
for(int r = 0; r < excelMatrix.length; r++){
if(r != row)
excelMatrix[r][column] += lowest;
}
Исходная матрица выглядит следующим образом:
{1 , 2 , 3 , 4 , 5}
{5 , 4 , 3 , 2 , 1}
{4 , 5 , 1 , 2 , 3}
{2 , 3 , 4 , 5 , 1}
{3 , 4 , 5 , 1 , 2}
и путем добавления 10 в колонке 3, за исключением строки 3, я хотел бы получить:
{1 , 2 , 3 , 14 , 5}
{5 , 4 , 3 , 12 , 1}
{4 , 5 , 1 , 12 , 3}
{2 , 3 , 4 , 5 , 1}
{3 , 4 , 5 , 11 , 2}
Но на данный момент я получаю:
{1 , 2 , 3 , 410 , 5}
{5 , 4 , 3 , 210 , 1}
{4 , 5 , 1 , 210 , 3}
{2 , 3 , 4 , 5 , 1}
{3 , 4 , 5 , 110 , 2}
Надеюсь, что пример делает мою проблему ясной. Спасибо!
Каким образом вы должны отличаться от результата, который вы получаете в настоящее время? – Eran
@Eran Я только что обновил вопрос. Надеюсь, теперь ясно, в чем моя проблема. Он просто добавляет значение, но не вычисляет его. – boersencrack
@boersencrack похоже, что вы добавляете строки. Как выглядит 'excelMatrix' –