Подтвердить что ты не робот

Получение ввода клавиатуры

Как получить простой ввод с клавиатуры (целое число) от пользователя в консоли на Java? Я выполнил это с помощью материала java.io.*, но он говорит, что он устарел.

Как мне это сделать сейчас?

4b9b3361

Ответ 1

Вы можете использовать Scanner класс

Импортировать сначала:

import java.util.Scanner;

Затем вы используете вот так.

Scanner keyboard = new Scanner(System.in);
System.out.println("enter an integer");
int myint = keyboard.nextInt();

Боковое примечание: если вы используете nextInt() с nextLine(), возможно, у вас может быть некоторая проблема. nextInt() не читает последний символ новой строки ввода и поэтому nextLine(), тогда он не будет выполнен с желаемым поведение. Подробнее о том, как его решить в предыдущем вопросе, Пропустить nextLine, используя nextInt.

Ответ 2

Вы можете использовать класс сканера следующим образом:

  import java.util.Scanner;

public class Main{
    public static void main(String args[]){

    Scanner scan= new Scanner(System.in);

    //For string

    String text= scan.nextLine();

    System.out.println(text);

    //for int

    int num= scan.nextInt();

    System.out.println(num);
    }
}

Ответ 3

Вы также можете сделать это с помощью BufferedReader, если вы хотите проверить ввод пользователя, например:

import java.io.BufferedReader;
import java.io.InputStreamReader; 
class Areas {
    public static void main(String args[]){
        float PI = 3.1416f;
        int r=0;
        String rad; //We're going to read all user text into a String and we try to convert it later
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); //Here you declare your BufferedReader object and instance it.
        System.out.println("Radius?");
        try{
            rad = br.readLine(); //We read from user input
            r = Integer.parseInt(rad); //We validate if "rad" is an integer (if so we skip catch call and continue on the next line, otherwise, we go to it (catch call))
            System.out.println("Circle area is: " + PI*r*r + " Perimeter: " +PI*2*r); //If all was right, we print this
        }
        catch(Exception e){
            System.out.println("Write an integer number"); //This is what user will see if he/she write other thing that is not an integer
            Areas a = new Areas(); //We call this class again, so user can try it again
           //You can also print exception in case you want to see it as follows:
           // e.printStackTrace();
        }
    }
}

Поскольку класс сканера не позволит вам это сделать, или не так просто...

И чтобы проверить, что вы используете вызовы "try-catch".

Ответ 4

Вы можете использовать Scanner для получения следующей строки и делать все, что вам нужно, с введенной строкой. Вы также можете использовать JOptionPane для вызова диалогового окна с запросом на ввод.

Пример сканера:

Scanner input = new Scanner(System.in);
System.out.print("Enter something > ");
String inputString = input.nextLine();
System.out.print("You entered : ");
System.out.println(inputString);

Пример JOptionPane:

String input = JOptionPane.showInputDialog(null,
     "Enter some text:");
JOptionPane.showMessageDialog(null,"You entered "+ input);

Вам понадобится импорт:

import java.util.Scanner;
import javax.swing.JOptionPane;

Полный класс Java из вышеперечисленного

import java.util.Scanner;
import javax.swing.JOptionPane;
public class GetInputs{
    public static void main(String args[]){
        //Scanner example
        Scanner input = new Scanner(System.in);
        System.out.print("Enter something > ");
        String inputString = input.nextLine();
        System.out.print("You entered : ");
        System.out.println(inputString);

        //JOptionPane example
        String input = JOptionPane.showInputDialog(null,
        "Enter some text:");
        JOptionPane.showMessageDialog(null,"You entered "+ input);
    }
}

Ответ 5

Импорт: import java.util.Scanner;

Определите свои переменные: String name; int age;

Определите свой сканер: Scanner scan = new Scanner(System.in);

Если вы хотите ввести:

  • Текст: name = scan.nextLine();
  • Целое число: age = scan.nextInt();

Закройте сканер, если он больше не нужен: scan.close();

Ответ 6

import java.util.Scanner; //import the framework


Scanner input = new Scanner(System.in); //opens a scanner, keyboard
System.out.print("Enter a number: "); //prompt the user
int myInt = input.nextInt(); //store the input from the user

Сообщите мне, если у вас есть вопросы. Очень понятно. Я прокомментировал код, чтобы вы могли его прочитать.:)

Ответ 7

Добавить строку:

import java.util.Scanner;

Затем создайте объект класса Scanner:

Scanner s = new Scanner(System.in);

Теперь вы можете позвонить в любое время:

int a = Integer.parseInt(s.nextLine());

Это сохранит значение integer с клавиатуры.

Ответ 8

Если у вас есть Java 6 (вы должны иметь, btw) или выше, просто выполните это:

 Console console = System.console();
 String str = console.readLine("Please enter the xxxx : ");

Пожалуйста, не забудьте сделать:

 import java.io.Console;

Вот оно!

Ответ 9

Вы можете использовать класс Scanner

Чтение с клавиатуры (стандартный ввод) Вы можете использовать Scanner - это класс в пакете java.util.

Пакет Scanner, используемый для получения ввода примитивных типов, таких как int, double и т.д. И strings. Это самый простой способ прочитать ввод в программе Java, хотя и не очень эффективный.

  1. Чтобы создать object класса Scanner, мы обычно передаем предопределенный объект System.in, который представляет стандартный поток ввода (Keyboard).

Например, этот код позволяет пользователю читать номер из System.in:

Scanner sc = new Scanner(System.in);
     int i = sc.nextInt();

Некоторые общедоступные методы в классе Scanner.

  • hasNext() Возвращает true, если этот сканер имеет другой токен на своем входе.
  • nextInt() Сканирует следующий токен ввода как int.
  • nextFloat() Сканирует следующий токен ввода как плавающий.
  • nextLine() этот сканер за текущей строкой и возвращает вход, который был пропущен.
  • nextDouble() Сканирует следующий токен ввода как двойной.
  • close() Закрывает этот сканер.

Дополнительные сведения об общедоступных методах в классе Scanner.

Exaple: -

import java.util.Scanner;                      //importing class

class ScannerTest {
  public static void main(String args[]) {
    Scanner sc = new Scanner(System.in);       // Scanner object

    System.out.println("Enter your rollno");
    int rollno = sc.nextInt();
    System.out.println("Enter your name");
    String name = sc.next();
    System.out.println("Enter your fee");
    double fee = sc.nextDouble();
    System.out.println("Rollno:" + rollno + " name:" + name + " fee:" + fee);
    sc.close();                              // closing object
  }
}