如何处理ascii码表的最后四个字符

作者&投稿:邸震 (若有异议请与网页底部的电邮联系)
~ 所以就发一下老师布置的题目和自己敲的答案叭。有不足之处还望各位大牛斧正。
题目:使用ASCII码完成,输入指定字母后得到该字母的后四位字母!如果超过字母表,重新轮回。
分析:其实这是一个很简单的题,核心就是对输入的字母先分析,后循环。下面我会提供两种方法解这道题。
第一种:在主方法内完成;

package homework;

import java.util.Scanner;

public class Test {
public static void main(String[] args) {
System.out.println("请输入26英文字母中任意一位:");
Scanner sc=new Scanner(System.in);
char x=sc.next().charAt(0);
if(('a'<=x&x<='z')|('A'<=x&x<='Z')){
System.out.println("该字母后四位是:");
for(int i=0;i<4;i++){
if(('a'<=x&x<='z')|('A'<=x&x<='Z')){
if(('a'<=x&x<='y')|('A'<=x&x<='Y')){
x=(char)(x+1);
System.out.print(x+"\t");
}
else{
x=(char)(x-25);
System.out.print(x+"\t");
}
}
}
}
else{
System.out.println("您的输入不合法!!!");
}
}
}

登录后复制

第二种是:

package homework;
import java.util.Scanner;
public class TurnIt {
public static void main(String[] args) {
System.out.println("请输入26英文字母中任意一位:");
Scanner sc=new Scanner(System.in);
String s=sc.next();
char x=s.charAt(0);
TurnIt t=new TurnIt();
char[] y=t.changeChar(x);
if(y!=null){
System.out.println("该字母后四位是:");
for(int i=0;i<4;i++){
System.out.print(y[i]+" ");
}
}
else{
System.out.println("您的输入不合法!!!");
}
}
public char[] changeChar(char x){
char[]y = new char[4];
if(('a'<=x&x<='z')|('A'<=x&x<='Z')){
for(int i=0;i<4;i++){
if(('a'<=x&x<='z')|('A'<=x&x<='Z')){
if(('a'<=x&x<='y')|('A'<=x&x<='Y')){
x=(char)(x+1);
y[i]=x;
}
else{
x=(char)(x-25);
y[i]=x;
}
}
}
return y;
}
return null;
}
}

登录后复制

当然,这些代码是有一定缺陷的,比如当我键盘输入kg,但char x;中x取的是k。也就是说它不会在这里报错。其实,如果想改进也很简单,就是通过String中length方法加上if方法判断它的输入位数,超过1位就报错。
但,做人要低调,要给新来的老师面子要给人留条路

