2014-01-15 3 views
0

배열을 만들었습니다. int []array = new int[10];0으로 초기화 된 배열

아무 요소도 넣지 않았습니다. 제가 사용하여 어레이를 디스플레이하려고 할 때 후

:

for (int counter = 0; counter < array.length; counter++) { 

    System.out.print(array[counter] + " "); 

} 

출력은이다 0 0 0 0 0 0 0 0 0

I은 ​​단지 공백 원한다. 배열을 char 공백으로 ' ' 배열을 출력하고 배열을 출력하면 배열이 출력됩니다. 32 32 32 32 32 32 32 32 32

어떤 도움이 필요합니까?

+0

'int'의 기본값은 0이기 때문에 읽습니다. http://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html –

+2

공백 문자 *는 유니 코드에서 * 32입니다. –

+0

심지어 ASCII 테이블합니까? – kajacx

답변

3

int는 32

0

int의 기본값은 이미 0입니다. 초기화하지 않아도 0이됩니다.하지만 공백을 원하면 char 배열을 만들고 각 요소를 ''로 초기화해야합니다. 당신이 배열의 문자를 갖고 싶어

char[] myArray = new char[10] 

for(int i = 0; i < myArray.length; i++) 
{ myArray[i] = ' '; } 
0

당신은 int[] 대신 char[]를 사용해야합니다. 그러나 여전히 공백으로 초기화해야하며, 기본 초기화는 0을 배열 요소에 넣습니다.

0

일반 자바 행동 = 당신이 int, 공간으로 char (다른 원시)를 저장하려고 할 때 기본 값은 0입니다 원시적이다. 당신이 초기화를 제공하거나 배열의 내용을 설정하지 않은 경우, 그들은 그것은 당신이 배열을 선언함으로써

int[] array = new int[]{' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '}; 

또는

int[] array = new int[]{32,32,32,32,32,32,32,32,32,32}; 
+1

이것은 컴파일되지 않습니다. –

+0

수정 됨. 고마워, ZouZou. – keshlam

1

를 원처럼 들린다 0

에 초기화됩니다 int[]으로, 배열의 내용을 정수로 처리하도록 컴파일러에 지시합니다. 번호. 그러면 우주 문자와 같은 숫자가 아닌 것을 다루기를 기대합니다. 배열에 문자를 저장하려면 char[]으로 선언해야합니다.

배열을 char[]으로 선언하더라도 기본적으로 공백이 포함되지 않습니다. 공백을 명시 적으로 넣어야합니다.

관련 문제