Heim  >  Artikel  >  Java  >  Wie akzeptiere ich Benutzereingaben in Java?

Wie akzeptiere ich Benutzereingaben in Java?

王林
王林nach vorne
2023-09-08 14:21:031473Durchsuche

Wie akzeptiere ich Benutzereingaben in Java?

Eingabe und Ausgabe sind die beiden wichtigsten Grundaspekte jeder Programmiersprache. Tastatur und Bildschirm sind die Grundgeräte für die Eingabe bzw. Ausgabe. Benutzereingaben sind sehr wichtig, um eine Anwendung interaktiv zu gestalten. Durch das Sammeln von Eingaben kann ein Java-Programm seine Ausgabe anpassen, bestimmte Vorgänge ausführen oder seine Funktionalität anpassen, um den Anforderungen verschiedener Benutzer gerecht zu werden. Verschiedene Java-Pakete enthalten andere Klassen, um Eingaben vom Benutzer zu erhalten. In diesem Artikel wird erläutert, wie Sie Benutzereingaben mithilfe von Java erhalten.

So erhalten Sie Benutzereingaben in Java

In Java-Programmen gibt es drei Möglichkeiten, Eingaben vom Benutzer zu erhalten. Sie sind wie folgt:

    Verwendung der Scanner-Klasse Verwendung der BufferedReader-Klasse Verwendung der Console-Klasse

Scanner-Klasse

Scanner-Klasse wird verwendet, um Benutzereingaben in Java zu erhalten. Dies ist eine der gebräuchlichsten und einfachsten Möglichkeiten, Benutzereingaben zu erhalten. Es ist Teil des java.util-Pakets. Wir können die Scanner-Klasse verwenden, um Eingaben von primitiven Typen wie int, char, float, double usw. zu erhalten. Es ist einfacher zu lesen und daher die häufigste Wahl.

Grammatik

Scanner scn=new Scanner(System.in);

Der Import des java.util-Pakets ist für die Verwendung der Scanner-Klasse sehr wichtig. In der obigen Anweisung erstellen wir einen Scanner-Klassenkonstruktor und übergeben dann den Parameter System.in, damit er aus dem Standardeingabestream lesen kann.

Scanner-Klassenmethode

Die Übersetzung von lautet:
nextInt() Wird zum Lesen und Zurückgeben des nächsten ganzzahligen Werts verwendet.
nextFloat() Wird zum Lesen und Zurückgeben des nächsten Gleitkommawerts verwendet
nextDouble() Wird zum Lesen und Zurückgeben des nächsten Double-Werts verwendet.
Nächster() Es wird verwendet, um den Wert des nächsten Wortes zu lesen und als Zeichenfolge zurückzugeben.
nextLine() Es wird verwendet, um den nächsten Mehrwortwert als Zeichenfolge zu lesen und zurückzugeben
nextLong() Es wird verwendet, um den nächsten langen Wert zu lesen und zurückzugeben.
nextShort() Es wird verwendet, um den nächsten kurzen Ganzzahlwert zu lesen und zurückzugeben.
nextByte() Wird zum Lesen und Zurückgeben des nächsten Bytewerts verwendet.
nextBoolean() Es wird verwendet, um den nächsten booleschen Wert zu lesen und zurückzugeben.

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中从用户那里获取输入。根据个人偏好,我们可以使用其中任何一种。

Das obige ist der detaillierte Inhalt vonWie akzeptiere ich Benutzereingaben in Java?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen