第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定

請教我方法2的改進(jìn)

public class HelloWorld{

? public static void main(String[] args){

// ? ?方式1:通過百度搜索到冪運(yùn)算法加入的

? ? ? ?int num = 999;

? ? ? ?int count = 0;


? ? ? ?for (int i = 0; i <= 10; i++) {

? ??

? ? ? ?double result = Math.pow(10,i);

? ? ?

? ? ? ? ? if(num - result >= 0) {

? ? ??

? ? ? ? ? ? count = count +1;?

? ? ? ??

? ? ? ?}

}


//方式2:此法有個缺點(diǎn):沒在for之前把count+1,最終位數(shù)會少1 ? ?

/** ? ? ? int num = 999;

? ? ? ?int count = 0;

? ? ? ?int dig = 1;

? ? ? ?

? ? ? if(num > -1000000000 && num < 1000000000){

? ? ? ? ? ? ? ? count = 1;?

? ? ? ? ? ? }?

? ? ? ?else {

? ? ? ? ? ?System.out.println("輸入的值必須在10位以內(nèi)");

? ? ? ?}?

? ? for (int i = 1; i < 10; i++) {


? ? ? ? ? ? dig = (dig * 10);

? ? ? ? ? ??

? ? ? ? ? ? if(num - dig >= 0) {

? ? ? ? ? ? ? count = count +1;?

? ? ? ? ?// ?System.out.println(dig); ? ?

? ? ? ? ? ? }

}

**/ ? ? ??

? ? System.out.println("它是個" + count +"位的數(shù)!");

? } ? ?

} ? ?


正在回答

2 回答

是的,之前我看錯了。方法二因為dig第一次循環(huán)值為10,所以第一次循環(huán)若>=,count結(jié)果應(yīng)為2.所以把count=0改為count=num==0 ? 0 : 1;然后若超10位要求重輸,剩下代碼不變。這樣應(yīng)該行吧

0 回復(fù) 有任何疑惑可以回復(fù)我~

方法二的結(jié)果count就是比位數(shù)少1,所以在輸出之前進(jìn)行count++,再輸出count就可以了呀

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

錘子版黑鍋牌 提問者

輸出之前已經(jīng)++了,還是少1,所以我才在for循環(huán)之前加一個判斷,以此加1后進(jìn)入for循環(huán)再進(jìn)行自加。相當(dāng)于在for循環(huán)里,count的初值已經(jīng)是1了,而不是0.
2019-02-02 回復(fù) 有任何疑惑可以回復(fù)我~

舉報

0/150
提交
取消

請教我方法2的改進(jìn)

我要回答 關(guān)注問題
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號