【发布时间】:2014-06-27 16:26:02
【问题描述】:
你们能帮我用for循环而不用字符串方法回答这个练习吗。
编写一个程序,提示用户输入一个整数,然后输出数字的各个数字和数字的总和。例如,程序应该输出3456的单个数字为3 4 5 6,和为18,输出-2345的单个数字为2 3 4 5,和为14。
这是代码:
package MyPackage;
import java.util.*;
public class Integer
{
public static void main(String args[])
{
Scanner console = new Scanner (System.in);
int input;
int sum = 0;
int num1 = 0;
int counter = 1;
String num = "";
System.out.print("enter a number: ");
input = console.nextInt();
if (input == (-input))
{
input = input * (-1);
num = String.valueOf(input);
num1 = num.length();
System.out.print("the digits of " + input + " are: ");
for (int i = 0; i < num1; i++ )
{
String var = num.substring(i,counter);
int var1 = Character.getNumericValue(var.charAt(0));
System.out.print(var + " ");
sum = sum + var1;
counter++;
}
System.out.println();
System.out.println("the sum is: " + sum);
}
else
{
num = String.valueOf(input);
num1 = num.length();
System.out.print("the digits of " + input + " are: ");
for (int i = 0; i < num1; i++ )
{
String var = num.substring(i,counter);
int var1 = Character.getNumericValue(var.charAt(0));
System.out.print(var + " ");
sum = sum + var1;
counter++;
}
System.err.println();
System.out.println("the sum is: " + sum);
}
}
}
【问题讨论】:
-
提示:使用模数 % 和整数除法 / 直到您的输入为零并添加模数余数。
-
这是我的示例代码...我在这里使用字符串方法并将输入转换为字符串以获取单个数字并再次转换为 int 以获得总和...有没有办法对此进行编码只使用整数还是不使用字符串?
-
您通过
console.nextInt()获得 int 输入。无需将其转换为字符串。只需将它分成我的 10 并获得模式。这将去除单个数字,循环直到数字变为0,然后将其相加..