Javaプログラムでユーザー入力を受け付ける方法

このQ&Aのポイント
  • Javaプログラムでユーザーに文字列を入力させ、その文字列を出力する方法を教えてください。
  • プロンプト「Input:」を出力し、ユーザーに文字列を入力させ、入力された文字列を出力しつづけるプログラムの作り方を教えてください。
  • JavaのSimpleReaderクラスを使用して、プロンプト「Input:」を出力し、ユーザーが「end」と入力するまで入力された文字列を出力し続けるプログラムを作成する方法を教えてください。
回答を見る
  • ベストアンサー

このクラスをもとに改。

import java.lang.*; import java.io.*; import java.util.*; class SimpleReader{ public static void main(String[] argv) throws IOException{ InputStreamReader isr = new InputStreamReader(System.in); BufferedReader br = new BufferedReader(isr); String s; System.out.print("Input: "); System.out.flush(); s = br.readLine(); } } このクラスをもとにプロンプト「Input: 」を出力して、文字列を入力させ、その文字列をそのまま出力しつづけ、「end」と入力すると終わるプログラムを教えてください。例えば Input: abc abc Input: def def Input: end みたいな感じで。。

  • Java
  • 回答数1
  • ありがとう数0

質問者が選んだベストアンサー

  • ベストアンサー
  • anmochi
  • ベストアンサー率65% (1332/2045)
回答No.1

はいどうぞ。 import java.lang.*; import java.io.*; import java.util.*; class SimpleReader{ public static void main(String[] argv) throws IOException{ InputStreamReader isr = new InputStreamReader(System.in); BufferedReader br = new BufferedReader(isr); String s; System.out.print("Input: "); while(!(s = br.readLine()).equals("end")) { System.out.println(s); System.out.print("Input: "); } } }

