2017-01-21 6 views
0

Я пытаюсь прочитать ввод в своем коде, но по какой-то причине я не могу представить значения.Java не может прочитать ввод

Если вход является int, когда я ввожу целое число, ничего не происходит. Я просто продолжаю нажимать. Мне нужно упомянуть, что я использую Intellij Community Edition 2017.1 EAP.

Вот код:

import java.util.Scanner; 

/** 
* Created by David on 21/01/2017. 
*/ 
public class Main { 

    public static void main(String[] args) { 
     int num; 

     Scanner in = new Scanner(System.in); 
     System.out.println("Enter a num: "); 

     num = in.nextInt(); 

     System.out.print(num); 
    } 
} 

Выход:

Enter a num: 
5 
6 
3 
aasd 
1335 

Что здесь проблема?

+0

Возможный дубликат [Как я могу читать ввод из консоли с помощью класса Scanner в Java?] (Http://stackoverflow.com/questions/11871520/how-can-i-read-input-from -the-console-using-the-scanner-class-in-java) –

ответ

0

В настоящее время вы ожидаете только целых чисел от пользователя, используя in.nextInt(). То, что вам нужно сделать, это использовать in.nextLine(), а затем проанализировать входные данные на основе того, что это вместо того, чтобы предполагать, что это Integer.

public static void main(String[] args) { 
    String input = "nothing..."; 

    Scanner in = new Scanner(System.in); 
    //take in input until you type "exit" 
    while(!input.equals("exit")) 
    { 
     System.out.println("Enter a num: "); 
     input = in.nextLine(); 
     System.out.println(input); //use println() not print 
    } 
} 
+0

Я уже пробовал это. Это не работает. –

+0

это работает, что именно вы хотите, чтобы делать, когда вы вводите что-то другое, чем целое? –

+0

Я знаю, что это работает, но когда я ввожу целое число, ничего не происходит. Он должен печатать целое число в новой строке. –

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

  • Нет связанных вопросов^_^