我希望我的程序顯示沒有「null」的結果。我明白,當我總結str1 + str2時,str1等於null,這就是爲什麼結果不正確,但我不知道如何解決它。在開始時顯示結果爲「null」
static String str1;
static String str2;
public static void ConvertBinaryArrayToInt(List<Integer> binary) {
for (int i = 0; i<binary.size(); i++){
int c = binary.get(i);
str2 = String.valueOf(c);
str1 = str1 + str2;
}
System.out.println(str1);
}
public static void main(String[] args){
List<Integer> binary1 = new ArrayList<>(4);
binary1.add(0,1);
binary1.add(1,0);
binary1.add(2,1);
binary1.add(3,1);
BinaryArrayToNumber.ConvertBinaryArrayToInt(binary1);
}
只是初始化str1如下:'static String str1 =「」;' –
你確定你的程序做了你想做的事嗎?字符串中的加號'+'符號實際上是將字符串連接起來(它並不總和int值)。不確定這是你的意圖,還是將二進制數字轉換爲十進制數字,因爲在描述中使用了術語「總結」。 – vefthym
作爲可讀性和避免錯誤的問題,總是*始終*初始化變量。 Java爲字段(包括靜態字段)分配默認值,因此可以讓您不用顯式初始化就可以離開,但我的建議是不依賴於它。 –