运行图:
`
java
自动售货机投放,利润高好项目,无需店面,轻松当老板!
精选推荐
广告


超出ASCII码的如何处理,比如ASCII码为305
ASCII码 为1字节编码,最大值是 0xff, 超出1字节的,高位丢失。例如:char x=305; \/\/ 16进制 0x131 高位丢失,等于 0x131 & 0xff 剩 下 0x31 char x=305;printf("%c %c",x,x & 0xff); \/\/ 打印出来一样,都是字符 1 中日韩语言编码需用双字节编码。不能用ASCII编码,这...

如何处理ascii码表的最后四个字符
题目:使用ASCII码完成,输入指定字母后得到该字母的后四位字母!如果超过字母表,重新轮回。分析:其实这是一个很简单的题,核心就是对输入的字母先分析,后循环。下面我会提供两种方法解这道题。第一种:在主方法内完成;package homework;import java.util.Scanner;public class Test { public static ...

把两个字符给c1,c2,要求输出c1,c2的值为ASCII码,应如何处理?c1,c2...
只要输出时按整数输出就可以得到ascii值。void main(){ int c1='A';char c2='C';printf("%d %d\\n", c1,c2 );}

ascii码名词解释
例如,大写字母'A'在ASCII码中对应的是二进制序列1000001,而小写字母'a'对应的是1100001。ASCII码的重要性在于它为计算机中的文本处理提供了一个统一的基础。它使得不同类型的计算机和通信系统能够交换和处理文本信息。在文本文件中,每个字符都是以ASCII码的形式存储的,这使得文件可以跨平台和语言传输。...

国际通用的ascii码
在ASCII码中,数字的编码范围是30H~39H,其中H表示这是一个十六进制数。字母的编码范围是41H~5AH表示大写字母A~Z,61H~7AH表示小写字母a~z。除此之外,ASCII码还包含了一些控制字符,例如空格、回车、换行、制表符等。在输入文本时,计算机将输入的字符转换成对应的ASCII码进行存储和处理。输出文本时...

要求输出c1和c2值的ASCII码,要怎么处理
printf("%d,%d",c1,c2);

大家好,我想问一下ascii码是存储在计算机哪里?是在操作系统中就安装好...
2、ascii码本身不需要储存,需要储存的只是代码和字模的对应表 3、键盘和鼠标均是基本的硬件,可以说是最低层的设备,它内部会有CPU处理这些信号,把按键信息处理成主机可识别的二进制数据,然后送给主机,主机收到这些信息时会触发中断,中断信号会传递给CPU,CPU在允许的情况下就会接收这些数据,这是...

C语言,字符串中,溢出字符(ASCII码=27)怎样处理?
我在win7和ubuntu上用你的代码跑的时候,"^["都是被当做两个字符处理的。然后在win7和ubuntu上测试了,"^[“应该是指输入时按”Ctrl+[“表示输入27号字符。win7:ubuntu:然后,把sprintf改成sprintf(s, "%s%c", p, 27);win7:ubuntu:最后,我并不知道ESC有什么卵用.....

vb asc是什么意思?
使用vb asc函数,我们可以将字符串或字符数组中的每个字符都转换成对应的ASCII码值,并进行一些处理,之后还可以使用vb chr函数将ASCII码值转换回字符。例如,我们可以通过vb asc函数获取用户输入的键盘字符的ASCII码值,然后根据不同的ASCII码值来进行不同的操作。这在编写文本处理、字符串比较、网络通信...

ASCII码和字符转换
  ASCII 码是 7 位编码,它的二进制取值范围为 0000000~1111111,对应于十六进制就是 00h~7Fh。下表列出了其中 32 个字符及相应的十六进制编码(完整对应关系可以查看: ASCII_百度百科 (baidu.com) )。  有了这种编码方式,我们就可以将字符串转换成 ASCII 码。

延津县15228357642: [C语言]求输入任意字符串,然后该字符串中每个字符ASCII码加4,最后输出 -
阴怜亚洁: #include <stdio.h> int main() {int i=0; char str[129]; //str最多容纳128个字符.129=128+1个空字符(即'\0') scanf("%s",str); //输入字符串到str中,回车确认 while (str[i++]!='\0') //遍历str中的每个字符,遇'\0'时停止 str[i]+=4; //对于每个字符,ASCII码加4 printf("%s",str); //输出str return 0; }

延津县15228357642: 编写程序,任意输入一个字符,输出它在ascii码表中的前一个字符和后一个字符 -
阴怜亚洁: char chr;scanf("%c",&chr);printf("Previous=%c,",chr-1);printf("Current=%c,",chr);printf("Next=%c.",chr+1);

延津县15228357642: 超出ASCII码的如何处理,比如ASCII码为305 -
阴怜亚洁: ASCII码 为1字节编码,最大值是 0xff, 超出1字节的,高位丢失.例如:char x=305; // 16进制 0x131 高位丢失,等于 0x131 & 0xff 剩 下 0x31 char x=305; printf("%c %c",x,x & 0xff); // 打印出来一样,都是字符 1 中日韩语言编码需用双字节编码.不能用ASCII编码,这是题外的话.

延津县15228357642: ASC码的运用 -
阴怜亚洁: 国信息交换标准码 (ASCII) 标准的单字节字符编码方案,用于基于文本的数据.ASCII 码使用指定的 7 位或 8 位二进制数组合来表示 128 或 256 种可能的字符.标准 ASCII 码使用 7 位二进制数来表示所有的大写和小写字母,数字 0 到 9、标点...

延津县15228357642: 如何输出ASCII码值对应的字符 如数学除号 -
阴怜亚洁: 查到相应符号的ASCII码,比如@是64,将这个数字赋值给字符型变量,并按照字符类型输出:char c=64; printf("%c\n",c); ASCII中一般不包含数学除号,可以在汉字的扩展字符中查找÷

延津县15228357642: ASCII码表怎么看怎么用? -
阴怜亚洁: 它由左到右分十进制,八进制和十六进制,分别对应计算机语言的字符.详细解释: ASCII码表第36行 36 44 24H $ 其中36是十进制,44是八进制( 也就是十进制的36),24H是十六进制(也就是十进制的36),$是它对应的计算机中的符号. ...

延津县15228357642: ASCII码在计算机中如何对字符进行编码?? -
阴怜亚洁: 因为1位二进制数可以表示(2=)2种状态:0、1;而2位二进制数可以表示(2=)4种状态:00、01、10、11;依次类推,7位二进制数可以表示(2=)128种状态,每种状态都唯一地编为一个7位的二进制码,对应一个字符(或控制码),这些...

延津县15228357642: 完善程序,从键盘输入字符,若是数字字符,则轮换成数字后显示出来 -
阴怜亚洁: 接收的字符都是ASCII码,0~9就是十进制的48~57,具体参见ASCII码表 然后你要显示对应的数字只需要将这个数字减去48就可以了. if(c>'0'&&c<'9')c=c-48;

延津县15228357642: 汇编语言编写显示ASCII码,最后出现问号 -
阴怜亚洁: 程序正确.(仅仅是第二行有点错,应该写成两行.)功能是显示256个符号.前128个是基本的ASCII码,可以正确显示.后128个是扩展的ASCII码,能否正确显示,这要看你的操作系统...

延津县15228357642: 字符型和整数的问题 -
阴怜亚洁: 因为在ASCII码表中,'A'的ASCII码值是65 printf("%c",a); 只是输出a的ASCII的的字符表示 而printf("%d",a); 则输出a的ASCII码值 ps:若有不明白的地方,可追问

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网