[右下側が直角の三角形]
// 右下側が直角の直角三角形を表示
import java.util.Scanner;
class K4_21_2
{
public static void main(String[] args)
{
Scanner stdIn = new Scanner(System.in);
System.out.println("右下側直角の三角形を表示します。"); System.out.print("段数は : "); int n = stdIn.nextInt(); for(int i = 1; i <= n; i++) { int j = 0; for(; j < n - i; j++) { System.out.print(' '); } for(; j < n; j++) { System.out.print('*'); } System.out.println(); } }
}
【結果】
右上側が直角の三角形を表示します。
段数は : 5
*****
□****
□□***
□□□**
□□□□*
質問①
一番最初のfor文について
A「for(int i = 0; i < n; i++)」を
B「for(int i = 1; i <= n; i++)」に
変えると結果が
□****
□□***
□□□**
□□□□*
になってしまいます。
AとBは一見同じように思えるのですが
結果が変わる原因が分かりません。
質問②
int j = 1;
A for(; j <= i; j++){
System.out.print(' ');
}
B for(; j <= n; j++){
System.out.print('*');
}
System.out.println();
Aのfor文の終了時にj++で(j)がインクリメントされ変数jが2になり
Bのfor文の実行時には「for(; j(2) <= n(5); j++)」
になるという認識であってますでしょうか?
よろしくお願いいたします。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/07/17 08:41