使用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位就报错。
但,做人要低调,要给新来的老师面子要给人留条路
在这里插入图片描述
运行图:
在这里插入图片描述`在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值