![](/img/trans.png)
[英]How to take space separated input in Java using BufferedReader?
[英]Using BufferedReader to take input in java
到目前為止,我一直在使用掃描儀 object 來接收輸入,並且想了解 BufferedReader 是如何工作的。 我試過了,它似乎只適用於字符串。 有人可以告訴我如何將它與整數和雙精度一起使用嗎?如何在同一行上請求兩個字符串輸入? 謝謝。
將BufferedReader
和Scanner
視為處於不同抽象層次,而不是“做同樣事情”的可互換部分。 我認為這是你陷入困境的根本問題。
從某種意義上說, BufferedReader
比Scanner
“更簡單”。 BufferedReader
只讀取String
。
Scanner
比BufferedReader
更強大。 它具有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.