2013-10-12 3 views
0

Я ищу способ получить пользовательский ввод. Я нашел два решения; один использует Scanner, а другой использует BufferedReader. И я заметил, что BufferedReader возвращает String.Сохранение ввода как различные типы в Java

Я ищу способ безопасного извлечения информации из пользовательского ввода.

В приведенном ниже примере я хочу сохранить Cname как String, а также оценку и вес как float. Любые предложения о том, как наилучшим образом достичь этого, как их тип? Я знаю, что существует несколько способов, таких как stringToInt или nextInt или даже запись некоторой функции проверки.

BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); 
Cname = br.readLine(); 
System.out.println("Enter your Course grade : "); 
Grade = br.readLine(); 
System.out.println("Enter your Course weight : "); 
Weight = br.readLine(); 

Большое спасибо и извините за мой придирчивый вопрос.

+0

посмотрите на [ 'Float.parseFloat (String s)'] (http://docs.oracle.com/javase/7/docs/ апи/Java/языки/Float.html # parseFloat (java.lang.String)). Существуют аналогичные методы для Integer, Double, Long и т. Д. – Justin

ответ

1

Наиболее распространенный способ получения пользовательского ввода с клавиатуры на Java - это Scanner. Вот как я это сделать:

Scanner scanner = new Scanner(System.in); 

System.out.println("Enter your course name: "); 
String courseName = scanner.nextLine(); 

System.out.println("Enter your course grade: "); 
float courseGrade = scanner.nextFloat(); 

System.out.println("Enter your course weight: "); 
float courseWeight = scanner.nextFloat(); 

scanner.close(); 

И есть конкретная причина для использования float в отличие от double? Если нет, я, вероятно, просто придерживаюсь двойной.

+1

Это помогает, спасибо – SCV

Смежные вопросы