>  기사  >  Java  >  Java에서 사용자 입력을 받아들이는 방법은 무엇입니까?

Java에서 사용자 입력을 받아들이는 방법은 무엇입니까?

王林
王林앞으로
2023-09-08 14:21:031473검색

Java에서 사용자 입력을 받아들이는 방법은 무엇입니까?

입력과 출력은 모든 프로그래밍 언어의 두 가지 주요 기본 측면입니다. 키보드와 화면은 각각 입력과 출력을 위한 기본 장치입니다. 사용자 입력은 애플리케이션을 대화형으로 만드는 데 매우 중요합니다. 입력을 수집함으로써 Java 프로그램은 출력을 사용자 정의하고, 특정 작업을 수행하거나, 다양한 사용자의 요구 사항을 충족하도록 기능을 조정할 수 있습니다. 다양한 Java 패키지에는 사용자로부터 입력을 받기 위한 다른 클래스가 포함되어 있습니다. 이 기사에서는 Java를 사용하여 사용자 입력을 얻는 방법에 대해 설명합니다.

Java에서 사용자 입력을 얻는 방법

Java 프로그램에는 사용자로부터 입력을 받는 세 가지 방법이 있습니다. 그들은 다음과 같습니다 -

    Scanner 클래스 사용 BufferedReader 클래스 사용 콘솔 클래스 사용

스캐너 클래스

Scanner 클래스는 Java에서 사용자 입력을 얻는 데 사용됩니다. 이는 사용자 입력을 얻는 가장 일반적이고 간단한 방법 중 하나입니다. 이는 java.util 패키지의 일부입니다. Scanner 클래스를 사용하여 int, char, float, double 등과 같은 기본 유형의 입력을 얻을 수 있습니다. 읽기가 더 쉬워서 가장 일반적인 선택이 됩니다.

문법

으아악

Scanner 클래스를 사용하려면 java.util 패키지를 가져오는 것이 매우 중요합니다. 위 명령문에서는 Scanner 클래스 생성자를 생성한 다음 System.in 매개변수를 전달하여 표준 입력 스트림에서 읽을 수 있도록 합니다.

스캐너 클래스 방법

의 번역은 다음과 같습니다.
nextInt() 다음 정수 값을 읽고 반환하는 데 사용됩니다.
다음플로트() 다음 부동 소수점 값을 읽고 반환하는 데 사용됩니다
다음더블() 다음 double 값을 읽고 반환하는 데 사용됩니다.
다음() 다음 단어의 값을 문자열로 읽어서 반환하는데 사용됩니다.
다음라인() 다음 여러 단어 값을 문자열로 읽고 반환하는 데 사용됩니다
다음긴() 다음 긴 값을 읽고 반환하는 데 사용됩니다.
다음짧은() 다음 짧은 정수 값을 읽고 반환하는 데 사용됩니다.
다음바이트() 다음 바이트 값을 읽고 반환하는 데 사용됩니다.
다음부울() 다음 부울 값을 읽고 반환하는 데 사용됩니다.

Example

的中文翻译为:

示例

以下是使用 Java 中的 Scanner 类获取用户输入的示例。

//import the java.util package
import java.util.*;
 
public class Main {
   public static void main(String args[])
   {
      // to take the input, use the Scanner Class
      Scanner scn = new Scanner(System.in);
        
      System.out.println("Enter your roll no");
      int roll_no = scn.nextInt(); //integer input
        
      System.out.println("Enter your name");
      String name= scn.next(); //String input
        
      System.out.println("Enter your marks");
      double marks = scn.nextDouble(); //double input
     System.out.println("Your roll no is- " + roll_no+" your name is- "+name+" and 
marks- "+marks);
   }
}

输出

以下是上述代码的输出 

Enter your roll no
1
Enter your name
Sita
Enter your marks
99
Your roll no is- 1 your name is- Sita and marks- 99.0

Explanation

的中文翻译为:

解释

在上面的代码中,我们在Java中创建了一个Scanner类。我们以int、String和double的形式获取了三个不同的用户输入。获取输入后,我们将它们打印出来

Scanner类的优点

