文章目录
题目描述
给你三个ASCII字符(不含空白字符:包括空格、制表符\t、回车换行符\n),找出其中最大的那个
输入包含三个字符,之间有一个空格隔开。输出ASCII码最大的那个字符,占一行。注意对输入序列中空格的处理,空格也是合法的字符
问题分析
需要做以下几步
- 从输入字符串中提取比较的字符
- 将字符转化成ascii数字进行比较
- 最大值再转化成字符输出
当然学过集合的同学也可以用集合比较,或许更快
代码实现
import java.util.Scanner;
public class Main { //这题更适合用集合去做,
public static int count(int a1,int a2){ //比较两个数最大值,输出较大的一个
if (a1>a2)
return a1;
else return a2;
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String a = sc.nextLine();
String b1 = a.substring(0, 1); //提取指定位置的字符
String b2 = a.substring(2, 3); //
String b3 = a.substring(4, 5);
char c1=b1.charAt(0); //先转换成char型
char c2=b2.charAt(0);
char c3=b3.charAt(0);
int b11 = Integer.valueOf(c1); // 把b1转化为int类型
int b22 = Integer.valueOf(c2);
int b33 = Integer.valueOf(c3);
int c11=count(b11,b22);
int c22=count(b22,b33);
System.out.println((char)(count(c11,c22))); //最后再强制类型转换成char型
}
}
运行结果![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/8947ae1c1d028ce9a897643467c2ca79.png#pic_center)
网上参考
String b1 = a.substring(0, 1); //提取指定位置的字符
结语
水平有限,如有错误,还望大神指正;(^_−)☆