我不知道如何調用此函數,但我可以解釋我的意思。如何使用動態長度創建int
僞代碼:
public int createNumberWithXLenght(int number, int lenght){
....
}
可能的輸出
500 == createNumberWithXLenght(5, 2);
10 == createNumberWithXLenght(1, 1);
7000 == createNumberWithXLenght(7, 3);
我不知道如何調用此函數,但我可以解釋我的意思。如何使用動態長度創建int
僞代碼:
public int createNumberWithXLenght(int number, int lenght){
....
}
可能的輸出
500 == createNumberWithXLenght(5, 2);
10 == createNumberWithXLenght(1, 1);
7000 == createNumberWithXLenght(7, 3);
什麼你要找的是科學記數法它是x * 10^y
形式的數字,其中x是1(包含)和10(獨佔)之間的任何數字),y是指數。
您可以使用這段代碼:
public int returnScientificInteger(int n, int power) {
return (int) (n * Math.pow(10, power));
}
優秀的作品像魅力 – botenvouwer 2014-10-29 10:24:39
只要你能做到這一點,如果u瞭解問題的權利
public int createNumberWithXLenght(int number, int length){
return (int)(number * Math.pow(10,length));
}
'Math.pow(...)'返回一個'double' – 2014-10-29 10:22:21
是的,這就是我的意思,謝謝。但是,這返回一個雙... – botenvouwer 2014-10-29 10:22:35
剛剛更新,將其轉換爲整數。 – 2014-10-29 10:25:08
是第一個參數必須是一個範圍內,1-9,但第二個參數我是任何數字。到目前爲止,我通過循環長度的長度來創建一個字符串,然後從字符串中解析一個int。但是,必須有更好的解決方案嗎? – botenvouwer 2014-10-29 10:21:01
第二個數字不能是任何數字,因爲您正在返回一個整數。看看BigInteger。 – 2014-10-29 10:21:48
這很危險,因爲你可以很容易地超過'int'類型的上界 – 2014-10-29 10:22:11