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());