假設:轉換陣列
在串數組的每個字符串的類型爲double。
字符串數組中的某些字符串可能爲空。
每當字符串數組一個字符串爲空,在整數數組的相應整應該有0
編輯值:成功轉換後,我想回到這個創建整數數組。
我被困在字符串爲空的地方,在字符串爲空的地方出現NumberFormatException。
在此先感謝。
假設:轉換陣列
在串數組的每個字符串的類型爲double。
字符串數組中的某些字符串可能爲空。
每當字符串數組一個字符串爲空,在整數數組的相應整應該有0
編輯值:成功轉換後,我想回到這個創建整數數組。
我被困在字符串爲空的地方,在字符串爲空的地方出現NumberFormatException。
在此先感謝。
所以,你想你的字符串轉換爲整數,即使他們存儲雙打?如果是的話,那麼這樣的事情應該工作:
for (int i = 0; i < stringArray.length; i++) {
String s = stringArray[i];
if (s == null || s.isEmpty()) {
integerArray[i] = new Integer(0);
} else {
integerArray[i] = new Integer(s.substring(0,s.indexOf(".")));
}
}
作爲思想工作。謝謝。 –
在將字符串轉換爲雙精度之前,可以使用if語句來檢查字符串是否等於null。
如果String等於null,則將零移動到Integer數組,否則執行String to Double轉換,將Double轉換爲Integer,並將Integer放入整數數組中。
一個簡單的三元運算符將做到這一點:
String[] s = //Array instantiation
double d = new double[s.length];
for(int i = 0; i < s.length; i++)
{
d[i] = s[i] == null ? 0 : Double.parse(s[i]);
}
希望這會有所幫助!
public class Test {
public static void main(String[] args) {
String[] strArray = {"1.1", "2.2", null, "3.3"};
Integer[] intArray = new Integer[4];
for (int i = 0; i < strArray.length; i++) {
intArray[i] = (strArray[i] == null) ? 0 : (int) Double.parseDouble(strArray[i]);
}
System.out.println("String array = ");
for (String str : strArray) {
System.out.print(str + " ");
}
System.out.println();
System.out.println("Integer array = ");
for (Integer integer : intArray) {
System.out.print(integer + " ");
}
}
}
感謝您的回覆。 –
如果您顯示目前爲止的代碼,這將有所幫助。 – assylias
沒有你的問題的代碼,你似乎沒有代碼熱情。 – vikiiii