私はこのプログラムを動作させるためにIf文で再帰を使用する必要があるJavaプログラミングの問題があります。私は残念ながらこれをより困難にするループを使用することはできません。If文を使用したJava再帰
この機能を使用するには、RECURSIONを使用します。 *ユーザーに低い数値と高い数値の間の数値を問い合わせて読み取ります。 *ユーザーが範囲内の数値を入力するまで、読み取りを維持します。使用再帰ここ
public static int readWithinRange(Scanner in, PrintStream out, int low, int high)
{
// notice I'm passing the Scanner and the PrintStream; do NOT read from
// System.in or write to System.out
out.println("Please enter a number.");
int number1=in.nextInt();
if (number1 <= low) {
return low;
} else if (number1 >= high) {
return high;
} else if (number1 >= low && number1 <= high){
return number1;
}
return number1;
/*return low;*/
}
は、この方法を実行するためのコードです:
public void testReadWithinRange()
{
InputStream in = new ByteArrayInputStream(" 10 20".getBytes());
PrintStream out=new PrintStream(new ByteArrayOutputStream());
Scanner in_s=new Scanner(in);
int ans=Assignment4.readWithinRange(in_s,out,15,25);
Assert.assertEquals(20, ans);
in_s=new Scanner(new ByteArrayInputStream("10 20".getBytes()));
ans=Assignment4.readWithinRange(in_s,out,10,20);
Assert.assertEquals(10, ans);
in_s=new Scanner(new ByteArrayInputStream("10 20 21".getBytes()));
Assert.assertEquals(21, Assignment4.readWithinRange(in_s,out,21,30));
}
@Grade(points=25)
@Test
すべてのヘルプは大歓迎され、ポイントが報われる!事前に感謝します
再帰を使用する必要がある場合は、それを使用しないでください。 – Eran
あなたの問題は何ですか? –
私はJavaに慣れていないので、この問題を解決するために何をすべきかはわかりません。 – rls1982