2015-10-09 10 views
0

我什麼都不做,只是輸入一些測試代碼, 但它沒有工作。android ListIterator,類鑄造bug?請檢查我的日誌

這裏是我的代碼,

@Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(new MySurfaceView(this)); 

     List<String> list = new ArrayList<>(); 

     for(int i = 0; i<10; i++){ 
      list.add(""+ ((int) Math.random()*100)); 
     } 

     ListIterator ite = list.listIterator(); 
     while (ite.hasNext()){ 

      Log.d("MainActivity", "ite.next("+ite.nextIndex()+") #"+ite.next()); 
     } 
    } 

和日誌,

10-09 15:12:26.913 .com.iteratortest002 D/MainActivity﹕ ite.next(0) #0 
10-09 15:12:26.913 .com.iteratortest002 D/MainActivity﹕ ite.next(1) #0 
10-09 15:12:26.913 .com.iteratortest002 D/MainActivity﹕ ite.next(2) #0 
10-09 15:12:26.913 .com.iteratortest002 D/MainActivity﹕ ite.next(3) #0 
10-09 15:12:26.923 .com.iteratortest002 D/MainActivity﹕ ite.next(4) #0 
10-09 15:12:26.923 .com.iteratortest002 D/MainActivity﹕ ite.next(5) #0 
10-09 15:12:26.923 .com.iteratortest002 D/MainActivity﹕ ite.next(6) #0 
10-09 15:12:26.923 .com.iteratortest002 D/MainActivity﹕ ite.next(7) #0 
10-09 15:12:26.923 .com.iteratortest002 D/MainActivity﹕ ite.next(8) #0 
10-09 15:12:26.923 .com.iteratortest002 D/MainActivity﹕ ite.next(9) #0 

所有的數字有 '0' 發生了什麼?

回答

0

您需要在Math.random()*100左右放置括號以覆蓋優先級。

list.add(""+ ((int) (Math.random()*100))); 

否則,(int)只是將浮子0.01(不包括)由random()0第一其中當乘以100返回再次給出一個0