目錄
Example
示例
输出
Explanation
解释
语法
首頁 Java java教程 如何在Java中接受使用者輸入?

如何在Java中接受使用者輸入?

Sep 08, 2023 pm 02:21 PM
scanner類 輸入流(input stream) bufferedreader類別

如何在Java中接受使用者輸入?

輸入和輸出是任何程式語言的兩個主要基本面向。鍵盤和螢幕分別是進行輸入和輸出的基本設備。使用者輸入對於使應用程式具有互動性非常重要。透過收集輸入,Java 程式可以自訂其輸出、執行特定操作或調整其功能以滿足不同使用者的需求。不同的 Java 包包含其他類別來取得使用者的輸入。本文討論如何用 Java 取得使用者的輸入。

在 Java 中取得使用者輸入的方法

在Java程式中,有三種從使用者取得輸入的方式。它們如下所示-

    使用Scanner類 使用BufferedReader類別 使用Console類

Scanner類

Scanner 類別用於在 Java 中取得使用者的輸入。它是獲取用戶輸入的最常用且最簡單的方法之一。它是 java.util 套件的一部分。我們可以使用 Scanner 類別來取得原始類型的輸入,如 int、char、float、double 等。它更容易閱讀,使其成為最常見的選擇。

文法

Scanner scn=new Scanner(System.in);
登入後複製

導入 java.util 套件對於使用 Scanner 類別非常重要。在上面的語句中,我們建立了一個 Scanner 類別建構函數,然後傳遞了 System.in 參數,使其能夠從標準輸入流中讀取。

掃描器類別方法

的翻譯為:
nextInt()用於讀取並傳回下一個整數值。
nextFloat() 用於讀取並傳回下一個浮點值
nextDouble() 用於讀取並傳回下一個雙精度值。
下一個() 它用於讀取並傳回下一個單字的值作為字串。
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类的缺点

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

  • 可能需要导入多个库才能使用 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中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

如何在Java中接受使用者輸入? 如何在Java中接受使用者輸入? Sep 08, 2023 pm 02:21 PM

輸入和輸出是任何程式語言的兩個主要基本面向。鍵盤和螢幕分別是進行輸入和輸出的基本設備。使用者輸入對於使應用程式具有互動性非常重要。透過收集輸入,Java程式可以自訂其輸出、執行特定操作或調整其功能以滿足不同使用者的需求。不同的Java包包含其他類別來取得使用者的輸入。本文討論如何用Java取得使用者的輸入。在Java中取得使用者輸入的方法在Java程式中,有三種從使用者取得輸入的方式。它們如下所示-使用Scanner類別使用BufferedReader類別使用Console類別Scanner類別Scanner類別用於

Java文件解讀:Scanner類別的hasNextInt()方法用法解析 Java文件解讀:Scanner類別的hasNextInt()方法用法解析 Nov 04, 2023 am 08:12 AM

Java文件解讀:Scanner類別的hasNextInt()方法用法解析,需要具體程式碼範例簡介Java中的Scanner類別是一個實用工具,可以用於從輸入流中掃描和解析文字。 Scanner類別提供了多種方法以滿足不同的需求,其中之一就是hasNextInt()方法。此方法用於檢查下一個輸入是否為int類型。方法語法hasNextInt()方法的語法如下:publ

如何使用Scanner類別的hasNextLine()方法檢查使用者輸入是否還有下一行 如何使用Scanner類別的hasNextLine()方法檢查使用者輸入是否還有下一行 Jul 26, 2023 pm 06:13 PM

如何使用Scanner類別的hasNextLine()方法檢查使用者輸入中是否還有下一行Scanner類別是Java中用來讀取使用者輸入的常用工具類別。它提供了許多方便的方法來幫助我們處理輸入。其中一個非常有用的方法是hasNextLine(),它可以用來檢查使用者輸入是否還有下一行。本文將介紹如何使用Scanner類別的hasNextLine()方法及其相關程式碼示

如何使用Scanner類別的findInLine()方法在使用者輸入中尋找指定的字串 如何使用Scanner類別的findInLine()方法在使用者輸入中尋找指定的字串 Jul 24, 2023 am 09:23 AM

如何使用Scanner類的findInLine()方法在使用者輸入中尋找指定的字串Scanner類是Java中常用的輸入處理類,它提供了多種方法來從輸入流中讀取資料。其中,findInLine()方法可以用來在使用者輸入中尋找指定的字串。本文將介紹如何使用Scanner類別的findInLine()方法,並附上對應的程式碼範例。在開始使用Scanner類別的fin

Java利用Scanner類別的nextInt()函數來取得控制台輸入的整數值 Java利用Scanner類別的nextInt()函數來取得控制台輸入的整數值 Jul 24, 2023 pm 08:48 PM

Java利用Scanner類別的nextInt()函數來取得控制台輸入的整數值Scanner類別是Java中常用的用於接受控制台輸入的類別之一。它提供了許多方便的方法,其中包括nextInt()函數,用於獲取控制台輸入的整數值。本文將以程式碼範例的方式介紹如何使用Scanner類別的nextInt()函數來取得控制台輸入的整數值。首先,我們需要在程式碼中引入java.uti

如何使用Scanner類別的nextDouble()方法從使用者輸入讀取浮點數 如何使用Scanner類別的nextDouble()方法從使用者輸入讀取浮點數 Jul 24, 2023 pm 08:27 PM

如何使用Scanner類的nextDouble()方法從使用者輸入讀取浮點數在Java中,Scanner類是一個非常常用的類,用於從使用者輸入中讀取資料。 Scanner類別提供了許多不同的方法,可以讀取不同類型的資料。其中,nextDouble()方法可以用來讀取浮點數。以下是一個簡單的範例程式碼,展示如何使用Scanner類別的nextDouble()方法從用戶

Java文件解讀:Scanner類別的useLocale()方法用法解析 Java文件解讀:Scanner類別的useLocale()方法用法解析 Nov 04, 2023 pm 01:29 PM

Java文件解讀:Scanner類別的useLocale()方法用法解析,需要具體程式碼範例介紹在Java中,Scanner類別是一個強大的工具,它可以用來讀取使用者輸入或從檔案中讀取資料。 Scanner類別提供了許多方法來解析輸入流,其中之一就是useLocale()方法。 useLocale()方法是Scanner類別的一個重載方法,它用於設定Scanner物件使用的

java怎麼用回車繼續輸入 java怎麼用回車繼續輸入 Mar 25, 2024 am 10:23 AM

在 Java 中,Scanner 類別可用於實現回車繼續的功能。此類別從標準輸入中讀取使用者輸入。以下範例展示如何使用 Scanner 類別實作此功能: ```java import java.util.Scanner; public class ContinueOnEnter { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); Syste

See all articles