簡體   English   中英

在Java中,嘗試打印整數中的多少位數均勻地划分為整數

[英]In Java, trying to print how many digits in an integer evenly divide into the whole integer

我正在嘗試打印整數中的多少位數均勻地分成整個整數。

使用mod 10,我得到整數的最后一位,然后除以10以除去最后一位,最后通過mod mod by每一位最后一位來檢查每個數字是否可整整為整數。 由於某種原因,我遇到了錯誤( https://repl.it/CWWV/15 )。

任何幫助將不勝感激!

public static void main(String[] args) {
    Scanner in = new Scanner(System.in);
    int singleD, n1;
    int counter = 0;
    int t = in.nextInt();
    for(int a0 = 0; a0 < t; a0++){
        int n = in.nextInt();
        n1 = n;
        while (n1 > 0){
            singleD = n1%10;
            n1 /= 10;  
            if(singleD != 0 && n%singleD == 0){
                counter++;
            }
        }
        System.out.println(counter);
        counter = 0;
    }

}

編輯:現在可以。

我將使用String.valueOf(int) ,然后將其轉換為字符數組。 接下來,我將使用for-each循環迭代每個字符,並將其解析回一個數字,以測試從原始int除以余數1是否為0 ,如果是,則增加一個計數器。 最后,顯示計數。 就像是,

Scanner in = new Scanner(System.in);
int counter = 0;
int t = in.nextInt();
for (char ch : String.valueOf(t).toCharArray()) {
    if (ch != '0' && t % Character.digit(ch, 10) == 0) {
        counter++;
    }
}
System.out.println("count = " + counter);

1 記住測試0以防止被0

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM