[英]unable to resolve getter method
我正在學習Java作為初學者,並且正在嘗試創建一個程序來計算您的未來年齡。
我有以下問題:
錯誤:(14,64)Java:找不到符號符號:方法getYear()位置:類ageProgram
我似乎無法讓我的getter方法被聲明為公共方法。
ageProgram.java:
import java.util.Scanner;
public class ageProgram {
public static void main(String[]args) {
Scanner keyboard = new Scanner(System.in);
System.out.println("enter your birth year");
int yearBirth = keyboard.nextInt();
System.out.println("enter a (future) year");
int yearTo = keyboard.nextInt();
ageCalculator agecalculator = new ageCalculator(yearBirth, yearTo);
if (yearBirth > yearTo) {
System.out.println("You will be born in %s years", getYear());
} else {
System.out.println("You are %s years old", getYear());
}
}
}
ageCalculator.java:
public class ageCalculator {
public ageCalculator(int yearBirth, int yearTo) {
if (yearBirth > yearTo) {
int year = (yearBirth - yearTo);
year = year.toString();
} else {
int year = (yearTo - yearBirth);
year = year.toString();
}
}
public String getYear() {
return year;
}
}
我不確定自己在做什么錯...我嘗試檢查關於stackoverflow的類似/其他問題的解決方案,但似乎沒有任何效果。
謝謝您的幫助!
您必須告訴您getYear
方法所指的對象。 在您的示例中,您必須將getYear
調用為agecalculator.getYear()
並且一切都應該沒問題。
嘗試這個
ageProgram.java
import java.util.Scanner;
public class ageProgram {
public static void main(String[]args) {
Scanner keyboard = new Scanner(System.in);
System.out.println("enter your birth year");
int yearBirth = keyboard.nextInt();
System.out.println("enter a (future) year");
int yearTo = keyboard.nextInt();
ageCalculator agecalculator = new ageCalculator(yearBirth, yearTo);
if (yearBirth > yearTo) {
System.out.format("You will be born in %s years", agecalculator.getYear());
} else {
System.out.format("You are %s years old", agecalculator.getYear());
}
}
}
ageCalculator.java
public class ageCalculator {
String yearText;
public ageCalculator(int yearBirth, int yearTo) {
if (yearBirth > yearTo) {
int year = (yearBirth - yearTo);
yearText = String.valueOf(year);
} else {
int year = (yearTo - yearBirth);
yearText = String.valueOf(year);
}
}
public String getYear() {
return yearText;
}
}
如果你不明白,我可以解釋
編輯:我一開始沒有得到,但以上答案也是正確的。 您應該使用agecalculater.getYear()來調用方法edit:您應該使用大寫字母開頭一個類名。 你可以使用
yearText = String.valueOf(yearBirth - yearTo);
代替
int year = (yearTo - yearBirth);
yearText = String.valueOf(year);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.