トークン "{" に構文エラー Java
解決したいこと
エラーの原因を教えて頂きたいです
Java初心者です。
eclipseを使いJavaで
年齢・身長・体重を入力すると
大人/子供の健康チェックができるような仕組みをつくってみましたが、
どうしても構文エラーになってしまうので原因を教えて頂きたいです。
発生している問題・エラー
トークン "{" に構文エラーがあります。このトークンの後には { を指定する必要があります
または、問題・エラーが起きている画像をここにドラッグアンドドロップ
該当するソースコード
package exercise;
// Person クラスを継承した Adult クラス
class Adult extends Person {
this.ageType = "成人";
this.health1Type = "BMI";
super.printData(this.height, this.weight);
System.out.println(this.health1Type + "は" + Math.round(this.bmi()) + "です");
public record bmi() {
this.height = this.height / 100;
return this.weight / Math.pow(this.height,2);
}
}
上から3行目の↓にある文の"{"が原因らしいのですが…
class Adult extends Person {
下から5行目の↓の”{”もエラーが出ます。
public record bmi() {
Mainクラス
package exercise;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// 入力を受け付け
Scanner sc = new Scanner(System.in);
System.out.print("年齢を入力:");
int age = sc.nextInt();
System.out.print("身長を入力:");
double height = sc.nextDouble();
System.out.print("体重を入力:");
double weight = sc.nextDouble();
if(age >= 20) {
//Adult,Childのインスタンス
Adult adult = new Adult();
adult.height = height;
adult.weight = weight;
} else {
Child child = new Child();
child.height = height;
child.weight = weight;
}
System.out.println("======= END =======");
sc.close();
}
}
Personクラス
package exercise;
// Adult Child のスーパークラス
class Person {
//
public String ageType;
public String health1Type;
public int age;
public double height;
public double weight;
public void printData(double height, double weight) {
this.height = height;
this.weight = weight;
System.out.println(ageType + "です");
System.out.println("=====" + health1Type + "を計算します=====");
System.out.println("身長:" + this.height);
System.out.println("体重:" + this.weight);
}
}
0 likes