C# Visual Basic 2010 で次のコードを作成しました。
for (int i = 7; i > 0; i--)
{
Char star = '*';
string numbers = "765432" ;
//Console.WriteLine(star);
for (int a = 0; a < i; a++)
{
Console.Write(star);
}
for (int b = 0; b < i; b++)
{
numbers.TrimEnd(numbers[numbers.Length - 1]);
Console.Write(numbers);
}
Console.WriteLine();
}
Console.ReadLine();
私は結果を期待していました:
*765432
画面上で7回繰り返されましたが、代わりに次のようになりました:
*****765432765432765432765432765432
****765432765432765432765432
***765432765432765432
**765432765432
*765432
(画面に正しく表示されないため、完全な結果を表示することはできませんが、基本的には、1 行目に 7 回、2 行目に 6 回など、7 行目に 1 回まで変数の星と数字が表示されます)
私の理解では、 for ループで宣言されたa
andb
変数は、 for ループに入る回数を指定する必要があります。なぜスター変数と数値変数も、ループに入る回数と一致するように 7 回、次に 6 回書き込まれるのですか? ? 特にそれらが*
およびとして初期化されている場合は765432
?