蓝桥算法训练 相邻字母 JAVA

【问题描述】
  从键盘输入一个英文字母,要求按字母的顺序打印出3个相邻的字母,指定的字母在中间。若指定的字母为Z,则打印YZA,若为A则打印ZAB。注意:需要区分大小写。

【输入格式】
  一行,仅包含一个英文字母。

【输出格式】
  一行,包含三个字母。

【样例输入1】
  a

【样例输出1】
  zab

【样例输入2】
  B

【样例输出2】
  ABC
思路:惊不惊喜,吓人不,一看这个题懵了,就这String转char研究了一个多小时没弄明白,亏了朋友帮忙-.-#!!要是对代码中的65,90,97,122不理解的先看完ASCII码,再来看代码就会明白了…

import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		char c = scanner.next().charAt(0);    //就这一行代码,心态反复爆炸!!
		int lat = (int) c;                    //上面的char强转int
		if ((65 < lat && 90 > lat) || (97 < lat && 122 > lat)) {
			System.out.println("" + (char) (lat - 1) + (char) lat
					+ (char) (lat + 1));
		} else if (lat == 97) {
			System.out.println("zab");
		} else if (lat == 65) {
			System.out.println("ZAB");
		} else if (lat == 90) {
			System.out.println("YZA");
		} else if (lat == 122) {
			System.out.println("yza");
		}
	}

}

小剧场:人们很少做他们相信是对的事,他们做比较方便的事,然后后悔!!

发布了108 篇原创文章 · 获赞 113 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_43771695/article/details/104653972