Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从文件/数组中读取。没有价值观。没有错误_Java - Fatal编程技术网

Java 从文件/数组中读取。没有价值观。没有错误

Java 从文件/数组中读取。没有价值观。没有错误,java,Java,你知道我错过了什么吗?我正在读取一个文件数组。文本文件中的值不会被存储,也没有输出。我得到的只是“姓名和总数”,但没有值 我不知道 private int[] totals; private String[] names; private String[] list; private int count; public void readData() throws IOException { BufferedReader input = new BufferedReader(ne

你知道我错过了什么吗?我正在读取一个文件数组。文本文件中的值不会被存储,也没有输出。我得到的只是“姓名和总数”,但没有值

我不知道

private int[] totals;
private String[] names;
private String[] list;

private int count;


public void readData() throws IOException {

    BufferedReader input = new BufferedReader(new FileReader("cookies.txt"));

    //create the arrays
    totals = new int[count];
    names = new String[count];
    list = new String[count];

    //read in each pair of values
    String quantityString = input.readLine();
    for (int i = 0; i < count; i++) {
        names[i] = input.readLine();
        list[i] = input.readLine();
        quantityString = input.readLine();
        totals[i] = Integer.parseInt(quantityString);
    }

}

public void display() {
    System.out.println("names           totals")
    for (int i = 0; i < count; i++)
        System.out.println(list[i] + "        \t " + names[i] + "        \t" + totals[i]);
}

//called to compute and print the result
public void printResults() {

    //find the best teacher
    int maxIndex = 0;
    int maxValue = 0;

    //for each record stores
    for (int i = 0; i < count; i++) {
        //if we have a new MAX value so far, update variables
        if (maxValue < totals[i]) {
            maxValue = totals[i];
            maxIndex = i;
        }
    }
}
private int[]总计;
私有字符串[]名称;
私有字符串[]列表;
私人整数计数;
public void readData()引发IOException{
BufferedReader输入=新的BufferedReader(新文件阅读器(“cookies.txt”);
//创建数组
总计=新整数[计数];
名称=新字符串[计数];
列表=新字符串[计数];
//读入每对值
String quantityString=input.readLine();
for(int i=0;i
您从未给变量
count
一个值,因此Java将其初始化为
0
。这意味着您的数组的大小也为
0

因此,由于
count
为零,您从未从文件中读取任何内容,这就是为什么数组中没有存储任何内容,也没有打印任何内容的原因

示例:逐行读取文件

// create temporary variable to hold what is being read from the file
String line = "";

// when you don't know how many things you have to read in use a List
// which will dynamically grow in size for you
List<String> names = new ArrayList<String>();
List<Integer> values = new ArrayList<Integer>();

// create a Reader, to read from a file
BufferedReader input = new BufferedReader(new FileReader("cookies.txt"));

// read a full line, this means if you line is 'Smith 36' 
// you read both of these values together
while((line = input.readLine()) != null) 
{
   // break 'Smith 36' into an array ['Smith', '36']
   String[] nameAndValue = line.split("\\s+"); 

   names.add(nameAndValue[0]);                   // names.add('Smith')
   values.add(Integer.parseInt(nameAndValue[1]); // values.add(36);
}
//创建临时变量以保存从文件中读取的内容
字符串行=”;
//当你不知道有多少东西你必须阅读在使用一个列表
//它将为您动态地增加大小
列表名称=新的ArrayList();
列表值=新的ArrayList();
//创建读取器,以从文件中读取
BufferedReader输入=新的BufferedReader(新文件阅读器(“cookies.txt”);
//读一整行,这意味着如果你的行是“史密斯36”
//您可以同时读取这两个值
而((line=input.readLine())!=null)
{
//将“Smith 36”拆分为一个数组['Smith',36']
字符串[]name和value=line.split(\\s+);
names.add(nameAndValue[0]);//names.add('Smith'))
values.add(Integer.parseInt(name和value[1]);//values.add(36);
}

以更好的格式显示完整的代码。分配给“count”的是什么?在进行格式设置时,我猜测了一下。我结束了if块、for循环和方法。这可能很早。最好将您的全部源代码放在这里,以便我们可以看到具体的错误。您知道需要多少东西吗读进去吗?如果是这样的话,把计数设为那个数字。我很抱歉问了这么一个问题,但我已经发疯了好几个小时了。我对java或编码一无所知。26史密斯3考特尼5图伊8马勒巴7温恩5阿门多拉8伯恩斯9科尼尔斯5戴维斯4迪帕利10迪洛纳多12多诺弗里奥15哈里斯5海耶8亨塞尔德9克萨达8斯格尔扎6尤塞夫19赞布阿诺18 Kumuyi 7 Aliberti 6 Alvarez 10 Chiara 12 Maloney 5 Stix 5 Merritt22@JaneSmith每个数字-名称对后面都有换行符?我在哪里设置这个数字?