  • 易于实施。

  • 简单的方法。

Scanner类的缺点

  • 速度较慢。

  • 它不是同步的,因此不适合多线程。

BufferedReader 类

BufferedReader是Java中另一个用于从用户获取输入的类。它在JDK 1.0中引入,并且是从用户获取输入的基本方法。它位于java.io包中。

语法

BufferedReader br= new BufferedReader(new InputStreamReader(System.in));

这意味着我们创建了一个BufferedReader对象。InputStreamReader类用于将输入的字节流转换为BufferedReader可以理解的字符流。System.in是标准输入,默认为键盘。

readLine()方法用于读取一行并将其存储为字符串。如果字符串需要转换为其他数据类型,必须显式进行类型转换。

Example

的中文翻译为:

示例

以下是使用 Java 中的 BufferedReader 类获取用户输入的示例。

//import the java.io package
import java.io.*;
 
public class Main {
   public static void main(String args[]) throws IOException
   {
      // to take the input, use the BufferedReader Class
      BufferedReader br= new BufferedReader(new InputStreamReader(System.in));
      
      System.out.println("Enter your roll no");
      int roll_no = Integer.parseInt(br.readLine()); //integer input
      
      System.out.println("Enter your name");
      String name= br.readLine(); //String input
      
      System.out.println("Enter your marks");
      double marks = Double.parseDouble(br.readLine()); //double input
      
      System.out.println("Your roll no is- " + roll_no+" your name is- "+name+" and marks- "+marks);
   }
}

输出

以下是上述代码的输出 -

Enter your roll no
1
Enter your name
Sita
Enter your marks
94
Your roll no is- 1 your name is- Sita and marks- 94.0

Explanation

的中文翻译为:

解释

创建了一个名为"br"的BufferedReader对象。它使用InputStreamReader类从用户那里获取输入,该类将输入的字节转换为字符。我们已经从用户那里获取了输入,但它的默认值是一个字符串。然后将其强制转换为所需的数据类型

BufferedReader类的优点

  • 更快的性能

  • 可以与多个线程一起使用。

BufferedReader类的缺点

  • 只能接受字符串输入。稍后必须将它们转换为所需的数据类型。

  • 可能需要导入多个库才能使用 BufferedReader 类。

控制台类

使用 Console 类是通过命令行获取用户输入的另一种方法。这是在 JDK 1.5 中引入的,并且存在于 java.io 包中。 Console 类对于从控制台读取密码非常有用。此外,与其他方法相比,它的实例化很简单。 java.io.Console 库对于 Console 类至关重要。

语法

Console c = System.console();

Example

的中文翻译为:

示例

以下是使用 Java 中的 Console 类获取用户输入的示例。

//import the java.io package
import java.io.*;
 
public class Main {
   public static void main(String args[]) throws IOException
   {
      System.out.println("Enter your roll no");
      int roll_no = Integer.parseInt(System.console().readLine()); //integer input
      
      System.out.println("Enter your name");
      String name = System.console().readLine();
      
      System.out.println("Enter your marks");
      double marks = Double.parseDouble(System.console().readLine()); //double input
      
      System.out.println("Your roll no is- " + roll_no+" your name is- "+name+" and marks- "+marks);
   }
}

输出

以下是上述代码的输出 -

Enter your roll no
1
Enter your name
Sita
Enter your marks
96
Your roll no is- 1 your name is- Sita and marks- 96.0

Explanation

的中文翻译为:

解释

在上面的代码中,我们直接使用System.console()函数读取了用户输入。

Console类的优点

    我们可以安全地输入密码,因为在输入过程中密码是不可见的
  • 这个类使用了同步方法

BufferedReader类的缺点

  • 不能在像IDE这样的环境中使用,其中所有输入不是一次性给出的。

因此,我们了解了如何在Java中从用户那里获取输入。根据个人偏好,我们可以使用其中任何一种。

위 내용은 Java에서 사용자 입력을 받아들이는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 tutorialspoint.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제