A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© demown 中级黑马   /  2014-4-22 19:48  /  1097 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

class io
{
  public static void main(String[] args)
{      
char a='你',b,c,d,e;
b='在';
c='哪';
d='里';
e='啊';
System.out.print(a+b+c+d+e);
}
}
打印结果是 123528
帮忙解析一下

6 个回复

倒序浏览
字符相加 那就得运算 ,运算 字符就自动查表 对应的值进行相加了
你要得到汉字 那就得字符串         System.out.print(""+a + b + c + d + e);
回复 使用道具 举报
+运算符不能对char类型的数据进行操作,但可以对String类型的数据进行操作,a+b+c+d+e实际上是将abcde转型成int 在做整数的加法运算,调用的是Print(int i)函数

QQ截图20140422200231.png (15.29 KB, 下载次数: 38)

QQ截图20140422200231.png

评分

参与人数 1技术分 +1 收起 理由
何伟超 + 1

查看全部评分

回复 使用道具 举报
yanzhendong 发表于 2014-4-22 20:02
+运算符不能对char类型的数据进行操作,但可以对String类型的数据进行操作,a+b+c+d+e实际上是将abcde转型 ...

那我要打印 应该如何打印呢 求解
回复 使用道具 举报
在输出语句加上字符串就可以。如:
System.out.print( " " + a + b + c + d + e);
回复 使用道具 举报
你这样写只能打印出对应汉字的ASCII码,因为输出的a+b+c+d+e的类型是字符串类型了,而定义的是字符类型,所以是这个结果,若是想得到汉字字符串的结果,可以把abcdeq全部定义成String类型的,这样结果就会是“你在哪里啊”。。
回复 使用道具 举报
楼上说的都对的,但是你一定要想用个方法的话,也可以试试我的这个,结果能达到你要的,就是麻烦点!
  1. public class Iotest
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 char a = '你', b, c, d, e;
  6.                 b = '在';
  7.                 c = '哪';
  8.                 d = '里';
  9.                 e = '啊';

  10.                 String str2 = String.valueOf(a);
  11.                 System.out.print(str2+b+c+d+e);
  12.         }
  13. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
何伟超 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马