このコードを使用して、以下にコメントされている出力を表示しています。
public String drawCore(int star, int hash)
{
String output = "";
for(int i=0; i<star; i++)
{
output += this.drawStar(star);
for(int j = 0; j<hash; j++)
{
output += this.drawHash(hash);
}
for(int k = 0; i < star; k++)
{
output += this.drawStar(star);
}
}
return output;
//intended output (assuming parameters entered are 1 for star and 2 for hash:
// *##*
//actual output
// (nothing)
}
私の最初の質問は、コードが
for(int i=0; i<star; i++)
{
output += this.drawStar(star);
for(int j = 0; j<hash; j++)
{
output += this.drawHash(hash);
}
for(int k = 0; i < star; k++)
{
output += this.drawStar(star);
}
}
Eclipseでコードを実行しようとすると、drawHashのループの前後にdrawStarへの同じループがない場所に設計する方が良いかもしれませんが、出力が得られません。
それらに問題があるかどうか疑問に思っている場合は、 drawStar および drawHash メソッドを次に示します。
public String drawSpaces(int num)
{
String output = "";
for(int i=1; i<num; i++)
{
output+= " ";
}
return output;
}
public String drawHash(int num)
{
String output = "";
for(int i=0; i<num; i++)
{
output += "#";
}
return output;
}
また、コードだけを含む Driver クラスを実行しようとすると、コンソールの問題ではないと思います
public class AsciiArtDriver
{
public static void main(String[] args)
{
AsciiArt ChryslerBuilding = new AsciiArt();
System.out.print(ChryslerBuilding.draw());
}
}
意図した出力は正しいですが、Driver クラスが次のようになっている場合
public class AsciiArtDriver
{
public static void main(String[] args)
{
AsciiArt ChryslerBuilding = new AsciiArt();
System.out.print(ChryslerBuilding.drawCore(1,2));
}
}
出力は何もありません。
助けてください!!ありがとう!