Java黑皮书课后题第2章:2.6(求一个整数各位数的和)读取一个0和1000之间的整数,并将给整数的各位数字相加
生活随笔
收集整理的這篇文章主要介紹了
Java黑皮书课后题第2章:2.6(求一个整数各位数的和)读取一个0和1000之间的整数,并将给整数的各位数字相加
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
2.6(求一個(gè)整數(shù)各位數(shù)的和)讀取一個(gè)0和1000之間的整數(shù),并將給整數(shù)的各位數(shù)字相加
- 題目
- 題目描述
- 運(yùn)行示例
- 題目槽點(diǎn)與破題
- 題目槽點(diǎn)
- 破題
- 如何提取數(shù)字
- 代碼塊
- 方法評(píng)價(jià)
題目
題目描述
2.6(求一個(gè)整數(shù)各位數(shù)的和)讀取一個(gè)0和1000之間的整數(shù),并將給整數(shù)的各位數(shù)字相加
例如:整數(shù)是932,各位數(shù)字之和時(shí)14
提示:932%10=2,932/10=93
運(yùn)行示例
Enter a number between 0 and 1000: 999
The sum of the digits is 27
題目槽點(diǎn)與破題
題目槽點(diǎn)
在異常、選擇之前出這類題相對(duì)不嚴(yán)謹(jǐn)(如輸入數(shù)值不是整數(shù))
破題
筆者選擇強(qiáng)制類型轉(zhuǎn)換,雖然和題意中的“讀取一個(gè)整數(shù)”不合(加上強(qiáng)制類型轉(zhuǎn)換后,程序即可以讀取整數(shù),也可以讀取浮點(diǎn)數(shù)
如何提取數(shù)字
舉例:要提取123
123 / 100 = 1
123 % 100 = 23
1即為百位,23為剩下的兩位
23 / 10 = 2
23 % 10 = 3
2為十位,3為剩下的個(gè)位
百位+十位+個(gè)位=各位數(shù)字之和
代碼塊
import java.util.Scanner;public class Test2_6 {public static void main(String[] args) {// 接收輸入Scanner input = new Scanner(System.in);System.out.println("Enter a number between 0 and 1000: ");int number = (int)(input.nextDouble());// 轉(zhuǎn)換int a = number / 100;number %= 100;int b = number / 10;number %= 10;// 總數(shù)int total = a + b + number;// 輸出結(jié)果System.out.println("The sum of the digits is "+ total);} }方法評(píng)價(jià)
方法沒(méi)有使用條件判斷語(yǔ)句、捕捉異常,無(wú)法判斷接收數(shù)據(jù)的合法性
總結(jié)
以上是生活随笔為你收集整理的Java黑皮书课后题第2章:2.6(求一个整数各位数的和)读取一个0和1000之间的整数,并将给整数的各位数字相加的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Java黑皮书课后题第2章:2.5(金融
- 下一篇: Java黑皮书课后题第2章:*2.8(当