2014-10-06 93 views
0

我試圖定義一個沒有任何特定大小的數組,但似乎無法弄清楚。在Java中沒有大小的數組

任何幫助表示讚賞,任何有關我的編碼的評論是真棒,所以我可以修復,以供將來學習:) 此外,計數變量似乎計數64個字符,而不是27個txt文件?

謝謝。

編輯:FYI有一個包含一些方法我目前正在上(其MapFunctions在碼的末尾所提到的)

import java.io.FileInputStream; 
import java.io.InputStream; 
import java.util.Scanner; 

public class MapMain { 
    public static void main(String[] args){ 
     Scanner input = new Scanner(System.in); 
     String T; 
     System.out.print("What is the file dest?"); 
     T=input.nextLine(); 
     //String [][] map = new String[!][!]; 
     InputStream is = null; 
     int i; 
     char c; 

     try{ 
      // new input stream created 
      is = new FileInputStream(T); 
      System.out.println("Characters printed:"); 
      int count; 
      count = 0; 
      // reads till the end of the stream 
      while((i=is.read())!=-1){ 
       count=count+1; 
       c=(char)i; 

       // prints character 
       System.out.print(c); 
       for (int i = 0; i<array1.length;i++){ 
        for (int j = 0; j<array1[i].length;j++){ 
         array1[i][j]=c; 
        } 
       } 
      } 
      System.out.print("\n"+count+"\n"); 
     }catch(Exception e){ 
      // if any I/O error occurs 
      e.printStackTrace(); 
     }finally{ 
     } 
     MapFunctions ankosh = new MapFunctions(); 
    } 
} 
+3

不能,數組必須具有固定的大小。您可以根據需要將它複製到更大或更小的陣列,或者您可以使用內置集合API,包括'ArrayList',它可以根據您的需要動態調整大小的陣列或'HashMap' – MadProgrammer 2014-10-06 08:22:16

回答

4

陣列必須有一個固定的大小另一個類。如果您事先不知道尺寸,請改用ArrayList

將值添加到ArrayList後,您可以創建一個數組(其大小基於ArrayList中的元素數)並將數據複製到該數組。

+0

是否有可能2D ArrayList?和我可以指定我想要刪除的元素(如在地圖[行] [col])? @Eran – Ankosh 2014-10-06 08:25:34

+0

@Ankosh你可以有一個'ArrayList >'。 – Eran 2014-10-06 08:26:49

+0

它在下面的例子中用到了嗎? 'ArrayList > Contain = new ArrayList >(); Contain.get(1(1));' @Eran – Ankosh 2014-10-06 08:30:27

0

數組應該有聲明的行數,如果您不確定該用戶Ar​​rayList。

You can read example here

+0

在這個例子中說是通過索引獲取元素,是否有可能擁有一個2D ArrayList? – Ankosh 2014-10-06 08:27:20

+0

您可以在ArrayList中插入Object,也可以在ArrayList中插入String數組。所以它將像2D字符串陣列一樣工作,並且不需要預先設置大小。 – AAnkit 2014-10-06 08:31:10

0

您不能創建沒有大小或Java變量大小的數組的數組。 如果您不確定大小,最好的方法是使用ArrayList而不是Array。但是如果你只想使用數組,那麼你可以做的是在數組大小已滿的情況下將數組大小增加一些因子。