入力と出力は、プログラミング言語の 2 つの主要な基本的な側面です。キーボードとスクリーンは、それぞれ入力と出力のための基本的なデバイスです。アプリケーションをインタラクティブにするためには、ユーザー入力が非常に重要です。入力を収集することで、Java プログラムは出力をカスタマイズしたり、特定の操作を実行したり、さまざまなユーザーのニーズに合わせて機能を調整したりできます。さまざまな Java パッケージには、ユーザーから入力を取得するための他のクラスが含まれています。この記事では、Java を使用してユーザー入力を取得する方法について説明します。
Java でユーザー入力を取得する方法
Java プログラムでは、ユーザーから入力を取得する方法が 3 つあります。それらは次のとおりです-
Scannerクラスの使用
BufferedReader クラスの使用
コンソールクラスの使用
スキャナクラス
Scanner クラスは、Java でユーザー入力を取得するために使用されます。これは、ユーザー入力を取得する最も一般的で最も簡単な方法の 1 つです。これは java.util パッケージの一部です。 Scanner クラスを使用すると、int、char、float、double などのプリミティブ型の入力を取得できます。読みやすいため、最も一般的な選択肢です。
###文法
リーリー
java.util パッケージのインポートは、Scanner クラスを使用する場合に非常に重要です。上記のステートメントでは、Scanner クラスのコンストラクターを作成し、System.in パラメーターを渡して、標準入力ストリームからの読み取りを可能にします。
Scanner クラスのメソッド
nextInt() は次のように変換されます。
| は、次の整数値を読み取って返すために使用されます。
|
nextFloat()
| 次の浮動小数点値を読み取って返すために使用されます
|
nextDouble()
| 次の double 値を読み取って返すために使用されます。
|
###次()###
次の単語の値を文字列として読み取って返すために使用されます。
|
| nextLine()
次の複数の単語の値を文字列として読み取って返すために使用されます
|
| nextLong()
これは、次の長い整数値を読み取って返すために使用されます。
|
| nextShort()
これは、次の短い整数値を読み取って返すために使用されます。
|
| nextByte()
は、次のバイト値を読み取って返すために使用されます。
|
| nextBoolean()
次のブール値を読み取って返すために使用されます。
|
|
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类的缺点
控制台类
使用 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类的缺点
因此,我们了解了如何在Java中从用户那里获取输入。根据个人偏好,我们可以使用其中任何一种。
以上がJava でユーザー入力を受け入れるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。