Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/348.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
编辑Java添加4个数字的数字_Java - Fatal编程技术网

编辑Java添加4个数字的数字

编辑Java添加4个数字的数字,java,Java,我想用Java把4个数字中的1或2个数字相加 i1=2 i2=33 i3=12 i4=10 结果:12 2+3+3+1+2+1+0 我怎么能这么做 创建一个计算数字和的函数: int getDigitSum(int n) { return Math.floor(n/10) + n % 10; } 然后对每个值使用它,并对结果求和 请注意,我编写这个方法只是为了处理小于100的数字。如果需要,您可以轻松创建更通用的方法。您希望这样做: public static void main(Str

我想用Java把4个数字中的1或2个数字相加

i1=2
i2=33
i3=12
i4=10
结果:12 2+3+3+1+2+1+0


我怎么能这么做

创建一个计算数字和的函数:

int getDigitSum(int n) {
  return Math.floor(n/10) + n % 10;
}
然后对每个值使用它,并对结果求和


请注意,我编写这个方法只是为了处理小于100的数字。如果需要,您可以轻松创建更通用的方法。

您希望这样做:

public static void main(String[]args){
        int num=1234,sumOfDigits=0;
        while(num!=0){
            sumOfDigits+=num%10;
            num/=10;
        }
        System.out.println("Sum of digits is : " + sumOfDigits);
    }
要理解的事情%给出数字的剩余部分,因此当你做1234%10时,它给出4。这是最后一个数字。
num/=10表示num=num/10;所以1234/10是123,而不是123.4,因为这是整数除以整数

我在一篇论文中尝试实现你的目标。:-。请试试这个

int addition=0;  
int num=243;    
  while(num>9){
   int rem;
   rem=num%10;
   addition=addition+rem;
   num=num/10;
   if(num<9) {
      addition+=num;
      num=addition;
      addition=0;
   }
  }
  System.out.println(num);

以下是您可能需要的一些提示:

1如果在将是整数的参数上使用/,则结果也将是整数

例如:

int x = 7/2;
System.out.println(x);
产出:3而不是3.5

所以要去掉整数的最后一位,你所能做的就是把这个数除以10,就像这样

int x = 123;
x = x/10;
System.out.println(x);
产出:12

Java也有模运算符,它从除法返回提醒,如7/2=3,1将作为提醒。这个操作员是%

范例

int x = 7; 
x = x % 5;
System.out.println(x);
输出:2,因为7/5=1

所以,若要从整数中获取最后一位数字,只需使用%10,如

产出:3


现在尝试结合这些知识。获取数字的最后一位,将其添加到总和,删除最后一位,直到不再有数字为止。

步骤1:获取数字。注意不要使用i1、i2、i3等作为变量名,因为您不知道有多少位数字。当你开始在变量名中使用数字时,这意味着你需要一个循环或一个列表,或者两者兼而有之。在提问之前,请先学习一些东西。只有到那时我们才能帮助哇,9分钟,7票否决,只有一票试图帮助!有两种不同的答案取决于你想看什么。举个例子,你真的喜欢12,还是12~1+2=3?你觉得这个问题有什么困难?因为没有更具体的说明,你要求我们为你编写整个程序。不需要使用Math.floor。整数除法会自动截断。另外,如果输入超过两位数怎么办?@Code peedient,这不是一个通用函数-只是一个解决原始请求的简单方法:至于整数除法-我同意;但我认为明确要求发言权会使代码更加清晰。当然,在这种情况下,我不建议这样做。
int x = 123;
int lastDigit = x%10;
System.out.println(lastDigit);