重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

javaのfor文の使い方
質問者:asutarisuk コマンドライン引数で入力した文字が3文字以下ならその文字列を20個文字連結して表示し、4文字以上ならたくさんと表示したいのですが表示できません。
import java.io.*;
public class ABC {
public static void main(String args[])throws IOException{
BufferedReader myReader = new BufferedReader(
new InputStreamReader(System.in), 1 );
String str = myReader,readLine();
if(str.length() >= 4){
System.out.println("たくさん");
}
StringBuffer buf = new StringBuffer(str.length()*20);
for(int i = 0;i < 20; i++){
buf.append(str);
System.out.println(buf);
}
}
}

としたら、たくさんと表示されません。どこを修正すればいいでしょうか?ちなみにfor文とStringBufferクラスを用いてというのが条件です。

A 回答 (3件)

> コマンドライン引数を受け取るというのはintなどで受けるという事でしょうか?



intで受ける?
なぜに?

main(String args[])

となっているのだから、文字列でしか受け取れないではないですか。
#文字列で受け取って変換するのはありますが

プログラム起動時に渡したコマンドライン引数が、
このargsという配列に入ってくるので、それを
繰り返す対象の文字列として取るだけという話なんですけど。

> String str = myReader,readLine();

のように、わざわざプログラムの中で読み込む動作をすることはない
ということです。
問題が要求しているものと違いますしね。
    • good
    • 0
この回答へのお礼

ありがとうございます。解決いたしました。

お礼日時:2007/08/08 13:06

コマンドラインの引数は、配列 args に入っています。


標準入力ではありません。
    • good
    • 0
この回答へのお礼

標準入力ではないとはどういう事なのでしょうか?

お礼日時:2007/08/08 12:01

> コマンドライン引数で入力した文字が



ぱっと見て、コマンドライン引数を受け取って処理するように
見えないのですけど、正しい仕様はどうなんでしょうか?
    • good
    • 0
この回答へのお礼

すいません、まだ始めて1週間で言葉の意味がよくわかりません。
コマンドライン引数を受け取るというのはintなどで受けるという事でしょうか?

お礼日時:2007/08/08 12:00

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!