重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

初心者です。
いろいろなサイトを見て、触って、独学しております。
自分に課題を与えて、出力するのを楽しんでおります。

今回は、
1×1=1
1×2=2
1×3=3
 続
9×9=81
までを順に表示するようにソースを書く!
を、課題にして下記を書いてみました。

public class siz
{
public static void main(String [] args)
{
int x = 1;
while ( x <= 9 )
{
System.out.println( " 1" +" × " + x + " = " + (1*x) );
System.out.println( " 2" +" × " + x + " = " + (2*x) );
System.out.println( " 3" +" × " + x + " = " + (3*x) );
x++;
}
}
}

すると、
1×1=1
2×1=2
3×1=3
 続
9×9=81
と、順番が求めているものと異なってしまいます。

どなたか、求めている順になるようにご教授をお願いします。
また、こんな書き方もあるよ!簡単だよ! 等々ございましたら、重ねてご教授をお願い申し上げます。

A 回答 (2件)

変数を2個使って2重ループにしたほうが記述は楽ですね


好みの問題かもしれませんが決まった回数を繰り返す場合はwhileループじゃなくてforループを使うのが一般的な気がします。
int x, y;
for (x= 1; x <= 9; x++)
{
for (y = 1; y <= 9; y++)
{
System.out.println( x +" × " + y + " = " + (x*y) );
}
}
    • good
    • 0
この回答へのお礼

シンプルですごいですね!!
気持が良いですね^^

ありがとうございました。

お礼日時:2006/05/30 16:26

勘違いじゃないですか?


System.out.println( " 1" +" × " + x + " = " + (1*x) );
System.out.println( " 2" +" × " + x + " = " + (2*x) );

数値の項目が逆ですよ。
System.out.println( x +" × " + " 1" + " = " + (1*x) );
System.out.println( x +" × " + " 2" + " = " + (2*x) );
    • good
    • 0
この回答へのお礼

速攻解決^^
ありがとうございました。

お礼日時:2006/05/30 16:16

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!