黑马程序员技术交流社区

标题: 这个写法为什么错? [打印本页]

作者: 赵方明    时间: 2012-5-19 16:01
标题: 这个写法为什么错?
这是毕老师的
System.out.println("arr["+x+"]="+arr[x]+";");
我自己打代码的时候写成了下面这样,我改过来了,但是不知道下面这个错的原因
System.out.println("arr+[+"x"+]+="+arr[x]+";");


作者: 8161776    时间: 2012-5-19 16:03
System.out.println("arr+[+"x"+]+="+arr[x]+";");
肯定是错误的,"arr+[+"x"+]+="这一段你看看
+是连接符,你都放到引号里面了,没有起到连接符的作用,直接输出出来了,把2个连接符拿到引号外面就可以了,


作者: 李文富    时间: 2012-5-19 16:08
我来分析下你的错误
System.out.println("arr+[+"x"+]+="+arr[x]+";");
""配对"arr+[+"    x    "+]+="  +arr[x]+     ";"
x的两边没有+号就直接和字符串相连接。所以出错啦
作者: 黄奕豪    时间: 2012-5-19 16:09
兄弟,你拆开来看看:
1、一个字符串:"arr+[+"
2、变量:x
3、第二个字符串:"+]+="
这个1和2和3都分别是字符串,你最起码加上个连接符+吧!!错就在这里!!!加上之后打印出来的结果是:arr+[+(x的值)+]+=(arr[x]的值);括号内为变量的值,你这打印的效果还真的是奇特~~~
作者: 宗士为    时间: 2012-5-19 16:09
System.out.println("arr["+x+"]="+arr[x]+";");  这个是Ok的
首先说下这个打印
System.out.println();这个括号里要是字符串   而且字符串要用加号连接
我把这个进行拆分"arr["+x+"]="+arr[x]+";"
拆分后  "arr["     +x+     "]="      +arr[x]+       ";"
System.out.println("arr+[+"x"+]+="+arr[x]+";");
再把这括号拆分
"arr+[+"     x      "+]+="     +arr[x]+      " ;"
这个字符串可以不看  
这样就可以看见红色的X是没有用加号连接的 所以错误
作者: 韩国军    时间: 2012-5-19 16:14
System.out.println("arr["+x+"]="+arr[x]+";");

"arr["+x+"]="这个因为x用“+”连接了

System.out.println("arr+[+"x"+]+="+arr[x]+";");

"arr+[+"x"+]+="而这个中点的X没有用“+”进行连接,所以会报错

改成这样就不会出错了

System.out.println("arr+[+"+x+"+]+="+arr[x]+";");在X的两边用“+”连接
作者: 余宏    时间: 2012-5-19 16:16
拆开来分析一下你就明白了:
System.out.println(
"arr+[+"//这里是输出一个字符串 arr+[+
x//这里是输出你的变量值
"+]+=" //这里也是输出一个字符串+]+=
+//连接符
arr[x]//这里是输出arr[x]当前的值
";"//输出一个 ;
);







欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2