2014-10-23 2 views
1

Я пытаюсь пересечь строку массива 2 d со следующим кодом. Проблема заключается в следующем столбце, а не в следующем элементе в строке, и когда я пытаюсь поместить столбец за пределы цикла, он извлекает 2 элемента из-за внутреннего цикла строки. Есть ли более простой способ сделать это?2d массив в java для перемещения строки

Это мой первый пост, и я попытался найти решение, но не нашел его. Любая помощь будет оценена. ТИА.

for (int rowCount = 1; rowCount < data.length; rowCount++) { 


    for (int colIndex = 0; colIndex < data[rowCount].length; colIndex++) { 

     String data_parameter; 
     data_parameter = data[rowCount][colIndex]; 

    } 

} 

.

LoginID Password Data1 Data2 
login1 mercury test 1 1234 
login2 mercury test2 1234 
+0

«Проблема заключается в следующем столбце вместо следующего элемента в строке» - не «следующий столбец» == «следующий элемент в строке»? – Eran

ответ

0

Просто их переключения он должен работать

for (int colIndex = 0; colIndex < data!=null ? data[0].length : -1 ; colIndex++) { 
    for (int rowCount = 1; rowCount < data.length; rowCount++) { 
     String data_parameter = data[rowCount][colIndex]; 
    } 
} 

EDIT:

r-> строка & c-> колонки

элементы:

R1C1 r1c2 r1c3
r2c1 R2C2 r2c3
r3c1 r3c2 r3c3

Код:

public static void main(String[] args) { 
    String [][] val = {{"r1c1", "r1c2", "r1c3"}, 
      {"r2c1", "r2c2", "r2c3"}, 
      {"r3c1", "r3c2", "r3c3"}}; 
    for(int row =0;row <val.length; row++){ 
     for(int col =0;col <val[0].length; col++){ 
      System.out.print(val[row][col]+" "); 
     } 
     System.out.println(); 
    } 
    System.out.println("**NEXT**"); 
    for(int col =0;col <val[0].length; col++){ 
     for(int row =0;row <val.length; row++){ 
      System.out.print(val[row][col]+" "); 
     } 
     System.out.println(); 
    } 
} 

ВЫВОД:

r1c1 r1c2 r1c3 
r2c1 r2c2 r2c3 
r3c1 r3c2 r3c3 
**NEXT** 
r1c1 r2c1 r3c1 
r1c2 r2c2 r3c2 
r1c3 r2c3 r3c3 

Выберите то, что вы хотите !!! : p;)

+0

Этот код не компилируется. Вы обращаетесь к rowCount, прежде чем объявлять его. – Eran

+0

Должен был поймать, что исправил его. – StackFlowed

+0

Спасибо за быстрый ответ. Я попробовал решение, но я получаю несколько синтаксических ошибок один в выражении «null:», а другой - в -1. Простите мое невежество, но я пытаюсь понять, что означает оператор: на Java. Я знаю о?: Но не: в одиночку. – sac

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