前提・実現したいこと
現在、入力された数値の約数を出力するプログラムを作っているのですがコンパイルはうまくいくのですが出力がうまくいきません。for
が入力された数の回数ループするはずなのですがループしません(1回しかループしない)。わかる人教えてください。
数値"10"を入力した場合
C:\"見せれないよ">java divisor0101 このプログラムは入力された 数値の約数を表示します >>10 case 0: 適用 <num/i= 0 > switch.end for.end
該当のソースコード
java
1import java.util.Scanner; 2public class divisor0101 3{ 4 static int x; //"true" or "false"識別 5 static String str =""; //最終表示用 6 public static void main(String[] args) 7 { 8 Scanner sc = new Scanner(System.in); 9 System.out.println("このプログラムは入力された"); 10 System.out.println("数値の約数を表示します"); 11 System.out.print(">>"); 12 int num = sc.nextInt(); 13//約数を調べる 14 for(int i=1;i<num;i++){ 15 //割り切れるか調べる 16 switch(num %= i){ 17 case 0: 18 x = num / i; 19 System.out.println("case 0: 適用 <num/i= "+x+" >"); //switch使用確認 and 約数 20 break; 21 default: 22 x = 0; 23 System.out.println("default: 適用 < "+x+" >"); //switch使用確認 and 識別 24 break; 25 } 26 System.out.println("switch.end"); //switch終了確認 27 //割り切れたものを追加する 28 if(x!=0){ 29 str += " "+x; 30 System.out.println("if(x!=0) 適用"); //if使用確認 31 } 32 } 33 System.out.println("for.end"); //for終了確認 34 System.out.println(str); //結果の表示 35 sc.close(); 36 } 37}
補足情報(FW/ツールのバージョンなど)
java jdk-14.0.2
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。