当前位置: 首页 > 知识库问答 >
问题:

在下列条件下,编写一个程序将一个数字四舍五入到10的下一个倍数?

臧弘和
2023-03-14

如果一个数字的位数是5或更多,编写一个程序将其四舍五入到下一个10的倍数,否则将其四舍五入到前一个10的倍数。因此,25和26轮对30轮,其中23和24轮对20轮。20轮对20轮。您已获得4整数作为输入。对每个输入值进行四舍五入并返回其和。

我的方法

我在第一个函数中创建了两个函数,我计算了所有4个数字的总和。

在第二个函数中,我检查了UnitDigtit,如果

其他的

我检查了它是一位数字还是两位数字或任何数字。如果有一个数字我返回num=0,否则我继续处理语句集。

四舍五入(11,15,23,30)

80(11轮对10轮、15轮对20轮、23轮对20轮和30轮对30轮)

四舍五入(1,3,7,9)

20

public int sumRounded(int num1, int num2, int num3, int num4)
{
    
    int a=checkRound(num1);
    int b=checkRound(num2);
    int c=checkRound(num3);
    int d=checkRound(num4);
    return a+b+c+d;
}   
   
public int checkRound(int num)
 {
      int a=num%10;
      if((a>=5) &&(a<=9))
      {
         if(a==5)
          {
              num=num+5;
          }
         else if(a==6)
          {
               num=num+6;
          }
          else if(a==7)
          {
                num=num+7;
          }
          else if(a==8)
          {
                num=num+8;
          }
          else if(a==9)
          {
               num=num+9;
          }
          return num;
       }
         else
         {
             if((num/10)!=0)
             {
                 if(a==1)
                    {
                        num=num-1;
                    }
                 else if(a==2)
                    {
                        num=num-2;
                    }
                 else if(a==3)
                    {
                        num=num-3;
                    }
                 else if(a==4)
                    {
                        num=num-4;
                    }
                 return num;
             }
             else
             {
                 
              return num=0;
             }
          }
         
        

     }

结果:

  Parameters           Actual Output    Expected Output 

'289' '3' '25' '308'   644              630

共有3个答案

宓弘壮
2023-03-14

您只需将以下代码放入chexkCirds方法中

 int a = num % 10;
 if ((a >= 5) && (a <= 9)) {
     num = 10 * (num / 10 + 1);
 } else {
     num = 10 * (num / 10);
 }
 return num;
潘宪
2023-03-14

简单地使用检查内的提醒复选方法

int number = 23;
int output=0;
if(number%10<5){
    output=(number/10)*10;
}
else{
    output=((number/10)+1)*10;
}

System.out.println(output);
萧繁
2023-03-14

如果余数小于5,则从num中减去它。否则,将10减去余数加到num。大概,

static int checkRound(int num) {
    int rem = num % 10;
    return rem < 5 ? num - rem : num + (10 - rem);
}

或者使用Math.round(浮动)

static int checkRound(int num) {
    return Math.round((float) num / 10) * 10;
}

还可以将sumRounded实现为一个varargs方法,每个循环都有一个

static int sumRounded(int... nums) {
    int sum = 0;
    for (int num : nums) {
        sum += checkRound(num);
    }
    return sum;
}

然后你可以像这样测试它,

public static void main(String[] args) {
    System.out.println(sumRounded(11, 15, 23, 30)); // == 80
    System.out.println(sumRounded(1, 3, 7, 9)); // == 20
}

 类似资料:
  • 给定两个数字n1和n2使得n2 我的方法: 我试图使用从迭代到的for循环来解决这个问题,但我得到了错误的答案 下面是我的代码函数: 输入

  • 问题内容: 如何将两个除数的结果取整,例如 和我一样 $ testOne应当将其舍入为“ 2”作为3/2 = 1.5的答案时包含“ 1” 问题答案: 要进行舍入运算,只需将其加到分子上即可。 例子,四舍五入: 例子,四舍五入: 要四舍五入,将其加到分子(一半将四舍五入):

  • 我试图创建一个赚钱机,它基于用户的输入来收集你需要的每一分钱。 金币=0.10,银币=0.05 我尝试了几件事情来调试我的代码,并注意到当我的剩余分数接近一个数字时,它会给我一个错误,例如,当使用.65%时,用户输入.65。没有考虑到它,只是把它推到铜币上。 我已经试过Math.ceil,它只是把分数作为一个整体凑起来,这不是我需要的。

  • 问题内容: 这个问题使我丧命。如何在Python中向上舍入一个数字? 我试过了舍入(数字),但它四舍五入数字。例: 我尝试了int(number + .5),但是它再次将数字取整!例: 然后我尝试了round(number + .5),但是在边缘情况下不起作用。例: 请指教。 问题答案: 该小区(上限)功能:

  • 问题内容: 似乎应该已经被问过数百次了(双关很有趣=),但是我只能找到舍入浮点数的函数。如何围捕一个整数,例如:? 问题答案: 四舍五入通常是对浮点数进行的,这里您应该知道三个基本函数:(四舍五入到最接近的整数),(总是四舍五入)和(总是四舍五入)。 您询问整数并舍入到数百,但是只要您的数字小于2 53,我们仍然可以使用。要使用,我们只需先除以100,向上舍入,然后再乘以100: 先除以100,然

  • 问题内容: 如何在Java中四舍五入到特定的倍数?在excel中,该函数可以轻松舍入到指定的倍数,如下所示: 所以将返回,如果和如果。 到目前为止,我发现的所有舍入函数都始终舍入到最接近的整数或指定的小数位数,但是我希望能够为每个变量更改倍数。有谁知道哪种功能最适合这种情况? 问题答案: 只需除以数字,四舍五入,然后乘以数字即可。