0

投稿を編集してコードを更新しました...コンパイルすると、「シンボルが見つかりません」というエラーメッセージが表示されます。このエラーは見たことがないので、デバッグ方法がわかりません。皆さんの助けに本当に感謝しています!

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;
    }
}

次の授業

    import java.util.Scanner; 
import java.io.File; 

public class OpenFile 
    { 
        private Scanner input; 

        public void openFile() throws Exception 
        { 
        input = new Scanner(new File("medrec.txt")); // opens the text file to be read (weight / (height*height)) *703); 


    } 

     public void readFile() 
     { 
        int ID;  // stores ID number 
        String last; // stores last name 
        String first; //stores first name 
        double height; // stores height 
        double weight; // stores weight      

        input.nextLine(); 

        while(input.hasNextLine()) 
            {                     
                ID = input.nextInt();  
                last = input.next(); 
                first = input.next(); 
                height = input.nextDouble(); 
                weight = input.nextDouble(); 

                HealthRecord healthrecord= new HealthRecord(ID,last,first,height,weight); 


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

    public void closeFile() 
    { 
        input.close(); 
    } 


} 
4

2 に答える 2

1

交換

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

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

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メソッドの命名規則に従うために、メソッドの名前を に変更することができます。

于 2013-04-09T18:44:02.993 に答える
0

HealthRecordコンストラクターまたは bmi の getter メソッドでbmi 計算が表示されません。クラスgetBmi()にメソッドが表示されません。HealthRecord

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());
于 2013-04-09T18:56:24.400 に答える