底面ではなく先端にあるアスタリスクから三角形を作成する方法を考えていました。
私はそれをそのベースに立てるためのコードを持っています:
public static String printTriangle (int count)
{
if( count <= 0 ) return "";
String p = printTriangle(count - 1);
p = p + "*";
System.out.print(p);
System.out.print("\n");
return p;
}
しかし、それから私は、一番上に星の数を最大にし、次に少ない数にする方法に行き詰まっています。(count - p) 行の入力を減少量から差し引くという条件に沿って何かを考えていましたが、p は文字列であるため、この考えに混乱しました。
編集: 繰り返しなしで元の方法を使用して printTriangle(count - 1) の位置を変更しようとしましたが、各行に 1 つの星を獲得しました。どうすればこれを修正できますか?
public class triangles
{
public static void main(String[] args)
{
printTriangle(5);
}
public static String printTriangle (int count)
{
if( count <= 0 ) return "";
String p = "";
p = p + "*";
System.out.print(p);
System.out.print("\n");
p = printTriangle(count - 1);
return p;
}
}