質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Q&A

解決済

2回答

4538閲覧

java.util.Scanner 以外の ‎キーボードから1文字入力する方法がわかりません

kentros511

総合スコア122

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

0グッド

0クリップ

投稿2016/11/12 12:11

int input = new java.util.Scnner(System.in).nextLine(); System.out.println(input);

###意図
この書き方以外の
‎キーボードから1文字入力する書き方を教えてほしいです。

###やったこと
Scannerクラスを作ったがよくわかりませんでした

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

よく使うのは、InputStreamReaderとBufferedReaderの組み合わせですね。例外処理が必要ですが。

java

1try{ 2 String s = new BufferedReader(new InputStreamReader(System.in)).readLine(); 3}catch(IOException e){ 4 e.printStackTrace(); 5}

投稿2016/11/12 12:53

swordone

総合スコア20651

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

一文字だけ読み取るなら
System.in.read();
という書き方があります。

サンプル

java

1int i = System.in.read(); 2System.out.println((char)i);

投稿2016/11/12 12:25

intelf___

総合スコア868

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kentros511

2016/11/12 12:42

ありがとうございます
kentros511

2016/11/12 12:44

すいません1行でした
intelf___

2016/11/12 13:07

System.in.read()を-1が返るまでループするという方法、 BufferedReaderを使う方法などがあります。 すでに他の方の回答がありますのでそちらの補足になりますが、このように関数宣言の後にthrowsを書いて例外処理をすることも可能です。 プログラムの先頭に import java.io.*; を追加して public static void main(String... args)throws IOException{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String input = br.readLine(); } try-catch 例外発生時に処理を継続する throws 例外発生時にプログラムを停止する くらいの違いだと思ってください。どちらかが必要です。 また、Scannerを使う場合はプログラムの先頭に import java.util.*; を追加して String input = new Scanner(System.in).nextLine(); System.out.println(input); のようにしてみてください。 質問者さんの例ですとScannerの誤字やnextLine()の戻り値をStringではなくintで受け取ろうとしているのでエラーが起きるのではないでしょうか? https://docs.oracle.com/javase/jp/8/docs/api/java/util/Scanner.html
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問