2016-11-18 3 views
0

を実行していない、私はあなたが言葉を取るとそれからボックスを作るプログラムを作成しています:BoxWordプログラムはどちらかでエラーが直面している、またはそれだけでAPコンピュータサイエンスのために正しく

ランナー:

import static java.lang.System.*; 

public class BoxWordRunner 
{ 
    public static void main(String args[]) 
    { 
     BoxWord bw = new BoxWord(); 
     //bw.setWord(); 
     bw.toString(4); 
     System.out.println(bw); 
    } 
} 

その他のプログラムは:

import static java.lang.System.*; 

class BoxWord 
{ 
    private String word; 

    public BoxWord() 
    { 
     word=""; 
    } 

    public BoxWord(String s) 
    { 
     word = s; 
    } 

    public void setWord(String w) 
    { 
     word = w; 
    } 

    public String toString(int num) 
    { 
     int x=0; 
     int y=0; 
     int z=0; 
     String output = ""; 

     for(x=0;x<=num;x++) 
      for(y=x;y<=num-x;y++) 
       output += "*"; 
     for(z=num-x;z<=x;z--) 
      output = output + "#"; 
     output += "\n"; 
     return output + "\n"; 
    } 
} 

特にこの行で、ランナーに問題があります

コメントまたは削除すると、プログラムは実行されますが、何も実行されません。 "test"のように()の中に実際のStringを置くと同じ問題が発生します。示すように、エラーで結果を残して:

BoxWordRunner.java:13: error: method setWord in class BoxWord cannot be applied to given types; 
     bw.setWord(); 
     ^
    required: String 
    found: no arguments 
    reason: actual and formal argument lists differ in length 
1 error 
+0

'z'変数を使用する' for'ループが 'x'ループまたは' y'ループの繰り返しごとに実行されないコードを書式設定するときに気づきました。空白と 'z'ループで判断すると、あなたが意図したものを達成するために' y'と 'z'ループの周りの' x'ループから中括弧{}を欲しいと思います。 – dave

+0

また、おそらく 'System.out.println(bw.toString(4));' –

答えて

1

あなたはこのようなbw.setWord("hello")として、あなたのbw.setWord();メソッドの呼び出しに文字列引数を追加する必要があります。

あなたのtoStringメソッドは、forループ本体をラップする括弧なしで混乱します。

関連する問題