inputGetter()のforループで何が返されているかに問題があります。ダブルを入力すると、間違った値が返されるか、何も返されません。あなたの時間をありがとう。すべてのヘルプは非常にあなたは、次のコードを試すことができます(これは私自身の利益のために答えを急ぐので、必要ではありません、それは学校のためではありません。)Java追加プログラムの戻り値の問題
import java.util.Scanner;
public class AdditionExample {
public static void main(String[] args) {
double userInput1;
double userInput2;
System.out.println("Please enter a double-type number. Whole integers will not be accepted.");
userInput1 = inputGetter();
System.out.println("Please enter another double-type number. Whole integers will not be accepted.");
userInput2 = inputGetter();
additionExample(userInput1, userInput2);
}
public static double additionExample(double u, double i) {
double o = u + i;
System.out.println(o);
return o;
}
public static double inputGetter() {
Scanner inputGet = new Scanner(System.in);
boolean goodAnswer = true;
double userInput = 0.0;
while (goodAnswer == true) {
if (inputGet.hasNextDouble()) {
userInput = inputGet.nextDouble();
goodAnswer = false;
}
else {
System.out.println("You done did it wrong.");
inputGet.next();
break;
}
}
inputGet.close();
return userInput;
}
}
おそらく、あなたがScannerクラスを2回初期化するからです。メイン関数でスキャナの初期化を移動してから、試してみることができます。 –
「それは間違った値を返す」は不明です。 *何*入力のために返されますか? – Bohemian