2013-12-28 4 views
0

안녕하세요, 나는이 문제가, 나는 간단한 배열 (더 많은 명시 적으로 : String[][] to String[])에 bidimensional 배열을 전달하려고 해요, 그리고 항상 동일합니다. 그것은 내가 String [] [] []로 변환 할 때 배열의 첫 번째 위치에 null을 표시합니다. 내가 아는 모든 시도했지만 아무것도 배열에 null 공간을 지우려면 작동합니다. 누군가 나를 도울 수 있니? 여기에 코드입니다 :단일 배열로 이진 배열

public class main { 

    public main(){ 

     String[][] str={ 
       {"uno","dos","tres"}, 
       {"unos","dose","trese"}, 
       {"uno","dos","tres"}, 

     }; 

     String[] str2=new String[3] ; 

     for(int i=0;i<3;i++){ 
      for(int j=0;j<3;j++){ 
       str2[i]+=str[i][j]; 

      } 
     } 


     for(int i=0;i<3;i++){ 

       System.out.print(str2[i]); 
       System.out.print("\n"); 
      } 

    } 

    public static void main(String[] args) { 
     new main(); 

    } 

이 내가 얻은 결과입니다

nullunodostres 

nullunosdosetrese 

nullunodostres 

지금 당신이 볼 수있는, 그것은 String[]String[][]를 켜졌지만 항상 첫 번째 위치에 null을 유지한다. 그리고 내가 i=0, 대신 루프 i=1을 시작하려고하면 값의 첫 번째 위치가 사라지지만 null이 계속됩니다.
도와주세요.

답변

2

str2의 값을 초기화하지 않았기 때문에 그 값은 모두 null입니다. 문자열 연결 (+)을 사용하면 값 null이 문자열 "null"으로 변환되어 첫 번째 요소의 값 앞에 놓입니다. 이 시도 :

String[] str2 = new String[3]; 
Arrays.fill(str2, ""); 
0

그것 때문에 처음에 문자열의 배열의 모든 요소는 암시 적으로 명시 적으로 예를 들어 STR2의 [에 null

을 제거하기 위해 할당해야

를 null에 초기화됩니다 0] = "";

관련 문제