2016-05-26 5 views
-1

Я хотел бы спросить что-то о классе Scanner, которое, как мне кажется, не получается.Java: Класс сканера

Если мы используем методы сканера, например hasNextInt(), почему мы проверяем это, прежде чем даже заставляем его принимать данные? Вот пример:

import java.util.Scanner; 
public class ScannerClass{ 
     public static void main(String[] args){ 

      Scanner scan = new Scanner(System.in); 
      System.out.print("Type a string: "); 
      if(scan.hasNextInt()) 
       System.out.println("A string is required"); 
      String string = scan.nextLine(); 
     } 
} 

Как это работает?

+2

Что говорит [javadoc для 'hasNextInt'] (https://docs.oracle.com/javase/7/docs/api/java/util/Scanner.html#hasNextInt%28%29)? –

+0

Нельзя сказать, что люди могут опросить этот вопрос у пользователя ... В классе Scanner много вопросов. Почему бы просто не помочь пользователю? Не все являются экспертами. –

+0

@AlvinBunk Слайд-шоу показывает: «Этот вопрос не показывает никаких исследований **, он неясен или не полезен». – tnw

ответ

0

В вашем примере кода, который вы указали, вы проверяете «hasNextInt()», но в своем приглашении вы попросили «String». Вместо этого вы захотите проверить «hasNextLine()», который проверяет возврат каретки.

Не существует метода hasNextString(), но вы можете использовать «hasNext (String pattern)» для проверки определенного шаблона.

Я предлагаю прочитать API docs и познакомиться с ними. Я не знаю, используете ли вы Java 1.8, но эти домены являются последними. Надеюсь, это вам поможет. Если нет, задайте больше вопросов.

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