黑马程序员技术交流社区

标题: 编写程序接受一个ASCⅡ码(从0到128的整数) [打印本页]

作者: 葛迅    时间: 2013-3-27 20:38
标题: 编写程序接受一个ASCⅡ码(从0到128的整数)
本帖最后由 葛迅 于 2013-3-27 21:30 编辑

(求ASCⅡ码对应的字符)编写程序接受一个ASCⅡ码(从0到128的整数),然后显示它所代表的
的字符。例如,如果用户输入的是97,程序显示的是字符a.

请各位大神指教 一点思路没有。           


此问题已经解决 谢谢大家
作者: 曹玉龙    时间: 2013-3-27 20:48
本帖最后由 曹玉龙 于 2013-3-27 21:00 编辑

这个,转换下就可以了
  1. //编写程序接受一个ASCⅡ码(从0到128的整数),然后显示它所代表的
  2. //的字符。例如,如果用户输入的是97,程序显示的是字符a.
  3. class Demo
  4. {
  5.         public static void main(String[] args)
  6.         {
  7.                 System.out.println((char)(97));

  8.         }
  9.         
  10. }
复制代码
还可以从键盘输入,扩展一下:
  1. import java.util.Scanner;
  2. //用键盘输入并打印到控制台,有些符号是显示不出来的
  3. public class Demo
  4. {
  5.         public static void main(String[] args)
  6.         {
  7.                 Scanner can = new Scanner(System.in);
  8.                 int a = can.nextInt();
  9.                
  10.                 if (a>=0&&a<=128)
  11.                         System.out.println((char)a);
  12.                 else
  13.                         System.out.println("输入错误,请输入0到128之间的整数");
  14.         }
  15. }
复制代码

作者: 王俊杰    时间: 2013-3-27 20:52
我觉得一种比较简单的思路:

首先,接受的输入是int类型的,而要求输出的是char型

于是自然想到“类型转换”的相关知识。如果想不到这点的话,再多巩固一下知识点,明确一下大的知识框架。

类型转换的一种最常见方法是(type)variable的形式。是强制转换。

如果输入一个int类型的a,那么可以用(char)a来表示它代表的字符。

写一个简单的方法如下:
  1. public static char toChar(int a) {
  2.                 //返回a所代表的字符
  3.                 return (char)a;
  4.         }
复制代码
祝共同进步!
作者: 胡帅冰    时间: 2013-3-27 21:12
本帖最后由 胡帅冰 于 2013-3-27 21:16 编辑
  1. import java.util.*;

  2. /*
  3.    需求: 编写程序接受一个ASCⅡ码(从0到128的整数),然后显示它所代表的
  4.                     的字符。例如,如果用户输入的是97,程序显示的是字符a.
  5. */

  6. public class Change {
  7.    public static void main(String args[])
  8.    {
  9.            Scanner sc= new Scanner(System.in);   //使用Scanner 接收输入的数字
  10.             System.out.print("请输入0~128之间的整数:");
  11.               while(true) //循环接收  然后转换
  12.               {
  13.                      
  14.                       int Accept=Integer.parseInt((String)sc.next());  //转换接收的数据位int型
  15.                       if(Accept>=0&&Accept<=128)  //判断输入的是否为0~128
  16.                       {
  17.                               // 将int型的转变为char型的便可以了。输出
  18.                              System.out.println("转变之后的字符为:"+(char) Accept);
  19.                           System.out.print("请输入0~128之间的整数:");
  20.                       }
  21.                       else
  22.                       {
  23.                               //输入错误 提示。
  24.                               System.out.print("输入错误,请输入0~128之间的整数:");
  25.                       }
  26.                  
  27.               }
  28.    }
  29. }
复制代码
只要将输入的int型的数据转变为char型的便可以了,就能够显示出ASCⅡ码所代表的字符。
作者: 葛迅    时间: 2013-3-27 21:16
王俊杰 发表于 2013-3-27 20:52
我觉得一种比较简单的思路:

首先,接受的输入是int类型的,而要求输出的是char型

哥们 你这我写的貌似不太对 我无法运行。
作者: 葛迅    时间: 2013-3-27 21:16
王俊杰 发表于 2013-3-27 20:52
我觉得一种比较简单的思路:

首先,接受的输入是int类型的,而要求输出的是char型

哥们 你这写的貌似不太对 我无法运行。
作者: 王俊杰    时间: 2013-3-27 21:19
葛迅 发表于 2013-3-27 21:16
哥们 你这写的貌似不太对 我无法运行。

应该可以的啊。

在主方法里调用就可以了啊
作者: 葛迅    时间: 2013-3-27 21:22
曹玉龙 发表于 2013-3-27 20:48
这个,转换下就可以了还可以从键盘输入,扩展一下:

谢谢哥们 不过你这个程序显示的这个错误
Exception in thread "main" java.lang.Error: Unresolved compilation problem:

        at 程序练习.ClassFirst.main(ClassFirst.java:5)

作者: 葛迅    时间: 2013-3-27 21:28
胡帅冰 发表于 2013-3-27 21:12
只要将输入的int型的数据转变为char型的便可以了,就能够显示出ASCⅡ码所代表的字符。 ...

这个可以运行 没想到这么长 这个parseInt我还没学到 超出我的知识范围了 难怪做不出来 谢谢 辛苦了!




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