そこで、main でいくつかの変数を宣言し、新しいオブジェクトを作成しました。変数を引数としてコンストラクターに渡します。ここで、クラス内でメソッドを呼び出すと、これらの変数はメソッドに引数として渡すことなく、メソッドからアクセスできると考えていたでしょう。そうではありませんか?
コードは次のとおりです。
import java.util.Scanner;
public class Step2_lab11 {
public static void main(String[] args) {
final int TAO = 50;
final double DELTA_MINUTES = 0.1;
System.out.println("VINETS AVKYLNINGSTID \n");
System.out.println("Ange vinets temperatur:");
Scanner userIn = new Scanner(System.in);
double wineTemp = userIn.nextDouble();
System.out.println("Vinets önskade temperatur:");
double preferredTemp = userIn.nextDouble();
System.out.println("Kylens/frysens temperatur:");
double chillTemp = userIn.nextDouble();
WineChiller wineChiller = new WineChiller(wineTemp, preferredTemp, chillTemp);
}
}
クラス WineChiller.java は次のとおりです。
public class WineChiller {
public WineChiller(double wineTemp, double preferredTemp, double chillTemp) {
getChillingTime();
}
public void getChillingTime() {
while(wineTemp>preferredTemp)
{
elapsedTime += DELTA_MINUTES;
double dT = (wineTemp - chillTemp) * DELTA_MINUTES / TAO;
wineTemp -= dT;
}
System.out.println(Math.round(elapsedTime));
}
}
getChillingTime が wineTemp などを変数に解決できないのはなぜですか?
追加するために編集: ポインタの人に感謝します。しかし、追加の注意事項があります。この指示は、WineChiller クラスにはコンストラクターとメソッド getChillingTime のみを含める必要があり、getChillingTime は引数を取らないでください! 課題用紙にタイプミスはありませんか?