teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

コマンドラインじゃなかった

2016/08/11 10:25

投稿

swordone
swordone

スコア20675

answer CHANGED
@@ -3,8 +3,6 @@
3
3
  mainメソッドの引数`String[] args`は**コマンドライン引数**と呼ばれるものです。
4
4
  自分のPCでJavaプログラムを実行する際、Windowsならコマンドプロンプトに"java (クラス名)"を打ち込んで実行するわけですが、この(クラス名)のあとに文字を打ち込むと、それが半角スペース区切りでStringの配列となり、mainメソッドに渡されます。
5
5
 
6
- しかしこの環境ではコマンドを打ち込んで実行するわけでありません。その代わり
6
+ しかしこの環境ではコマンドライン引数受け取って実行する仕組みになっていないようです。その代わり
7
7
  ![paiza.io画面](a3f04a49f6dad9707e00494c48609159.jpeg)
8
- この画面下、丸で囲った部分に文字を入力するためのスペースが存在します。これが実行時コマンドライン引数として渡されわけです。
8
+ この画面下、丸で囲った部分に文字を入力するためのスペースが存在します。これは**標準入力**で`System.in`から文字列などを取るこができます。ちょうど画像に出ているような`new BufferedReader(new InputStreamReader(System.in));`のようにして取得す準備がきます。argsを使う代わりにこれを使うべきではないでしょうか。
9
-
10
- イメージとしては、ここでの実行では、コマンドで"java Main"と打ったあと、この空欄に入力された文字列がコマンドに入力されて実行される、という認識ならいいのではないでしょうか。