簡體   English   中英

創建一個顯示數字的數字總和的 Java 應用程序

[英]Create a java application that displays the sum of the digits of a number

我對 Java 比較陌生,目前正在學習 while、do while 和 for 循環。 我想使用這些概念創建一個顯示數字總和的應用程序,但我不知道如何。 我之前創建了一個只顯示數字的應用程序。 這里是。

int digit;
Scanner input = new Scanner(System.in);

do {
    System.out.println("Enter a positive integer: ");
    digit = input.nextInt();
} while (digit <= 0);
input.close();

String sdigit = digit + "";
for (int i = 0; i < sdigit.length(); i++){
    System.out.println(sdigit.charAt(i));
}

我試圖想出一種可能的方法來擴展這個程序,但我不知道為什么。 再一次,這個程序不是我需要的,我需要的是使用 for 或 while 循環以某種方式對數字的數字求和。 謝謝!

不需要添加太多代碼來對數字求和:

第一個解決方案:使用帶有“0”字符的減法

int digit;
Scanner input = new Scanner(System.in);

do {
    System.out.println("Enter a positive integer: ");
    digit = input.nextInt();
} while (digit <= 0);
input.close();

String sdigit = digit + "";
int sum=0;       

for (int i = 0; i < sdigit.length(); i++){
    System.out.println(sdigit.charAt(i));
    sum = sum + (sdigit.charAt(i) - '0');
}

System.out.println("Sum is : "+sum);

第二種解決方案:使用 Integer.parseInt 將 String 轉換為 int :

int digit;
Scanner input = new Scanner(System.in);

do {
    System.out.println("Enter a positive integer: ");
    digit = input.nextInt();
} while (digit <= 0);
input.close();

String sdigit = digit + "";
int sum=0;
for (int i = 0; i < sdigit.length(); i++){
    System.out.println(sdigit.charAt(i));
    sum = sum + Integer.parseInt(sdigit.subString(i,i+1));
}

System.out.println("Sum is : "+sum);
int digit;
System.out.println("Enter a positive integer: ");
number= Integer.parseInt(System.console().readLine());

int sum=0;
int currDigit = 0;
while( number / 10 > 0) {
    currDigit  = number % 10; //fetching last digit
    System.out.println(currDigit);
    sum = sum + currDigit;
    number = number / 10;
}

暫無
暫無

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

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