我创建了一个数组int []array = new int[10];
并没有在其中加入任何元素。
之后我尝试使用以下方式显示数组:
for (int counter = 0; counter < array.length; counter++) {
System.out.print(array[counter] + " ");
}
输出只是:0 0 0 0 0 0 0 0 0
我只想要空格。当我使用char
空格' '
提交数组并输出数组时,我得到32 32 32 32 32 32 32 32 32
任何帮助?
答案 0 :(得分:3)
int
是基元,其默认值为0.当您尝试将char
(另一个基元)存储为int
时,空格= 32。
答案 1 :(得分:1)
通过将数组声明为int[]
,您告诉编译器您希望将数组的内容视为整数。数字。然后你不能期望它处理非数字的东西,比如空格字符。如果要将字符存储在数组中,则应将其声明为char[]
。
即使您将数组声明为char[]
,默认情况下它也不会包含空格。你仍然需要明确地放置空格。
答案 2 :(得分:0)
int的默认值已经是0.你不需要初始化它为0.但是如果你想要空格你应该创建一个char数组并将每个元素初始化为''。
实施例
char[] myArray = new char[10]
for(int i = 0; i < myArray.length; i++)
{ myArray[i] = ' '; }
答案 3 :(得分:0)
如果您想在数组中包含字符,则应使用char[]
而不是int[]
。但是,你需要用空格初始化它,默认初始化将0放入数组元素。
答案 4 :(得分:0)
正常的Java行为。如果您不提供初始化程序或设置数组的内容,它们将被初始化为0.
这听起来像你想要的
int[] array = new int[]{' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '};
或
int[] array = new int[]{32,32,32,32,32,32,32,32,32,32};