所以我有一个即将完成的家庭作业,我已尽力而为,我知道我有一些错误,但我不知道该如何解决。
您将编写一个程序,该程序将接受用户的三项输入:
孔号, 孔的面值和 高尔夫球手完成击球所需的击球次数。
然后您将使用下表为孔生成适当的高尔夫球手语:
高尔夫球手的中风与标准杆的关系:
-5, "Ostrich"
-4, "Condor"
-3, "Albatross"
-2, "Eagle"
-1, "Birdie"
0, "Even Par" or "Even" or "Par"
+1, "Bogey"
+2, "Double Bogey"
+3, "Triple Bogey"
+4, "4 over par"
+5, "5 over par", etc.
一个投出两倍于标准杆值的人有
X2, (double the par), "Beagle"
高尔夫球手的实际笔画数:
1, "Hole in One" or "Ace"
4, "Sailboat"
8, "Snowman", "Frosty" or "Dog Balls"
10, "Bo Derek"
然后它应该像这样显示
> 输入孔号:1 输入孔的标准杆:4 输入笔划数:4 在1号洞的标准杆4杆上,您用帆船射击了标准杆。 >
我的程序就是这样的。
import java.util.Scanner;
public class GolfSlang {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner input = new Scanner(System.in);
int numbers = 0;
int parhole = 0;
int strokes = 0;
System.out.println("Enter the hole number: ");
double number = input.nextDouble();
System.out.print("the par value for a hole: ");
double par = input.nextDouble();
System.out.print("The number of strokes the golfer took to complete the hole:");
double stroke = input.nextDouble();
if (par == -5) {
System.out.println(" Ostrich ");
} else if (par == -4) {
System.out.println("Condor");
} else if (par == -3) {
System.out.println("Albatross");
} else if (par == -2) {
System.out.println("Eagle");
} else if (par == -1) {
System.out.println("Birdie");
} else if (par == 0) {
System.out.println("Even Par");
} else if (par == 1) {
System.out.println("Bogey");
} else if (par == 2) {
System.out.println("Double Bogey");
} else if (par == 3) {
System.out.println("Triple Bogey");
} else if (par == 4) {
System.out.println("4 over par");
} else if (par == 5) {
System.out.println("5 over par");
} else {
}
if ((stroke /2)== par) {
System.out.println("Beagle");
} else if (stroke == 1) {
System.out.println("Ace");
} else if (stroke == 4) {
System.out.println("Sailboat");
} else if (stroke == 8) {
System.out.println("Snowman");
} else if (stroke == 10) {
System.out.println("Bo Derek");
}
} else {
System.out.println("On hole # " + numbers + " a par " + par + "you shot" + stroke); {
}
}
答案 0 :(得分:0)
第一个if(){} else(){}部分对于您想要的内容毫无用处。您保留存储的面值和笔划值。您需要检查笔划的差异以达到标准{int val = stoke-par;}。比较的第一部分应使用val而不是par。 (推荐开关箱,因为它只是一长串基本比较的清单)。由于要在末尾打印所有内容,因此应保存字符串,而不要使用println(在比较之前初始化)。您可以使用printf(“ whatever%s”,string)为打印进行更简单的集成