1

ユーザーが入力した数値のすべての要素を出力する単純な Java コードに取り組んでいます。出力された因子の数をカウントして表示するにはどうすればよいですか?

System.out.println("Enter an integer to be factored:");
int d = Stdin.readInt();

System.out.println("The Factors of " + d + " are:");
for(int w = 1; w <= d; w++ ){
    if(d % w == 0){
        System.out.println(w);
    } 
} 

上記のコードでは、「w」で出力される整数の数です。たとえば、入力された数が 8 で、その約数が 1,2,4,8 の場合、「8 には 4 つの約数がある」というコードをどのように記述すればよいですか? ?

ありがとう

4

3 に答える 3

3

因子を数える変数が必要なだけです。

System.out.println("Enter an integer to be factored:");
int d = Stdin.readInt();
int nFactors = 0;

System.out.println("The Factors of " + d + " are:");
for(int w = 1; w <= d; w++ ){
    if(d % w == 0){
        System.out.println(w);
        ++nFactors;
    } 
}
System.out.println(d + " has " + nFactors + " factors");
于 2013-11-03T20:13:31.097 に答える
0

カウンター変数が必要です。コードは次のとおりです。

int counter =0;

for(int w = 1; w <= d; w++ ){
        if(d % w == 0){
        counter++;   
        System.out.println(w);

        } 

System.out.println(d + " has " + counter + "factors ");
于 2013-11-03T20:15:28.357 に答える
0

このコードで試してください:

import java.util.Scanner;

public class EmbalzadoFactorial {
    public static Scanner sc;

    public static void main(String[] args) {
        int Number, i;
        sc = new Scanner(System.in);

        System.out.print("Please Enter any number to Find Factors: ");
        Number = sc.nextInt();

      System.out.println("The factors are: ");
        for(i = 1; i <= Number; i++) {
            if(Number%i == 0) { 

                System.out.format(" %d  ", i);
            System.out.print ("and");
            System.out.format("%s %n ", i);
            }
        }
    }
}
于 2016-06-28T01:54:28.080 に答える