Java 试着解决高尔夫俚语家庭作业关于高尔夫球手使用的俚语
所以我很快就要交作业了,我尽了最大的努力,我知道我有几个错误,但我不知道如何解决它 您将编写一个程序,从用户处获取以下三方面的输入: 洞号, 一个洞的票面价值 高尔夫球手完成球洞的击球次数 然后,您将使用下表生成相应的高尔夫球手俚语: 高尔夫球手击球与标准杆的关系:Java 试着解决高尔夫俚语家庭作业关于高尔夫球手使用的俚语,java,java.util.scanner,Java,Java.util.scanner,所以我很快就要交作业了,我尽了最大的努力,我知道我有几个错误,但我不知道如何解决它 您将编写一个程序,从用户处获取以下三方面的输入: 洞号, 一个洞的票面价值 高尔夫球手完成球洞的击球次数 然后,您将使用下表生成相应的高尔夫球手俚语: 高尔夫球手击球与标准杆的关系: -5, "Ostrich" -4, "Condor" -3, "Albatross" -2, "Eagle" -1, "Birdie" 0, "Even Par" or "Even" or "Par" +1, "Boge
-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.
一个射出PAR值两倍的人有:
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); {
}
}
首先if(){}else(){}节对于您想要的内容是无用的。保持存储的PAR值和冲程值。你需要检查笔划的差异到PAR {int Val= Stok-Par;}。比较的第一部分应该是用VAR而不是PAR。(建议使用switch case,因为它只是一个很长的基本比较列表)。由于您希望在最后打印所有内容,因此应该保存字符串,而不是使用println(在比较之前初始化)。您可以使用printf(“任意%s”,字符串)更简单地集成打印您的问题是什么?那么您的问题是什么?对于哪些输入,您的程序不能按预期工作?有错误消息吗?没有显示任何内容,我在线程“main”java.lang中收到异常消息。错误:未解决的编译问题:在GolfSlang.main(GolfSlang.java:5)计算if-else语句(21/20)中的左括号和右括号。我不确定我读的是否正确,但您有语句说if
par
,作为孔的标准杆,对于语句是有一定价值的。它应该是笔划和PAR之间的区别,它给出了一个负值。否则,你总是得到一个“三忌”在一个3洞和“忌”在1个洞,等等应该是代码>如果(笔画PAL==5)…< /代码>编译错误很可能是由于错误的包围。最后一个else语句被声明为else{block{}。这只是关闭else语句,而不是关闭主方法和类