Java 菜鳥教程

Java 流程控制

Java 數(shù)組

Java 面向?qū)ο?I)

Java 面向?qū)ο?II)

Java 面向?qū)ο?III)

Java 異常處理

Java 列表(List)

Java Queue(隊(duì)列)

Java Map集合

Java Set集合

Java 輸入輸出(I/O)

Java Reader/Writer

Java 其他主題

Java程序檢查阿姆斯壯數(shù)字

Java 實(shí)例大全

在此程序中,您將學(xué)習(xí)檢查給定的數(shù)字是否為阿姆斯特朗數(shù)字。您將通過在Java中使用for循環(huán)和while循環(huán)學(xué)習(xí)如何做到這一點(diǎn)。

一個(gè)正整數(shù)稱為阿姆斯特朗階數(shù),n如果

abcd... = an + bn + cn + dn + ...

對(duì)于3位的阿姆斯特朗數(shù)字,每個(gè)數(shù)字的立方數(shù)之和等于數(shù)字本身。例如:

153 = 1*1*1 + 5*5*5 + 3*3*3  // 153 是一個(gè)阿姆斯特朗數(shù)。

示例1:檢查阿姆斯特朗為3位數(shù)字

public class Armstrong {

    public static void main(String[] args) {

        int number = 371, originalNumber, remainder, result = 0;

        originalNumber = number;

        while (originalNumber != 0)
        {
            remainder = originalNumber % 10;
            result += Math.pow(remainder, 3);
            originalNumber /= 10;
        }

        if(result == number)
            System.out.println(number + " 是一個(gè)阿姆斯特朗數(shù)。");
        else
            System.out.println(number + " 不是一個(gè)阿姆斯特朗數(shù)。");
    }
}

運(yùn)行該程序時(shí),輸出為:

371 是一個(gè)阿姆斯特朗數(shù)。
  • 首先,給定數(shù)字(number)的值存儲(chǔ)在另一個(gè)整數(shù)變量originalNumber中。這是因?yàn)?,我們需要在最后比較最終數(shù)字和原始數(shù)字的值。

  • 然后,使用while循環(huán)對(duì)originalNumber進(jìn)行遍歷循環(huán),直到它等于0。

    • 在每次迭代中,num的最后一位存儲(chǔ)在remainder中。

    • 然后,使用Math.pow()函數(shù)將remainder加3(數(shù)字位數(shù))并加到result中。

    • 然后,除以10后,從originalNumber中刪除最后一位數(shù)字。

  • 最后,result和number進(jìn)行比較。如果相等,則為阿姆斯壯數(shù)。如果不等,則不是。

示例2:檢查阿姆斯特朗為n位數(shù)字

public class Armstrong {

    public static void main(String[] args) {

        int number = 1634, originalNumber, remainder, result = 0, n = 0;

        originalNumber = number;

        for (;originalNumber != 0; originalNumber /= 10, ++n);

        originalNumber = number;

        for (;originalNumber != 0; originalNumber /= 10)
        {
            remainder = originalNumber % 10;
            result += Math.pow(remainder, n);
        }

        if(result == number)
            System.out.println(number + " 是一個(gè)阿姆斯特朗數(shù).");
        else
            System.out.println(number + " 不是一個(gè)阿姆斯特朗數(shù).");
    }
}

運(yùn)行該程序時(shí),輸出為:

1634 是一個(gè)阿姆斯特朗數(shù).

在此程序中,我們沒有使用while循環(huán),而是使用了兩個(gè)for循環(huán)。

第一個(gè)for循環(huán)用于計(jì)算數(shù)字中的位數(shù)。它是以下形式的壓縮形式:

for (;originalNumber != 0; originalNumber /= 10) {
     n++;
}

然后,第二個(gè)for循環(huán)計(jì)算result,其中在每次迭代中,余數(shù)由數(shù)字n求冪。

訪問此頁(yè)面以了解如何顯示兩個(gè)間隔之間的所有阿姆斯壯數(shù)字。

Java 實(shí)例大全

丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清