判断输入的类型是 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");
}
}
}