首頁 > Java > java教程 > 主體

Java使用者輸入

WBOY
發布: 2024-08-30 16:06:42
原創
641 人瀏覽過

在Java程式中,我們可以透過3種方式在命令列環境下讀取使用者的輸入來取得使用者輸入,Java BufferedReader類別、Java Scanner類別和Console類別。讓我們詳細討論一下課程。我們使用 Scanner 類別來取得使用者輸入。程式要求使用者輸入一個整數、一個字串和浮點數,然後將其列印在顯示器上。 java.util 中存在掃描器類,因此我們可以將此套件新增到我們的軟體中。首先,我們建立一個 Scanner 類別物件並使用 Scanner 類別方法。

Java 使用者輸入的 3 種方式

可以透過三種方式讀取使用者輸入:

廣告 該類別中的熱門課程 JAVA 掌握 - 專業化 | 78 課程系列 | 15 次模擬測驗

開始您的免費軟體開發課程

網頁開發、程式語言、軟體測試及其他

  1. Java BufferedReader 類別
  2. Java 掃描器類別
  3. 使用控制台類別

這三個類別在下面提到;讓我們詳細討論它們:

1. Java BufferedReader 類別

它擴展了讀者類別。 BufferedReader 從字符輸入流讀取輸入並緩衝字符,以便有效率地讀取所有輸入。預設大小較大,適合緩衝。當使用者發出任何讀取請求時,相應的請求就會傳送給讀取器,讀取器發出字元或位元組流的讀取請求;因此,BufferedReader 類別會包裝在另一個輸入流(例如FileReader 或InputStreamReaders)周圍。

例如:

BufferedReader reader = new BufferedReader(new FileReader("foo.in"));
登入後複製

BufferedReader 可以使用 readLine() 方法逐行讀取資料。

BufferedReader 可以讓程式碼的效能更快。

建構子

BufferedReader 有兩個建構函數,如下:

1。 BufferedReader(Reader reader):用於建立使用輸入緩衝區預設大小的緩衝輸入字元流。

2。 BufferedReader(Reader reader, input size):用於建立緩衝輸入字元流,該流使用為輸入緩衝區提供的大小。

功能
  • int read:用於讀取單一字元。
  • int read(char[] cbuffer, int offset, int length):  用來讀取陣列指定部份的字元。
  • String readLine ():  用於逐行讀取輸入。
  • boolean ready():  用於測試輸入緩衝區是否已準備好讀取。
  • 長跳過:用於跳過字元。
  • void close():它關閉輸入流緩衝區和與此流關聯的系統資源。

當使用者從鍵盤輸入字元時,它會被裝置緩衝區讀取,然後從 System.in 傳遞到緩衝讀取器或輸入流讀取器並儲存在輸入緩衝區中。

代碼:

import java.util.*;
import java.lang.*;
import java.io.*;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
/*package whatever //do not write package name here */
class BufferedReaderDemo {
public static void main (String[] args) throws NumberFormatException, IOException {
System.out.println("Enter your number");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int t = Integer.parseInt(br.readLine());
System.out.println("Number you entered is: " + t);
System.out.println("Enter your string");
String s  = br.readLine();
System.out.println("String you entered is: " + s);
}
}
登入後複製

輸出:

Java使用者輸入

從InputStreamReader和BufferedReader讀取的程式:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class BufferedReaderDemo {
public static void main(String args[]) throws IOException{
InputStreamReader reader = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(reader);
System.out.println("What is your name?");
String name=br.readLine();
System.out.println("Welcome "+name);
}
}
登入後複製

輸出:

Java使用者輸入

2. Java 掃描器類別

java.util。 Scanner 類別是用於從鍵盤讀取使用者輸入的類別之一。它可以在 util 包中找到。掃描器類別使用預設主要是空格的分隔符號來中斷使用者輸入。掃描器有很多方法可以讀取許多基本類型的控制台輸入,例如 double、int、float、long、Boolean、short、byte 等。這是 java 中獲取輸入的最簡單的方法。 Scanner 類別實作 Iterator 和 Closeable 介面。掃描器提供了 nextInt() 和許多原始類型方法來讀取原始類型的輸入。 next() 方法用於字串輸入。

Constructors
  • Scanner(File source): It constructs a scanner to read from a specified file.
  • Scanner(File source, String charsetName):  It constructs a scanner to read from a specified file.
  • Scanner(InputStream source), Scanner(InputStream source, String charsetName): It constructs a scanner to read from a specified input stream.
  • Scanner(0Readable source):  It constructs a scanner to read from a specified readable source.
  • Scanner(String source):  It constructs a scanner to read from a specified string source.
  • Scanner(ReadableByteChannel source): It constructs a scanner to read from a specified channel source.
  • Scanner(ReadableByteChannel source, String charsetName): It constructs a scanner to read from a specified channel source.
Functions

Below are mentioned the method to scan the primitive types from console input through Scanner class.

  • nextInt(),
  • nextFloat(),
  • nectDouble(),
  • nextLong(),
  • nextShort(),
  • nextBoolean(),
  • nextDouble(),
  • nextByte(),

Program to read from Scanner Class:

Using scanner class.
import java.util.Scanner;
/*package whatever //do not write package name here */
class ScannerDemo {
public static void main (String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("Enter your number");
int t = sc.nextInt();
System.out.println("Number you entered is: " + t);
System.out.println("Enter your string");
String s  = sc.next();
System.out.println("String you entered is: " + s);
}
}
登入後複製

Output:

Java使用者輸入

3. Using console Class

Using the console class to read the input from the command-line interface. It does not work on IDE.

Code:

public class Main
{
public static void main(String[] args)
{
// Using Console to input data from user
System.out.println("Enter your data");
String name = System.console().readLine();
System.out.println("You entered: "+name);
}
}
登入後複製

Output:

Java使用者輸入

以上是Java使用者輸入的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板