-5

文字列と繰り返し回数をパラメーターとして受け取り、その回数だけ連結された文字列を返す repl という名前のメソッドを作成します。たとえば、呼び出しrepl("hello", 3)は「hellohellohello」を返します。繰り返し回数が 0 以下の場合、空の文字列が返されます。

私が試してみました:

public String repl(String x,int y){
    if(y<=0){
        return null;
    }
    else{
        return x;
    }

}

どういうわけか、こんにちはを3回印刷できません。私の出力は一度だけです.誰かが私が間違っていることを指摘できますか?

4

2 に答える 2

2

OK、私は-1投票を撤回し、説明しようとします(質問を解決しないでください)が、それは間違いなくあなたがJavaでどれほど優れているかとは関係ありません。これらは単純な一般的なプログラミングの概念です...そして、本当にプログラミングを学びたいのであれば、絶対的な始まりから始めるべきです。

とにかく、ここにあなたがいます:

コードに何をさせたいかを分析してみてください

つまり、「あたかも」あなたがそれを行う方法をに教えているかのように。あなたが要求された仕事をする方法について考えてください、それはあなたがプログラムすることを学ぶことができる唯一の方法です。


だから、あなたはあなたXが望むだけ何度でもタイプしたいと言いました(例えばY)。

それを行うためのプログラミング方法は次のようになります(2人の間の会話の形でそれを作りましょう):

  • Aさん:「こんにちは」を3回入力します
  • Bさん:わかりました。私はそれについて考えてみましょう。
  • 人物B: 1つの「こんにちは」(私はもう3回到達しましたか?いいえ。それでは、続けましょう)
  • 人物B: 2つの「こんにちは」(私はもう3回到達しましたか?いいえ。それでは、続けましょう)
  • 人物B: 3つの「こんにちは」(私はもう3回到達しましたか?うん。OK、それでした)

私が助けたかどうかはわかりませんが、私は間違いなくそう願っています。


ヒント:forステートメントとループを見てください。

補足:あなたのif y<=0論理正しいですが、それはかなり冗長です。

于 2013-02-13T08:16:09.367 に答える
-2
public String repl(String x,int y){
    StringBuilder sb=new StringBuilder();
    for(int i=0;i<y;i++) sb.append(x);
    return sb.toString();
}
于 2013-02-13T08:05:02.840 に答える