java 中如何判断输入的是int还是double?

2024年11月15日 23:25
有2个网友回答
网友(1):

你可以用一个字符串来保存你的输入,然后你可以将输入利用String类库中的函数进行转换,或者利用contains()函数看,是否还有小数点。

System.out.println("please input the ten strings:");

Scanner sc = new Scanner(System.in);

String number = sc.nextLine();

if(number.contains(".")){

//说明是一个小数

double d = Double.valueOf(s);

}

else{

//

int i = Integer.valueOf(s);

}

Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。

Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。

网友(2):

用正则表达式吧,代码如下:
import java.io.BufferedReader;
import java.io.InputStreamReader;

public class MatcherTest {
private static final String ISINTEGER="^[1-9][0-9]+$";
private static final String ISDOUBLE="^[1-9][0-9]+[.][0-9]+[1-9]$";
public static void main(String[] args)throws Exception {
BufferedReader input=new BufferedReader(new InputStreamReader(System.in));
String s=input.readLine();
if(s.matches(ISINTEGER))System.out.println("是整数");
else if(s.matches(ISDOUBLE))System.out.println("是小数");
else System.out.println("输入不合法");
}
}