public class yy{
public static void main(String args[]){
int[]a=new int[6];
int i;
for( i=0;i<6;i++){
a[i]=i;
}
for( i=0;i<6;i++){
System.out.println(a[i]+'\n');
}
}
}
调试后的结果是:
10
11
12
13
14
15
不应该是:
0
1
2
3
4
5
吗?

解决方案 »

  1.   

    System.out.println(a[i]+'\n');改为System.out.println(a[i]);
    试试应该是自动匹配类型的问题吧
      

  2.   

    public class yy{
    public static void main(String args[]){
    int[] a=new int[6];
    int i;
    for(i=0;i<a.length;i++){
    a[i]=i;
    System.out.println(a[i]);
    }
    }
    }
      

  3.   

    "\n"被转换成了整数10了!
    楼主这个问题提的不错,可以做成阴险的面试题。hehe
      

  4.   

    System.out.println(a[i]+'\n');改为System.out.println(a[i]+"\n");就能达到你要的效果了
      

  5.   

    public class yy{
    public static void main(String args[]){
    int[]a=new int[6];
    int i;
    for( i=0;i<6;i++){
    a[i]=i;
    }
    for( i=0;i<6;i++){
    System.out.println(a[i]+"\n");
    }
    }
    }把'\n' 改为"\n"
      

  6.   

    这个题目真的不得了,一般人确实看不出来,
    竟然会用char和int相加,而不是输出字符串的格式,
    并且这么巧'\n'的值正好是10,所以出现的结果让人莫名奇妙。
      

  7.   

    public class Exam {
    public static void main(String args[])
    { int i;
    int []a = new int [6]; 
    for(i=0;i<6;++i){
    a[i]=i;
    System.out.println(a[i]);
    }
    }
    }
    这样不就行了吗?为什么还要加换行符啊?println不是已经换行了吗?
      

  8.   

    我记得在C语言中'\0'来代表换行的呵呵其实这里的错误是'\n'生成的是一个代码数字。大家可以去查一下代码表,相应的数字应该是9。。
    在表达式 a[i]+'\n'中,程序会做成一个加法运算。而不是将两个string合在一起。
    呵呵。。
      

  9.   

    public class yy{
    public static void main(String args[]){
    int[]a=new int[6];
    int i;
    for( i=0;i<6;i++){
    a[i]=i;
    }
    for( i=0;i<6;i++){
    System.out.println(a[i]+'\n');//把这里的'\n'改成"\n"就可以达到预期的效果
    }
    }
    }
      

  10.   

    这个问题是我在编写一个简单程序时碰到的,我是刚开始接触java ,对出现的这个问题实在搞不明白,就到这里问一下,没想到会有大的响应,难道大家以前没碰到过类似的问题吗?我想听一下各位是怎样学习java的,想借用各位的经验。
      

  11.   

    while(not dead){
       看书;
       写代码;
       发现问题;
       解决问题(看书,网上搜索,向他人请教 注意顺序哦);
    }