編寫一個extractOddDigits()函數,它從正數n中提取奇數位,並且 將奇數位依次組合到一個新數字中。新號碼返回到 呼叫方法。如果輸入數字n不包含任何奇數,則返回-1。 例如,如果 n = 1234567,則返回1357;如果n = 28,則返回-1。提取奇數數字的Java方法
測試用例:
(1) n : 12345;
(2) n : 54123;
(3) n : 246;
(4) n : -12 (give an error message)
預期成果:
(1) oddDigits = 135;
(2) oddDigits = 513;
(3) oddDigits = -1;
(4) oddDigits = Error input!!
這是我做的方法,但輸出
(1) oddDigits = 135;
(2) oddDigits = 513;
(3) oddDigits = -1;
(4) oddDigits = -1
最後輸出應該是錯誤輸入!
public static long extractOddDigits(long n){
String output = "";
if(n < 0) // check if negative
{
output = "Error Input!!";
}
if(n % 2 == 0){ //check even
output = "-1";
}
while(n > 0) {
int left = (int) (n % 10);
if(left % 2 != 0)
output = left + output;
n /= 10;
}
System.out.println("oddDigit = " + output);
}
如何檢查n是否爲負數,然後進入錯誤輸入?
這是功課?作爲一個提示,雖然你可以單獨使用整數,但使用'Integer.toString()'將數字轉換爲字符串,收集奇數並使用'Integer.parseInt()'獲取結果可能更容易。 –
那麼,這是便宜的,如果這是消極返回一個錯誤,這將是的'&'這裏 – AxelH