2016-09-19 65 views
0

我一直在研究一個需要GPS座標並使用2d數組來保存[0]和[1024] [512]之間座標的android應用程序。截至目前,我有main_activity創建BufferedReader,然後通過我創建的CoordinatesHandler類傳遞它,它將通過文本文件進行過濾並拆分文本座標並將它們作爲整數存儲在2d數組中。雖然我無法通過構造函數傳遞BufferedReader。謝謝您的幫助。無法將BufferedReader應用到Java類的構造函數中

這裏是CoordinatesHandler類;

public class CoordinatesHandler{ 
    Integer[][] CoordinatesValue = new Integer[1024][512]; 

    public void CoordinatesHandler(BufferedReader reader){ 
     String line; 

     while(true){ 
      int y= 0; 
      try { 
       line = reader.readLine(); 
       line.trim(); 
       String splitCords[] = line.split("\\s+"); 
       if (!line.contains("#") && line != null) { 
        for (int x = 0; x <= 1024; x++) { 
         CoordinatesValue[x][y] = Integer.parseInt(splitCords[x]); 
         Log.d(Integer.toString(x),Integer.toString(y)); 
        } 
       }else{break;} 
      }catch(IOException e){Log.d("error", "IO Exception");} 
      y++; 
     } 

    } 
} 

這裏是我在main_activity實施這一部分,說明(該readIt方法是提供給Android開發者乘方法來下載和閱讀文本文件從網上一個)

public String readIt(InputStream stream, int len) throws IOException, UnsupportedEncodingException { 
     BufferedReader reader = null; 
     reader = new BufferedReader(new InputStreamReader(stream, "UTF-8")); 

     new CoordinatesHandler(reader); 

     return "hello"; 
    } 

的問題是,編譯器不喜歡「新CoordinatesHandler(閱讀器)」

回答

1

構造不應該有返回類型。從構造函數中移除返回類型「void」並進行編譯。