close
從vb到python,沒有什麼大問題。只有for迴圈的問題要適應。
而最近,規定要用java, C/C++之一來寫作業,
我開始比較認真的寫一個大一點的程式。(其實只有比書上的範例大一點,剛好可以交作業)
就被裡面的型別轉換搞死了。
真的,強型別檢查也太嚴格了吧…
如果有人要告訴我,我想太多的啊,那是最好的啦,我又可以學一招了。
舉例:
LinkedHashMap.put(); 裡面的參數只能是Object。所以int不能放進去,我必須放Integer
然後,我要把放進去的數字再加1。又告訴我Integer不能執行+這個動作,所以就變成:
LinkedHashMap a = new LinkedHashMap();
a.put(Integer.valueOf(1),Integer.valueOf(101));
Integer v = (Integer)a.get(Integer.valueOf(1));
a.put(Integer.valueOf(1),Integer.valueOf(v.intValue() + 1));
真的是搞死人了。
python:
a = {} #把a弄成set
a[1]=1
a[1] = a[1] + 1
vb:
dim a as new dictionary
a.add(1,1)
a.item(1)=a.item(1) + 1
不過,說真的 java 寫出來,要是 compile 會過,那程式就很少型別錯誤上的問題(廢話)
最近,公司案子要開始使用「點網」來做,將來會java使用機會就真的很少了。
連搞一個sorting,就要想很久。
至於 python 還是拿來交作業最好了。
舉例,排序一個list。
b = sorted(a) #搞定
for x in b:
....... #就可以拿出來用
而java
算了,就不細說了,反正我的java功力不好。
接下來,就來試「點網」吧
舉例:
LinkedHashMap.put(); 裡面的參數只能是Object。所以int不能放進去,我必須放Integer
然後,我要把放進去的數字再加1。又告訴我Integer不能執行+這個動作,所以就變成:
LinkedHashMap a = new LinkedHashMap();
a.put(Integer.valueOf(1),Integer.valueOf(101));
Integer v = (Integer)a.get(Integer.valueOf(1));
a.put(Integer.valueOf(1),Integer.valueOf(v.intValue() + 1));
真的是搞死人了。
python:
a = {} #把a弄成set
a[1]=1
a[1] = a[1] + 1
vb:
dim a as new dictionary
a.add(1,1)
a.item(1)=a.item(1) + 1
不過,說真的 java 寫出來,要是 compile 會過,那程式就很少型別錯誤上的問題(廢話)
最近,公司案子要開始使用「點網」來做,將來會java使用機會就真的很少了。
連搞一個sorting,就要想很久。
至於 python 還是拿來交作業最好了。
舉例,排序一個list。
b = sorted(a) #搞定
for x in b:
....... #就可以拿出來用
而java
算了,就不細說了,反正我的java功力不好。
接下來,就來試「點網」吧
全站熱搜