Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.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,我刚刚开始使用OOP,我正在尝试创建一个程序,创建一个数组来存储三种不同类型的信息:名称、双精度和整数 由于某种原因,当我运行程序并输入信息时,它没有正确存储。例如,如果我在迭代1中输入“James”,22.5,4,然后在迭代2中输入“John”,23.66,8,然后打印数组,John,23.66和8打印两次。本质上,我希望数组中I的每次迭代都存储一组不同的值,但我似乎不明白为什么这不起作用 *编辑以反映答案 for(int i=0; i<boats.length; i++) {

我刚刚开始使用OOP,我正在尝试创建一个程序,创建一个数组来存储三种不同类型的信息:名称、双精度和整数

由于某种原因,当我运行程序并输入信息时,它没有正确存储。例如,如果我在迭代1中输入“James”,22.5,4,然后在迭代2中输入“John”,23.66,8,然后打印数组,John,23.66和8打印两次。本质上,我希望数组中I的每次迭代都存储一组不同的值,但我似乎不明白为什么这不起作用

*编辑以反映答案

for(int i=0; i<boats.length; i++) {
    System.out.printf("Name: " + boats[i].getName(name) + "  " +
                       "Age: " + boats[i].getLength(length) + "  " +
                       "Length: " + boats[i].getRating(rating) + "\n\n");
}
in.close();

getter返回的是您传入的参数,而不是setter存储的值

作为参数传递的变量中的值是最后输入的值,因此您将始终打印最后输入的值

从getter中删除参数

public String getName() {
    return name;
}
像这样调用

boats[i].getName()

getter返回的是您传入的参数,而不是setter存储的值

作为参数传递的变量中的值是最后输入的值,因此您将始终打印最后输入的值

从getter中删除参数

public String getName() {
    return name;
}
像这样调用

boats[i].getName()

阅读了解如何调试代码的提示阅读了解如何调试代码的提示谢谢!你的解释让我明白我做错了什么。谢谢!你的解释让我明白我做错了什么。