2015-07-11 14 views
0

Я хочу создать массив строк 5 строк 2 столбца и задать пользователю каждое значение в массиве. Я хочу использовать StdIn для ввода. Почему это не будет работать? Пожалуйста помоги! Благодарю.2D-массив с пользовательским вводом

Это мое усилие:

int [][] a = new int [5][2]; 

int i; 
int j; 

for(i = 0; i < 4; i++); 
{ 
    for(j = 0; j < 2; j++); 
    { 
    System.out.println("Month number (e.g. August = 8)"); 
    int month = StdIn.readInt(); 
    a[i][0] = month; 

    System.out.println("Year number (e.g. 2007)");     
    int year = StdIn.readInt(); 
    a[i][1] = year; 

    } 
} 

ответ

2

Вы уже задавать оба значения от пользователя, нет необходимости для вложенного цикла:

int [][] a = new int [5][2]; 
for(int i = 0; i < 5; i++) 
{ 
    System.out.println("Month number (e.g. August = 8)"); 
    int month = StdIn.readInt(); 
    a[i][0] = month; 

    System.out.println("Year number (e.g. 2007)");     
    int year = StdIn.readInt(); 
    a[i][1] = year; 

} 

Я никогда также удалить точку с запятой ; вы после первого цикла, делающего его бесполезным, и зафиксировал итерацию, чтобы добраться до 4 (вы зацикливаете [0..4), и вы, вероятно, захотите [0..5)).

j был удален, так как вложенный цикл не нужен, и я сделал i локальным для цикла for.

+0

Отлично работает! Основными ошибками, которые я пропустил, были ненужные вложенные петли и точки с запятой. Спасибо огромное! –

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