java中两个制表符放在前面怎么结果显示为18?

classZuoYe3{publicstaticvoidmain(String[]args){System.out.println('\t'+"*"+'\t'+'\t'+... class ZuoYe3
{
public static void main(String[] args)
{
System.out.println('\t'+"*"+'\t'+'\t'+'\t'+'\t'+'\t'+'\t'+'\t'+"*"+'\t');
System.out.println("*"+'\t'+'\t'+"*"+'\t'+"I LOVE YOU"+'\t'+"*"+'\t'+'\t'+"*");
System.out.println('\t'+"*"+'\t'+'\t'+'\t'+'\t'+'\t'+'\t'+'\t'+"*");
System.out.println('\t'+'\t'+"*"+'\t'+'\t'+'\t'+'\t'+'\t'+'\t'+"*"+'\t'+'\t');
System.out.println('\t'+'\t'+'\t'+"*"+'\t'+'\t'+'\t'+'\t'+"*"+'\t'+'\t');
}
}

结果为什么会这样?
展开
 我来答
Moon时光happy
2015-07-03 · TA获得超过342个赞
知道答主
回答量:98
采纳率:0%
帮助的人:79.3万
展开全部
这是由于你使用了字符型,Java将'\t'当成了它对应的Unicode值:9,然后两个'\t'也就是2个9相加不会连在一起,会变成数字,所以出现了这种情况。要避免它,直接把开头出现的所有制表符都换成字符串"\t"即可。(只要开头的即可,因为后面出现的Java会自动把它转换为字符串参与连接运算)
匿名用户
2015-07-03
展开全部
java 中的字符串要使用双引号
单引号内的是char类型数据
而直接打印char类型数据就会得到字符的ANSI编码值,也就是数字了
把你代码里的'\t'换成"\t"就解决了
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
11无敌队长
2015-07-03 · TA获得超过167个赞
知道小有建树答主
回答量:380
采纳率:50%
帮助的人:72.7万
展开全部
System.out.println(" *");你可以这样写。。。因为用\t的话。用上两个以上在行首就会出现数字
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2015-07-03
展开全部
把'\t'改成"\t"
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式