簡體   English   中英

使用 BufferedReader 在 java 中獲取輸入

[英]Using BufferedReader to take input in java

到目前為止,我一直在使用掃描儀 object 來接收輸入,並且想了解 BufferedReader 是如何工作的。 我試過了,它似乎只適用於字符串。 有人可以告訴我如何將它與整數和雙精度一起使用嗎?如何在同一行上請求兩個字符串輸入? 謝謝。

BufferedReaderScanner視為處於不同抽象層次,而不是“做同樣事情”的可互換部分。 我認為這是你陷入困境的根本問題。

從某種意義上說, BufferedReaderScanner “更簡單”。 BufferedReader只讀取String

ScannerBufferedReader更強大。 它具有API,可以輕松提取各種類型的對象。

我可以想象Scanner是使用BufferedReader作為底層構建塊編寫的。 而使用Scanner編寫BufferedReader就好像用大錘殺死一只螞蟻。

是的,bufferedreader將只采用字符串。 你需要使用Integer.parseInt(value)或Double.parseDouble(value)將它們轉換為int或double

BufferedReader基本上將輸入流作為參數。

您必須使用內置方法將字符串解析為ints and doubles

喜歡 :

BufferedReader br = new BufferedReader(new FileReader("input1.txt"))
String line = br.readLine();
//more logic here

 int number = Integer.parseInt(brstring);
 double number = Double.parseDouble(brstring);

這就是如何將它與 String、int 和 double 一起使用。

package com.example;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Test {
    public static  void main(String[] args)
        throws IOException
    {
        BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));

        String name = bufferedReader.readLine();

        int number = Integer.parseInt(bufferedReader.readLine());                                              

        double d = Double.parseDouble(bufferedReader.readLine());

        System.out.println(name);

        System.out.println(number);

        System.out.println(d);

    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM