黑马程序员技术交流社区
标题:
数组输出错误
[打印本页]
作者:
张雪磊
时间:
2012-7-7 20:18
标题:
数组输出错误
本帖最后由 张雪磊 于 2012-7-7 22:41 编辑
<blockquote>class ArrayTest
复制代码
运行的结果居然是:4546474849505152535455
这是怎么个情况啊?
作者:
张雪磊
时间:
2012-7-7 20:20
标题:
重发代码
class ArrayTest
{
public static void main(String[] args)
{
int[] arr=new int[]{1,2,3,4,5,6,7,8,9,10,11};
parr(arr);
}
public static void parr(int[] x)
{
for (int i=0;i<x.length ;i++ )
{
System.out.print(x[i]+',');
}
}
}
复制代码
奇怪明明复制进去代码了,为什么就剩下<blockquote>class ArrayTest了???
作者:
张天天
时间:
2012-7-7 20:34
本帖最后由 张天天 于 2012-7-8 08:14 编辑
package test;
class ArrayTest
{
public static void main(String[] args)
{
int[] arr=new int[]{1,2,3,4,5,6,7,8,9,10,11};
parr(arr);
}
public static void parr(int[] x)
{
for (int i=0;i<x.length ;i++ )
{
System.out.print(x
+
","
);
}
}
}
执行结果是
1,2,3,4,5,6,7,8,9,10,11,一定是后面的那个单引号出的问题啊
单引号引的数据 是char类型的 双引号引的数据 是String类型的 单引号只能引一个字符 而双引号可以引0个及其以上 在这里的单引号完全可以换成双引号System.out.print(0+',');输出的结果是44,所以我们结果是45至55
作者:
朱东方
时间:
2012-7-7 20:43
本帖最后由 朱东方 于 2012-7-7 20:50 编辑
class ArrayTest
{
public static void main(String[] args)
{
int[] arr=new int[]{1,2,3,4,5,6,7,8,9,10,11};
parr(arr);
}
public static void parr(int[] x)
{
for (int i=0;i<x.length ;i++ )
{
System.out.print(x[i]+",");//双引号","。。。x[i]+',' 这是求和了,','对应的十进制数是44。结果就变成他俩和了。
}
}
}
复制代码
作者:
曹恒业
时间:
2012-7-7 20:46
3楼说的很对,用单引号就意味着把int型和char型进行加法运算,用双引号才是字符串相连接,问题出在这里。这一点要谨慎。
希望帮到你~~
作者:
梁健生
时间:
2012-7-7 20:47
class ArrayTest
{
public static void main(String[] args)
{
int[] arr=new int[]{1,2,3,4,5,6,7,8,9,10,11};
parr(arr);
}
public static void parr(int[] x)
{
for (int i=0;i<x.length ;i++ )
{
System.out.print(x
+',');
//双引号表示字符串,单引号表示字符!如果想要达到输出正确的数请把单引号换成双引号!!
}
}
}
作者:
朱东方
时间:
2012-7-7 20:51
曹恒业 发表于 2012-7-7 20:46
3楼说的很对,用单引号就意味着把int型和char型进行加法运算,用双引号才是字符串相连接,问题出在这里。这 ...
我试了半天才试出来,这错误一定不能犯。要不很麻烦。
作者:
董深义
时间:
2012-7-7 22:13
public static void parr(int[] x)
{
for (int i=0;i<x.length ;i++ )
{
System.out.print(x+','); //单引号的话是一个具体的字符常量,表达式就会进行加运算,楼主要细心
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2