2016-08-12 3 views
-4

Я хотел бы знать, как проверить тип ввода в java?Проверка типа ввода в java

  • Если я вход 23 он должен сказать: «Вход является целым числом типа»
  • Если 3.0, то «вход типа с плавающей точкой»
  • Если Суман затем «Вход является тип строки» и т.д.
+0

В чем вопрос? – David

+3

http://stackoverflow.com/questions/5333110/checking-input-type-how –

+0

Вам необходимо выполнить следующие правила: | – Javant

ответ

0

Использование шаблонов регулярных выражений и встроенный 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(); 
    } 
} 
Смежные вопросы