判断输入的类型是 boolean还是int double 等等 使用正则来判断,还有一种做法就是 hasnextInt 通过输入的判断来确定这个类型

这样是更简单的一种做法。也可以练习一下使用正则。

package src.p5;
import java.lang.*;
import java.util.*;
import java.util.regex.Pattern;

public class Main {
    public static final String CHAR_PATTERN = "[^0-9]";
    public static Pattern pattern = Pattern.compile("[0-9]*(\\.?)[0-9]*");
    //public static final String INT_PATTERN = "^-?[1-9]\d*$";
    //public static final String DOUBLE_PATTERN = "^[-]?[1-9]\d*\.\d*|-0\.\d*[1-9]\d*$";
    public  static void main(String[] args){
        Scanner cin = new Scanner(System.in);
        String str = cin.nextLine();
        String str1[] = str.split(" ");
        for(int i = 0;i < str1.length;i++){
            if(i != 0)
                System.out.print(' ');
            if ("true".equalsIgnoreCase(str1[i]) || "false".equalsIgnoreCase(str1[i])) {
                System.out.print("boolean");
            }
            else if(str1[i].matches("[0-9]+")){
                System.out.print("int");
            }
            else if(pattern.matcher(str1[i]).matches()){
                System.out.print("double");
            }
            else
                System.out.print("String");

        }

    }
}