質問概要
Javaで、キーボードから文字列を入力できるようにしたいのですができません…
簡易にJavaで実現しているソースコードなどを教えていただけたら幸いです。
実現したいこと
以下のサイトからソースコードを拝借し、VScodeで走らせようとしました。
https://www.sejuku.net/blog/63188
単に入力された文字列を表示するだけのものですが、そのままコピペしたのですがうまく動きません。最初に「キーボードから入力してください」と表示された後なにを打ち込んでも何も起こりません。
ただ、原因特定のためところどころに"check"という文字列をはさんでいます。
もしより簡易にJavaで実現しているソースコードや方法など教えていただけたら幸いです。
発生している問題・エラーメッセージ
[Running] cd "c:\Users\motch\Java\" && javac Inputchar_20230109.java && java Inputchar_20230109 キーボードから入力してください check [Done] exited with code=1 in 15.175 seconds
該当のソースコード
Java
1import java.io.BufferedReader; 2import java.io.IOException; 3import java.io.InputStreamReader; 4 5public class Inputchar_20230109 { 6 7 public static void main(String[] args) { 8 9 InputStreamReader isr = new InputStreamReader(System.in); 10 BufferedReader br = new BufferedReader(isr); 11 12 System.out.println("キーボードから入力してください"); 13 14 String str = null; 15 try { 16 System.out.println("check"); 17 18 str = br.readLine(); 19 20 System.out.println("check2"); 21 22 br.close(); 23 } catch (IOException e) { 24 e.printStackTrace(); 25 } 26 27 System.out.println("入力された文字は「" + str + "」です"); 28 29 } 30 31}
試したこと
どうやら14行目のString str = null;か、try&catchの条件に問題があるようです。
9,10で宣言されたisr,brに問題があるのかInputStreamReader,BufferedReaderについて調べてみたのですが、どちらも文字列を1字ずつ取り入れる機能が共通で、前者は数値データを文字列データへ変換する機能もあるようです。しかし、自分で調べても恥ずかしながら原因特定できませんでした…
以上よろしくお願いいたします。

回答1件
あなたの回答
tips
プレビュー