为了账号安全,请及时绑定邮箱和手机立即绑定

Java数组值被覆盖

Java数组值被覆盖

MMTTMM 2021-04-09 14:10:36
我刚刚开始使用OOP,并且正在尝试创建一个程序,该程序创建一个数组来存储三种不同类型的信息,即名称,双精度型和Int型。由于某种原因,当我运行该程序并输入信息时,它没有正确存储。例如,如果我在迭代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();**班级代码Public Class file    public String getName(String name) {        return name;    }    public double getLength(double length) {        return length;    }    public int getRating(int rating) {        return rating;    }
查看完整描述

1 回答

?
不负相思意

TA贡献1777条经验 获得超10个赞

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


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


从吸气剂中删除参数。


public String getName() {

    return name;

}

并像


boats[i].getName()


查看完整回答
反对 回复 2021-04-14
  • 1 回答
  • 0 关注
  • 213 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信