2013-11-28 3 views
-1

Я новичок в Java, и я изо всех сил, чтобы получить эту работу, в основном я хотел бы знать, как я манипулировать переменными в многомерном массиве:Манипулирование переменные в массиве

Я знаю, что я должен делать это в списке, но я не знаю, как

// some codes here defining input of week and measurementsperweek 

for (int week = 1; week <= 1; week++) 
    { 
     for (int measurement = 1; 
       measurement <= measurementsperweek; measurent++) 
      System.out.print(t[week][measurent] + " "); 
     System.out.println(); 

Эта часть показывает мне измерения на 1-й неделе: так, если бы я имел измерения 5, 45, 67 на этой неделе он будет печатать для меня. Как мне сделать, чтобы манипулировать этими измерениями, чтобы я мог, например, показать наивысший/самый низкий или просто среднее значение?

+0

Ваш внешний цикл будет контур * точно * и * всегда * один раз (т. Е. Вы можете удалить его или, скорее, это неправильно). Кроме того, вы, по-видимому, не скомпилировали этот код - есть опечатки. – Paul

+0

Двухмерные массивы состоят из одного массива. Сначала вам нужно перебирать двумерный массив, чтобы получить один размерный массив, и в итерации, когда вы получаете один размерный массив, перебираете его или получаете или устанавливаете значение, которое хотите просто например – Deepak

+1

Кроме того, вы намеренно игнорируете первое (нулевое) значение в вложенных массивах? Общий, идиоматический цикл выглядит следующим образом: 'for (int i = 0; i Paul

ответ

2

Это довольно просто, просто вызовите индекс позиции и установить его на то, что вы хотите

t[week][measurement] = variable change. 
0

Как я понимаю, вы пытаетесь итерацию двухмерного массива говорят т [неделю] [измерения], где неделя обозначает значение недели, а измерение относится к различным измерениям на этой неделе. Для такого рода требований я предлагаю вам перейти на HashMap<Week_Value,List<Measurement_Value>> вместо two dimensional array. Сохраняя значения в хэш-карте, вы можете получить список измерений за определенную неделю и получить наивысший/самый низкий/средний измерение любой недели и т. Д.

+0

@ Raphel вопрос очень трудно понять – Keerthivasan

0

Вам понадобится хотя бы одна другая переменная, и некоторая логика на самой внутренней петле.

Для среднего, например, вам нужно посетить каждый элемент массива и добавить каждое значение, сохранив результат в другой переменной. Когда вы закончите, вы разделите это на количество значений.

Для наивысшего/самого низкого значения вы сравниваете каждое значение с предыдущим наивысшим или самым низким значением, заменяя самое высокое/низкое значение, если новое больше или меньше. Затем, когда вы вышли из цикла, у вас самый высокий или самый низкий.

Смежные вопросы