我试图定义一个没有任何特定大小的数组,但似乎无法弄明白。
任何帮助都表示赞赏,关于我的编码的任何评论都很棒,所以我可以修复它以供将来学习:) 此外,count变量似乎计数64个字符而不是txt文件中的27个字符?
感谢。
编辑:仅供参考我还有另一个课程,其中包含我目前正在处理的一些方法(在代码末尾提到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();
}
}
答案 0 :(得分:4)
数组必须具有固定大小。如果您事先不知道尺寸,请改用ArrayList
。
将值添加到ArrayList
后,您可以创建一个数组(其大小基于ArrayList
中的元素数)并将数据复制到其中。
答案 1 :(得分:0)
数组应该声明行数,如果您不确定该用户是否为ArrayList。
答案 2 :(得分:0)
您无法在Java中创建没有大小或可变大小数组的数组。 如果您不确定大小,最好的方法是使用ArrayList而不是Array。但是如果你只想使用数组那么你可以做的就是当数组大小满了时将数组大小增加一些因子