创建一个显示数字位数之和的java应用程序

时间:2017-10-09 04:53:57

标签: java

我对Java比较陌生,我现在正在学习,同时和for循环。我想创建一个应用程序,使用这些概念显示数字的数字之和,但我不知道如何。我之前创建了一个只显示数字DIGITS的应用程序。在这里。

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循环对数字的数字求和。谢谢!

2 个答案:

答案 0 :(得分:0)

为了对数字求和,不需要添加太多代码:

第一种解决方案:使用&#39; 0&#39;字符

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);

答案 1 :(得分:0)

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;
}