関連するQ&A

  • このクラスをもとに2

    import java.lang.*; import java.io.*; import java.util.*; class SimpleReader{ public static void main(String[] argv) throws IOException{ InputStreamReader isr = new InputStreamReader(System.in); BufferedReader br = new BufferedReader(isr); String s; System.out.print("Input: "); System.out.flush(); s = br.readLine(); } } このクラスをもとにプロンプト「Input: 」を出力して、文字列を入力させ、その文字列を反転(例えば"abc"→"cba")させて出力しつづけ、「end」と入力すると終わるプログラムを教えてください。

    • ベストアンサー
    • Java
  • このクラスをもとに…。

    import java.lang.*; import java.io.*; import java.util.*; class SimpleReader{ public static void main(String[] argv) throws IOException{ InputStreamReader isr = new InputStreamReader(System.in); BufferedReader br = new BufferedReader(isr); String s; System.out.print("Input: "); System.out.flush(); s = br.readLine(); } } このクラスをもとにプロンプト「Input: 」を出力して、文字列を入力させ、その文字列をそのまま出力しつづけ、「end」と入力すると終わるプログラムを教えてください。

  • CSV読み込み 文字化け

    失礼いたします。 以前のログを見てエンコードを設定してみたのですが、出力が文字化けします。ローカルファイルを読み込んでコンソール出力しているだけなのですが・・・。 分かる方、よろしくお願いします。 -------------------ソースはここから import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; // import java.io.FileReader; FileReaderからInputStreamReaderに変更済み import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class ReadCSV { public static void main(String[] args) { try { File csv = new File("C:\\AP.csv"); // BufferedReader br = new BufferedReader(new FileReader(csv)); BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(csv),"EUC_JP")); // BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(csv),"MS932")); while (br.ready()) { String line = br.readLine(); StringTokenizer st = new StringTokenizer(line, ","); while (st.hasMoreTokens()) { System.out.print(st.nextToken() + "\t"); } System.out.println(); } br.close(); } catch (FileNotFoundException e) { キャッチ処理 }

    • ベストアンサー
    • Java
  • javaのキーボード入力について質問

    javaのキーボード入力について質問です。 下記の如く、javaのソース"Sample4.java"や"Sample4.class"は存在します。 c:\Pleiades44\workspace\Input\src\Sample1\Sample4.java c:\Pleiades44\workspace\Input\bin\Sample1\Sample4.class そのソースの内容は下記です。 このプログラムはPleiades44では、Debugや実行が出来、コンソールに("input integer: ") と表示出来、次に数値を入力しますと、その内容が表示出来ます。 (注、最初のカーソル位置と文字入力位置が違いますが、其処は目をつむります) Q1)このプログラムをPCのコンソールで実行する方法をお教えください。 //======================== package Sample1; //Sample4.java import java.io.BufferedReader; import java.io.InputStreamReader; public class Sample4{ public static void main(String args[]){ int x=9; while(x!=0){ System.out.print("input integer: "); InputStreamReader isr = new InputStreamReader(System.in); BufferedReader br = new BufferedReader(isr); try{ String buf = br.readLine(); x = Integer.parseInt(buf); }catch(Exception e){ x = 0; } System.out.println("Input Number = " + x); } //while System.out.println("end"); } } //=============================== 以上、宜しくお願いします。

    • ベストアンサー
    • Java
  • httpsサイトからのhtmlソース取得

    以下のようなコードを書いてみましたところ、httpサイト (1) からはhtmlソースが全行取得できたのですが、httpsサイト (2) からは途中約1/3以降からしか得られませんでした。 ところが、httpsサイトでも (3) を試したところ全部取得できます。何がいけないのか~何を調べればよいのか~が分からず困惑しております。ご教示いただけましたら幸いです。 import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.IOException; import java.net.URL; import java.net.HttpURLConnection; import javax.net.ssl.HttpsURLConnection; public class GetHtmlTest { public static void main(String[] args) { try { URL u = new URL("http://stocks.finance.yahoo.co.jp/stocks/detail/?code=2371.T"); // (1) HttpURLConnection con = (HttpURLConnection) u.openConnection(); // (1) InputStreamReader isr = new InputStreamReader(con.getInputStream(), "UTF-8"); // (1) // URL u = new URL("https://www.sbisec.co.jp/ETGate"); // (2) // HttpsURLConnection con = (HttpsURLConnection) u.openConnection(); // (2) // InputStreamReader isr = new InputStreamReader(con.getInputStream(), "SJIS"); // (2) // URL u = new URL("https://www.monex.co.jp/Login/00000000/login/ipan_web/hyoji"); // (3) // HttpsURLConnection con = (HttpsURLConnection) u.openConnection(); // (3) // InputStreamReader isr = new InputStreamReader(con.getInputStream(), "SJIS"); // (3) BufferedReader br = new BufferedReader(isr); String line; StringBuilder sb = new StringBuilder(); while ((line = br.readLine()) != null) { sb.append(line).append(System.getProperty("line.separator")); } System.out.println(sb.toString()); br.close(); isr.close(); } catch (IOException e) { e.printStackTrace(); } } }

    • ベストアンサー
    • Java
  • 今勉強中のjavaで。わからないことがあります。

    import java.io.*; class Ireru { public static void main(String args[]) throws IOException{ System.out.println("あなたは何歳ですか?"); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String str1 = br.readLine(); int num =Integer.parseInt(str1); System.out.println("あなたは" + num +"歳です。"); } } ------------------------------- import java.io.*; class Ireru { public static void main(String args[]) throws IOException{ System.out.println("あなたは何歳ですか?"); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String str1 = br.readLine(); System.out.println("あなたは" + str1 +"歳です。"); } } なぜ下では悪いのですか?なぜnum をつかないといけないかがわかりません。正確には str1とnumの違いがわからなくて困っています。何が混乱の原因ですか?

    • ベストアンサー
    • Java
  • 答えを教えてください

    javaの課題でわからないことがあるので質問します。 2つ目のファイルに書かれているSgStdInTestを、 1つ目のファイルのどこかに入れてコンパイルして 動かせるようにしたいのですが、どうすればいいですか? よろしくおねがいします。 ______1つ目(ファイル名StdInTest.java)_ import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class StdInTest { public static void main(String args[]){ try{ System.out.print("Input : "); BufferedReader r = new BufferedReader( new InputStreamReader(System.in)); String str = r.readLine(); System.out.println("Your Input : " + str); }catch(IOException e) { e.printStackTrace(); } } } ____2つ目(ファイル名SgStdInTest.java)______ class SgStdInTest{ private String input; public void setInput(String input){ this.input = input ; } public String getInput(){ return input; } }

  • プログラムの組み合わせ方

    java初心者です。 2つのプログラムを組み合わせて1つのプログラムにしたいんですが、イマイチ分かりません。 このプログラムと、 import java.io.*; class Hello2 {  public static void main(String[] args) throws IOException {   System.out.println("名前を入力してください");   BufferedReader br = new BufferedReader(new InputStreamReader(System.in));   String str = br.readLine();   System.out.println(str + "さん、こんにちは!");  } } このプログラムを、 import java.io.*; class Sanbai{  public static void main(String[] args) throws IOException {   System.out.println("好きな数を入力してください");   BufferedReader br = new BufferedReader(new InputStreamReader(System.in));   String str = br.readLine();   int x;   x = Integer.parseInt(str);   System.out.println("あなたの入力した数:" + x);   System.out.println("その3倍の数:" + (x*3));  } } 組み合わせて1つのプログラムにするにはどうしたらいいですか?(>_<)

    • ベストアンサー
    • Java
  • javaプログラムの実行ファイル作成について

    下記のコードをPleiades44から実行可能ファイルを作成し(例えば、c:\bbb.jar) コンソールから実行しましたが、コンソールには何も表示がなく終了します。 注)GUIの他のコードはPCのコンソールから実行できました。 そのソースの内容は、キーボードから入力し、その入力をコンソールに表示するものです。 尚、このプログラムはPleiades44では、Debugや実行が出来、Eclipseのコンソールに ("input integer: ")と表示出来、次に数値を入力しますと、その内容が表示出来ます。 また、binホルダーに行き、java Sample1.Sample4でも旨く実行できました。 Q1)このプログラムの実行ファイルを作成して、をPCのコンソールから実行はできないものでしょうか? 尚、実行ファイルの作成方法は、ファイルを選択して、右クリックで、実行可能ファイルを 選択するものでした。 //======================== package Sample1; //Sample4.java import java.io.BufferedReader; import java.io.InputStreamReader; public class Sample4{ public static void main(String args[]){ int x=9; while(x!=0){ System.out.print("input integer: "); InputStreamReader isr = new InputStreamReader(System.in); BufferedReader br = new BufferedReader(isr); try{ String buf = br.readLine(); x = Integer.parseInt(buf); }catch(Exception e){ x = 0; } System.out.println("Input Number = " + x); } //while System.out.println("end"); } } //=============================== 以上、宜しくお願いします。

    • ベストアンサー
    • Java
  • 標準入力 System.in について

    いつもお世話になっております。 標準入力についての質問です。 標準入力からデータを入力し、そのデータを表示させる以下のプログラムを作りました。 ------ import java.io.*; class InputTest{ public static void main(String args[]) throws IOException{ String moji; InputStreamReader isr = new InputStreamReader(System.in); BufferedReader br = new BufferedReader(isr); System.out.print("文字列を入力してください。 文字 = "); moji = br.readLine(); System.out.println("\n入力した文字列は" + moji + "です。"); } } ------ 上記のソースの「System.in」なのですが、私が参考にしているテキストには 「InputStream クラスのオブジェクト」という説明になっていました。 これまで、オブジェクトは new 演算を使って生成しないと使えないと思っていたのですが… ここでは、事前に java.io を import しているから使えるのでしょうか? それとも、in は System クラスのフィールド(=定数?) なので、使えるのでしょうか? (java.lang のクラスである System クラスは、明示的に import しなくても使えるから) いずれにしても、「java.lang.System.in が、java.io.InputStream のオブジェクト」 ということが理解できません。 分かりにくい説明で申し訳ありませんが、ご教授お願い致します。

    • ベストアンサー
    • Java

専門家に質問してみよう