亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

java中如何獲取最接近的9的最大倍數

java中如何獲取最接近的9的最大倍數

鳳凰求蠱 2023-10-13 16:42:25
我需要一些可以計算 9 的最接近的最大倍數的東西。例如,如果我在這個函數中輸入 1,它將返回 9,如果我在這個函數中輸入 10,它將返回 18,依此類推。我已經嘗試過這個9*(Math.round(number/9)),9*(Math.ceil(Math.abs(number/9)))但它們返回最接近的 9 的倍數,因此,如果您在該函數中輸入 10,它將返回 9,出于我的目的,它將需要返回 18。(可能有更好的方法來表達這一點,然后“最近的最高值”)如果有人能幫助我那就太好了!
查看完整描述

3 回答

?
Cats萌萌

TA貢獻1805條經驗 獲得超9個贊

您可以使用這個公式。

number + (9 - (number % 9))

對于數字是 9 的倍數的特殊情況,請使用條件:

int result = number % 9 == 0 ? number : number + (9 - (number % 9));


查看完整回答
反對 回復 2023-10-13
?
qq_花開花謝_0

TA貢獻1835條經驗 獲得超7個贊

只需添加 1(最多)9 次,然后檢查它是否是 9 的倍數,如下所示:


int x = 9;

int result = 0;


for (int i = x; i < 9; i++)

{

    if (i % 9 == 0)

    {

        result = i;

        break;

    }

}


// result will contains the 'nearest' 'highest' or it self multiple of 9 


查看完整回答
反對 回復 2023-10-13
?
隔江千里

TA貢獻1906條經驗 獲得超10個贊

您可以嘗試定義一個乘數,其值取決于 number 是否是 9 的倍數。檢查下面的代碼:


int number = 10;

Double ceilValue = Math.ceil(number/9);

double multiplier = 0.0;

if (number % 9 == 0) {

    multiplier = ceilValue;

} else {

    multiplier = ceilValue + 1;

}

Double result = 9 * multiplier;


System.out.println(result);

輸出:18.0


查看完整回答
反對 回復 2023-10-13
  • 3 回答
  • 0 關注
  • 179 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號