※ ChatGPTを利用し、要約された質問です(原文:Scanner と BufferedReader)
ScannerとBufferedReaderの使い分け
このQ&Aのポイント
Javaのキーボード入力を受け取るためには、ScannerとBufferedReaderの2つの方法があります。
Scannerは、java.utilパッケージに含まれており、簡単かつ便利にキーボード入力を取得することができます。
一方、BufferedReaderは、java.ioパッケージに含まれており、高速で大量のデータを扱う場合に適しています。
javaでキーボードからの入力を格納するやつがあって、
Scanner と BufferedReaderのやり方がありますが、これはどう違うのでしょうか?
それとも全く同じでしょうか?
たとえば、
■一つ目
import java.io.*;
class Sample3{
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.println("文字列を入力してください");
String str1=br.readLine();
System.out.println("検索文字を入力してください");
String str2=br.readLine();
char ch=str2.charAt(0);
int num=str1.indexOf(ch);
if(num !=-1)
System.out.println(str1+"の"+(num+1)+"番目に「"+ch+"」が見つかりました");
else
System.out.println(str1+"に「"+ch+"」はありません");
}
}
■二つ目
import java.util.Scanner;
class Sample4{
public static void main(String[] args){
Scanner stdIn=new Scanner(System.in);
System.out.println("文字列を入力してください");
String str1=stdIn.nextLine();
System.out.println("検索文字を入力してください");
String str2=stdIn.nextLine();
char ch=str2.charAt(0);
int num=str1.indexOf(ch);
if(num !=-1)
System.out.println(str1+"の"+(num+1)+"番目に「"+ch+"」が見つかりました");
else
System.out.println(str1+"に「"+ch+"」はありません");
}
}
これら2つは全く同じ実行結果が得られると思うのですが、
Scanner と BufferedReader の使い分けるべき場合などあるのでしょうか?
お礼
ありがとうございました。 助かりました。