2017-12-01 1 views
0

사용자는 숫자 (int, float, double) 만 ArrayList에 입력해야합니다. 사용자가 숫자 이외의 값을 입력하면 InputMismatchException 예외가 throw되어야합니다.숫자 만 입력하도록 사용자 제한 (int, float, double)

Number 클래스를 사용하려고 생각했습니다.

Scanner input = new Scanner(System.in); 
ArrayList<Number> number = new ArrayList<Number>(); 
System.out.println("Enter number"); 
(data_type???) number_var = input.??????; 
number.add(number_var); 

이 코드는 입력을 계속할지 여부를 묻는 동안 수행됩니다. 유일한 문제는 입력을 숫자로만 제한하도록 사용자를 제한하는 방법입니다. 이 작업은 다른 클래스를 만들지 않고 수행해야하지만 메소드는 사용자를 제한 할 수 있습니다.

+1

[java.util.Scanner를 사용하여 입력 유효성 검사] 가능한 복제본 (https://stackoverflow.com/questions/3059333/validating-input-using-java-util-scanner) – Tom

답변

0

모든 숫자를 복식으로 허용 할 수 있습니다. INTS와 수레는 seemlesly doulbles로 변환 할 수 있습니다 :

Scanner input = new Scanner(System.in); 
List<Double> number = new ArrayList<Double>(); 
System.out.println("Enter number"); 
number.add(input.nextDouble()); 
0

The docs for Scanner는 당신이 필요로하는 것을 설명한다. 스캐너는 원하는 종류의 숫자로 입력을 읽을 수 있습니다. 입력이 예상 한 것과 일치하지 않으면 InputMismatchException을 throw합니다.

관련 문제