-3

偶数の九九を印刷しようとしています。誰でも手伝ってもらえますか? 私が望んでいる結果ではなく、奇妙な結果が得られた理由を説明してくれる人が必要です。

public class even {

public static void main(String[] args)
{
int i = 0;

while(i <= 10){
int j = 0; 
    while(j <= 10) {
        j+=2;
        System.out.print(i*j + "\t");
    }
    System.out.println();
    i+=2; 
}
}

}

私が望む出力は、縦軸と横軸に0,2,4,6,8を出力することです。チャートを九九のように読みたい。

4

2 に答える 2

0
import java.util.Scanner;
public class WhileLoop
{   
   public static void main(String[] args) 
   {

    int startAt = 1;
    int i = startAt;

    while (i <= 20){
        int j = startAt; 

        while (j <= 20) {
            // Notice these lines are swapped!
            System.out.print(i*j + "\t");
            j+=1;
        }

        System.out.println();
        i+=1; 
    }
  }
}  
于 2015-10-09T03:29:32.173 に答える
0

どうですか?あなたの問題はj、答えを計算する前に追加しているためだと思われますj+=2;

public static void main(String[] args) {

    int startAt = 2;

    for (int i = startAt; i <= 10; i += 2) {
        for (int j = startAt; j <= 10; j += 2) {
            System.out.print(i*j + "\t");
        }
        System.out.println();
    }
}

for ループの使用はここで完璧です。数行を 1 つにマージするからです (変数の初期化、while ループ、および変数のインクリメント)。

ここではwhileループを使用していますが、理想的ではありません。

public static void main(String[] args) {

    int startAt = 2;
    int i = startAt;

    while (i <= 10){
        int j = startAt; 

        while (j <= 10) {
            // Notice these lines are swapped!
            System.out.print(i*j + "\t");
            j+=2;
        }

        System.out.println();
        i+=2; 
    }
}
于 2013-02-28T03:27:11.077 に答える