import java.util.Scanner;
public class Ensyu4_17 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO 自動生成されたメソッド・スタブ
Scanner stdIn = new Scanner(System.in);
System.out.println("すべての約数を出力します。");
int n;
do {
System.out.println("正の整数を入力して下さい");
n = stdIn.nextInt();
}while (n
int w; int kazu = 0;
for (int m = 1; m
if ( ( w = n % m ) == 0 ){
System.out.println(m);
kazu +=1;
}
}
System.out.println("約数の数は " + kazu + "個です。" );
}
}
望洋先生の「明解Java入門編」の演習問題4_17の回答です。このプログラムではif文がありますが
代入してから判断をしてます。確かほかの言語C#とかだとできたはずと思いやってみました。やはり
出来ました。
望洋先生に質問したいところですが、学生でもないので、できません。上にはDoループとforループが
あります。変数は使うときに宣言するという事であれば、なぜdoではループの外で宣言して、forでは
中で宣言してるように思えるんですが。違いますか?
eclipseでやって見ると直ぐ分かりました。whileで判断してるんですが、それはDoの外ですね。
だからでした。
なぜだか分かりませんが、ソースをコピペしてるんですが、どうも特定の文字が省かれるようです。