Java Can';似乎没有返回值

Java Can';似乎没有返回值,java,class,object,Java,Class,Object,我刚刚编辑了我的帖子来更新我的代码。。。我编译时仍然收到一条错误消息,说明“找不到符号”。我从来没有见过这个错误,所以我不知道如何调试它,我真的很感谢大家的帮助 public class HealthRecord { private int ID; // stores ID number private String last; // stores last name private String first; //stores first name priva

我刚刚编辑了我的帖子来更新我的代码。。。我编译时仍然收到一条错误消息,说明“找不到符号”。我从来没有见过这个错误,所以我不知道如何调试它,我真的很感谢大家的帮助

public class HealthRecord {
    private int ID;  // stores ID number
    private String last; // stores last name
    private String first; //stores first name
    private double height; // stores height
    private double weight; // stores weight
    private double bmi;// i may need to create the bmi variable so that it can be stored (weight / (height*height)) *703;

    public HealthRecord( int ID, String last, String first, double height, double weight)
    {
        this.ID = ID;
        this.last = last;
        this.first = first;
        this.height = height;
        this.weight = weight;
        this.bmi = bmi;
    }

    public int getID()    {
        return ID;
    }

    public void setID(int ID)    {
        this.ID = ID;
    }

    public String getLast() {
        return last;
    }

    public void setLast(String last)    {
        this.last = last;
    }

    public String getFirst()    {
        return first;
    }

    public void setFirst(String last) {
        this.first = first;
    }

    public double getheight() {
        return height;
    }

    public void setHeight(double height) {
        this.height = height;
    }

    public double getWeight() {
        return weight;
    }

    public void setWeight(double weight) {
        this.weight = weight;
    }

    public double getbmi() {
        return (weight / (height*height)) *703;
    }

    public void setbmi(double bmi) {
        this.bmi = bmi;
    }
}

下节课 替换

System.out.printf("%d %d", HealthRecord.getID, HealthRecord.getBmi);

使用您创建的
healthrecord
实例。方法
getID
需要括号。另外,
getBmi
作为一种方法不存在。目前您有
bmi


旁白:

目前此代码未编译。
openFile
中的所有方法都是实例方法。您需要创建一个实例并使用:

Openfile myOpenfile = new Openfile();
myOpenfile.openFile();
myOpenfile.readFile();
myOpenfile.closeFile();
Java命名约定表示类名以大写字母开头,例如
Openfile


编辑:

在更新的文件中,
getBmi
不存在,而是
getBmi

System.out.printf("%d %f", healthrecord.getID(), healthrecord.getbmi());
                                                              ^

您可能希望将该方法重命名为
getBmi
,以遵循方法命名约定。

我在
HealthRecord
构造函数或bmi的getter方法中未看到任何bmi计算。 甚至我在
healthcrecord
类中也没有看到
getBmi()
方法

HealthRecord
类中添加以下方法:

public double getBmi() {

    return (weight / (height*height)) *703; //check this formula if it is correct for BMI calculation or not
}
接下来,您需要在主类中使用此调用:

System.out.printf("%d %d", healthrecord.getID(), healthrecord.getBmi());

你得到了什么错误?你在哪里尝试返回值???(是否将成员设置为私有取决于您——通常会对程序逻辑产生影响。)基本上,您在没有任何实例的情况下调用非静态方法。这段代码无法编译。应该重命名主类。@MrD我现在遇到找不到符号错误。。请参阅上面发布的代码…您应该从一个读取和打印文件的基本程序开始,然后慢慢添加逻辑来解析这些行。因此,我添加了一个新的类运行。仍然会出错。我认为这与我试图计算BMI的位置有关。导入java.util.Scanner;导入java.io.File;类运行{public static void main(字符串args[])引发异常{OpenFile data=new OpenFile();data.OpenFile();data.readFile();data.closeFile();}}}检查公式中的bmi计算并添加getBmi()方法在您的HealthRecord类中,正如我在上面的回答中所说的。对此感到抱歉,我过早地发布了该评论。我刚刚在我的原始帖子中更新了我的代码,但在编译时仍然遇到一个错误——“找不到符号”。我不知道这意味着什么,也不知道如何修复它。非常感谢您的帮助。请替换此
System.out.printf(“%d”,healthrecord.getID(),healthrecord.getBmi())System.out.printf(“%d%d”,healthrecord.getID(),healthrecord.getBmi())
然后重试…我发现了问题,我需要一个%f来匹配在运行状况记录类中执行的计算中的格式。谢谢,这是一个很棒的调用!但是现在我们在System.out.printf(“%d”、healthrecord.getID()、healthrecord.getBmi())中得到一个“非法格式转换异常”。。。我不知道如何解决这个问题。。。
public double getBmi() {

    return (weight / (height*height)) *703; //check this formula if it is correct for BMI calculation or not
}
System.out.printf("%d %d", healthrecord.getID(), healthrecord.getBmi());