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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 liqiong0327 于 2012-10-22 19:15 编辑
  1. import java.util.*;
  2. public class Permutation {
  3.          public static void main(String[] args) {
  4.       Scanner console = new Scanner(System.in);
  5.      System.out.print("Enter  a string:");   
  6.     String a = console.next();
  7.     char b = a.charAt(0);
  8.      char c = a.charAt(1);
  9.     char d = a.charAt(2);
  10.    System.out.println(b+c+d);   
  11. }
  12. }
复制代码
为什么我运行后,输入的字母会变成数字出来。这是什么原因呢?

评分

参与人数 1技术分 +1 收起 理由
谭立文 + 1 赞一个!

查看全部评分

4 个回复

倒序浏览
  1. import java.util.*;
  2. public class ScannerTest {
  3. public static void main(String[] args) {
  4.   Scanner console = new Scanner(System.in);
  5.   System.out.print("Enter  a string:");
  6.   String a = console.next();
  7.   char b = (char)a.charAt(0);
  8.   char c = a.charAt(1);
  9.   char d = a.charAt(2);
  10.   System.out.println(b+""+c+d);
  11. }
  12. }
复制代码
好吧,自己动手丰衣足食哟~~~~~
回复 使用道具 举报
OK !虽然,你搞定了,但我觉得还是补充下解释比较好,原代码最后段为System.out.println(b+c+d);    这里的“+”默认为整型运算符,由于有“+”存在,在这里你输入的字符char便被默认为int类型,自动转码ASCII,所以输出的是数字。而当你加上""后,“+”便默认为连接符,输出的便是由输入字符组成的字符串了

评分

参与人数 1技术分 +1 收起 理由
谭立文 + 1 神马都是浮云

查看全部评分

回复 使用道具 举报
  1. public class Test {
  2.         public static void main(String[] args){
  3.               Scanner console = new Scanner(System.in);

  4.               System.out.print("Enter  a string:");   

  5.              String a = console.next();

  6.              char b = a.charAt(0);
  7.              //System.out.println(b);
  8.              char c = a.charAt(1);

  9.              char d = a.charAt(2);
  10.              System.out.println(a);
  11.             System.out.println(b+c+d);
  12.             
  13.         }
  14. }
复制代码
因为你把它挨个弄成char类型的了,而在你输出的时候,因为+号,默认把三个字母的ASCII值加在一起了,比如说输入abc,结果就是294  97+98+99
至于你为什么加个a+" "+b+c,那是因为" "把他们提升成String类型(提升这词不知道用的合适不合适,大概就这个意思)。
回复 使用道具 举报
byte short char在运算时会自动提升为int类型

评分

参与人数 1技术分 +1 收起 理由
谭立文 + 1 神马都是浮云

查看全部评分

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