public class ComparisonOfThreeIntNum {
public static void main(String[] args) {
ComparisonOfThreeIntNum.strView(new Scanner(System.in));
}
public static void strView(Scanner scanner){
System.out.print("请输入三个整数:");
String line = scanner.nextLine();
String maxStr = ComparisonOfThreeIntNum.comparisonStr(line);
System.out.println("最大值"+maxStr);
}
//对于字符串的处理
public static String comparisonStr(String str){
//非数字的正则表达式
String regex = "\\D?";
String val = "";
List<String> list = new ArrayList<>();
String[] split = str.split(regex);
for (int i = 0; i < split.length; i++) {
//split数组的元素为"" 或 0 ,当val 为空时,此时的0 不用拼接到 val
if ("".equals(split[i]) ||("0".equals(split[i])&&"".equals(val))){
//如果此时的val 不为空,说明该下标i前的元素是数字,将该下标为i的前面的数字元素存入list集合
if (!"".equals(val) ){
list.add(val);
//清空val
val = "";
}
}else if (i == split.length-1){ //说明此时下标为i的元素是该数组的最后一个元素,所以将该数字元素存入list集合
val+=split[i];
list.add(val);
//清空val
val = "";
}else { //此时下标为i的数组元素 是数字
val += split[i];
}
}
//创建存放Integer 数据类型的list集合
List<Integer> listInt = new ArrayList();
//遍历list
for (int i = 0; i < list.size(); i++) {
String numStr = list.get(i);
listInt.add(Integer.valueOf(numStr));
}
return ComparisonOfThreeIntNum.comparisonInt(listInt);
}
//整数的比较方法
public static String comparisonInt(List<Integer> list){
Integer temp = list.get(0);
//分析:先取第一个值和 list集合的元素进行比较
// 如果比list取出的元素小,就将该取出的元素赋值给temp
for (int i = 0; i < list.size(); i++) {
if (temp < list.get(i)){
temp = list.get(i);
}
}
return temp.toString();
}
}