【发布时间】:2016-08-12 16:05:29
【问题描述】:
我想知道如何在 java 中检查输入类型?
- 如果我输入 23 它应该说“输入是整数类型”
- 如果是 3.0 则“输入为浮点型”
- 如果 Suman 则“输入为字符串类型”等。
【问题讨论】:
-
你有什么问题?
-
你必须暴力破解它:|
-
该程序的唯一目标是打印提供的任何输入的数据类型..
标签: java
我想知道如何在 java 中检查输入类型?
【问题讨论】:
标签: java
使用 regex 模式 和内置 Pattern 类:
import java.util.Scanner;
import java.util.regex.Pattern;
public class TestClass {
public static void main(String[] args)
{
Scanner scanner = new Scanner(System.in);
String input = scanner.nextLine();
boolean containsDigit = Pattern.compile("[0-9]").matcher(input).find();
boolean containsNonDigitNonPeriod =
Pattern.compile("[!--/:-~]").matcher(input).find();
int numberOfPeriods = input.replaceAll("[^.]", "").length();
if (containsDigit && !containsNonDigitNonPeriod)
{
if (numberOfPeriods > 1)
System.out.println("A string has been input.");
else if (numberOfPeriods == 1)
System.out.println("A float has been input.");
else
System.out.println("An integer has been input.");
}
else
System.out.println("A string has been input.");
scanner.close();
}
}
【讨论】: