[英]Hypotenuse program, can't figure out how to let program run until user enters 2
我正在編寫一個找到三角形斜邊的程序,我需要讓該程序運行任意次,直到用戶輸入2。我無法弄清楚當用戶輸入2時如何結束該程序。
package assignment5a;
import java.util.Scanner;//import Scanner
public class Assignment5A {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);//new Scanner variable
int answer;
double side1, side2, result;
System.out.println("Enter 1 to calculate the hypotenuse of a triangle or enter 2 to quit.");
answer = sc.nextInt();
while(answer < 0 || answer > 2){
System.err.println("Please enter a valid answer.");
System.out.println("Enter 1 to calculate the hypotenuse of a triangle or enter 2 to quit.");
answer = sc.nextInt();
}
System.out.println("Enter side 1 of the triangle :");//input for side 1
side1 = sc.nextDouble();
System.out.println("Enter side 2 of the triangle :");//input for side 2
side2 = sc.nextDouble();
result = hypotenuse(side1, side2);//declares result as the result of the method hypotenuse
System.out.printf("Hypotenuse of your triangle is: %.2f%n", result);//prints results
}
public static double hypotenuse(double s1, double s2){//method for calculating hypotenuse
double hypot;
hypot = Math.sqrt((Math.pow(s1, 2) + Math.pow(s2, 2)));
return hypot;
}
}
Wilmol的答案和Elliot Frisch的答案/評論只是解決方案的一半。
另一半是,您需要圍繞大多數邏輯的外部循環,以便重復執行。 將main()
大部分放入使用while (true) {
的循環中,以使其永遠循環。
然后,使用if (answer == 2) {
...的邏輯在用戶輸入2時實際中斷。
幾種選擇:
if (answer == 2)
{
break;
}
if (answer == 2)
{
return;
}
if (answer == 2)
{
System.exit(0);
}
所以我想通了。 您的答案有很大幫助,但我最后放了兩個while循環。 代碼如下:
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);//new Scanner variable
int answer;
double side1, side2, result;
System.out.println("Enter 1 to calculate the hypotenuse of a triangle or enter 2 to quit.");
answer = sc.nextInt();
while(answer < 0 || answer > 2){
System.err.println("Please enter a valid answer.");
System.out.println("Enter 1 to calculate the hypotenuse of a triangle or enter 2 to quit.");
answer = sc.nextInt();
}
while(answer == 1){
System.out.println("Enter side 1 of the triangle :");//input for side 1
side1 = sc.nextDouble();
System.out.println("Enter side 2 of the triangle :");//input for side 2
side2 = sc.nextDouble();
result = hypotenuse(side1, side2);//declares result as the result of the method hypotenuse
System.out.printf("Hypotenuse of your triangle is: %.2f%n", result);//prints results
System.out.println("Enter 1 to calculate the hypotenuse of a triangle or enter 2 to quit.");
answer = sc.nextInt();
}
}公共靜態雙斜邊(double s1,double s2){//計算斜邊的方法
double hypot;
hypot = Math.sqrt((Math.pow(s1, 2) + Math.pow(s2, 2)));
return hypot;
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.