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

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

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

標準入力(stdin)は、プログラムが標準的に用いるデータ入力元。リダイレクトしない限り、プログラムを起動した端末のキーボードが標準入力になります。UNIX系OSやC言語に実装されて普及した概念ですが、他のOSや言語も含めた総称としても使われます。

標準出力

標準出力(stdout)は、プログラムが標準的に用いるデータ出力元。標準出力に書き込み要求を発行しすることにより、ディスプレイ装置にデータを表示することができます。UNIX系OSやC言語に実装されて普及した概念ですが、他のOSや言語も含めた総称としても使われます。

Scala

ScalaはJava仮想マシンで動作を行うオブジェクト指向型プログラミング言語の1つです。静的型付けの関数型言語で、コンパイルエラーの検出に強みがあります。

Java

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

Eclipse

Eclipseは、IBM社で開発された統合開発環境のひとつです。2001年11月にオープンソース化されました。 たくさんのプラグインがあり自由に機能を追加をすることができるため、開発ツールにおける共通プラットフォームとして位置づけられています。 Eclipse自体は、Javaで実装されています。

Q&A

解決済

1回答

3922閲覧

eclipseのコンソール入力について

st-access_91s

総合スコア43

標準入力

標準入力(stdin)は、プログラムが標準的に用いるデータ入力元。リダイレクトしない限り、プログラムを起動した端末のキーボードが標準入力になります。UNIX系OSやC言語に実装されて普及した概念ですが、他のOSや言語も含めた総称としても使われます。

標準出力

標準出力(stdout)は、プログラムが標準的に用いるデータ出力元。標準出力に書き込み要求を発行しすることにより、ディスプレイ装置にデータを表示することができます。UNIX系OSやC言語に実装されて普及した概念ですが、他のOSや言語も含めた総称としても使われます。

Scala

ScalaはJava仮想マシンで動作を行うオブジェクト指向型プログラミング言語の1つです。静的型付けの関数型言語で、コンパイルエラーの検出に強みがあります。

Java

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

Eclipse

Eclipseは、IBM社で開発された統合開発環境のひとつです。2001年11月にオープンソース化されました。 たくさんのプラグインがあり自由に機能を追加をすることができるため、開発ツールにおける共通プラットフォームとして位置づけられています。 Eclipse自体は、Javaで実装されています。

0グッド

0クリップ

投稿2020/05/26 12:58

編集2020/05/26 13:01

現在、eclipse環境でscalaの標準入力の練習をしているところです(eclipseのver.は4.7のoxygenです)。
以下のサイトを参考にしながらコンソールビューにて標準入力・標準出力をやってみたところ、最初の1回だけ入出力の機能が正常に動作したのですが、コンソールのクリアをした後に、再度標準入力・標準出力の機能を使おうとすると、文字入力ができない(標準入力が機能しない)という事象が頻繁に起こる上、入力できても標準出力の機能が働かない(何も出力されない)という事象に見舞われるようになりました。
【用いたコード】(下記サイトの「単一行を読み込む場合」で紹介されているコード)
https://qiita.com/nesheep5/items/cd2e6113e6aada97112a
【コンソールビューでの処理の参考】
http://mitani.cs.tsukuba.ac.jp/book_support/java/user_input.pdf

リフレッシュ・新規コンソールビューの立ち上げ・eclipseの再起動をしても、解決しませんでした。
現状は、標準入力において、半角英数入力ができない、全角文字を入力してもEnterキーを押すと入力内容が消える、といった状況です。
他にコンソールビューで気になっているのは、上記【コンソールビューでの処理の参考】のサイトだとConsoleタブの直下行の始まりが<terminated>になっているのに対し、私のeclipseのConsoleタブの直下行の始まりは<終了>になっており、なおかつ<終了>の右にテストしたいファイルと異なるファイル名が指定されたままの表示になっているということです。
原因・解決方法に繋がるサイトを探したのですが、自分が現在困っている事象に関する(と思われる)ものに辿り着くことができなかったため、こちらで質問させていただくこととしました。
当方が初心者ということもあり、情報として不足かもしれませんので、追加で必要な情報ございましたら、お申し付け下さい。
何か本事象について要因が思い当たる方がいらっしゃいましたら、ご教授いただけると幸いです。

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

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

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

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

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

guest

回答1

0

ベストアンサー

質問文のコードだと、どれも1回標準入力から読み込みを行ったらプログラムが終了します。
もう一度実行すると、また入力ができるようになるはずです。もう一度プログラムを実行してみてください。

Consoleタブの直下行の始まりが<terminated>になっているのに対し、私のeclipseのConsoleタブの直下行の始まりは<終了>になっており

英語だとterminated、日本語だと終了。意味は同じ。

投稿2020/05/26 14:45

hope_mucci

総合スコア4447

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

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

st-access_91s

2020/05/26 15:05

ご回答いただきありがとうございます。 仰る通り、コンソールのクリアをしなくとも、該当のファイルを再度実行することで、また入力ができるようになりました。 追加の質問となるのですが、「1回標準入力から読み込みを行ったらプログラムが終了」というのは、コードのどの部分でそのように指定されているのでしょうか。
hope_mucci

2020/05/26 15:57

指定されているというより、1回しか読み込みを行っていません。 例えば1番目のコードでは、readlineが1回だけ実行され、終了します。 2番目のコードは、forで繰り返しgetLinesを行っているので、手動でプログラムを停止しない限りずっと読み込みをしようとするかもしれません。 (別の環境で試してみたので正確な挙動はちょっとわかりかねます。ごめんなさい)
st-access_91s

2020/05/27 04:58

いえいえ、追加質問にもご回答いただきありがとうございます。 なる程、コードで1回のみと指定されているわけではないのですね。 eclipseのコンソール仕様ってことですかね? 2番目のコードも試してみたところ、2回目以降はエラーになってしまいました(再入力はできます)。
hope_mucci

2020/05/27 06:17

こちらはLinuxのシェルで動かしていますが、特にエラーにもならず連続で入力もできます。 Eclipseのコンソールとあまり相性がよろしくない可能性もあります。 そもそも、Eclipse用のscala環境は結構前からメンテされていないので、本格的に学習するのならIntelliJ IDEAのほうが良いようです。
st-access_91s

2020/05/27 09:00

あぅ…scalaとeclipseの相性にも問題があるみたいですね…今回のエラーの原因かは別として。 scala学習における情報提供ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問