2016-10-23 4 views
-2

Я пытаюсь выяснить, как пропустить все элементы 2D-массива. Мне дается двумерный прямоугольный массив символов (someChars). Мне поручено написать оператор цикла, который будет вычислять и печатать число «х» в прямоугольнике.Понимание 2D-массивов в Java

int x; 
for (int r = 0; r < someChars.length; r++) 
for (int c = 0; c < someChars[r].length; c++) 
if(someChars.charAt(r) = "x"){ 
    x++;} 
if(someChar.charAt(c) = "x"){ 
    x++;} 
System.out.println(x); 

У меня возникли проблемы, выяснить, как ссылаться на все переменные в массиве, и я не очень понимаю значение /, где [в квадратных скобках] целые числа должны быть по отношению ко всему этому.

p.s. Я думаю, что совершенно очевидно, что это проблема домашних заданий. Даже если кто-то должен был передать мне ответ, это стоит одного пункта из примерно 700 баллов. Меня гораздо больше интересует понимание того, как это работает, чем разработка для простого ответа.

+0

Часть 1: 2D-массив представляет собой массив массивов, поэтому 'someChars' имеет длину, и каждый элемент' someChars' является, в свою очередь, также массивом с длиной (следовательно, скобкой для 'c') , Часть вторая: Затем ваш код отключается от рельсов, потому что 'someChars' не является' String', вы не можете использовать 'String.charAt' вам нужно' someChars [r] [c] 'который является строкой' r' column 'c' - или один символ. Наконец, 'chars' используют' '' not '' ', и вам нужно два' = 'для равенства (одно задание) - так' == 'x''. –

+0

Большое спасибо, это агрегировало много информации У меня возникли проблемы со сборкой. –

ответ

0

Если вы дали 2d массив символов, то он будет объявлен как:

char[][] someChars; 

Это означает, что ссылки на конкретное значение, как (например) someChars[1][2]. Чтобы проверить, является ли этот символ 'x', тогда выражение будет выглядеть так: someChars[r][c] == 'x'.

Другие предложения:

  • дают ваши переменные разумные имена, как xCount
  • инициализирует переменные, так что ясно, что они int xCount = 0;
  • поставил { и } вокруг блоков следующие for
  • отступа

Надеюсь, это поможет вам начать.

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