有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!


共 (2) 个答案

  1. # 1 楼答案

    我可以看到两个问题:

    问题1

    percentW = (userWins / games);
    percentL = (userLoss / games);
    

    变量userWinsgamesuserLoss都是整数。所以除法将被视为整数算术。这将导致percentWpercentL成为0.0

    提示:要强制使用浮点进行除法,请将其中一个或两个操作数转换为double。有没有教过你如何从一种基本类型转换成另一种

    问题2

    变量的递增发生在Stats方法中。Stats方法只调用一次。因此,变量只增加一次

    提示:如果Stats的目的是打印统计数据,那么您使用了错误的方法来增加分数


    顺便说一下,在风格和其他方面存在一些问题:

    • 在Java中,方法名称不应以大写字母开头

    • 缩进不一致。我怀疑您在源文件中使用了制表符。如果将代码剪切并粘贴到标记中,则会出现问题。。。在其他情况下。例如Linux/Mac与Windows

      最好将IDE配置为使用SP字符进行缩进

    • 您如何使用{存在一些问题}。例如:

      {
          if (guess == dicesum)
              System.out.println("You won!");
          else if (guess != dicesum)
              System.out.println("Sorry! You lost!");
      } 
      

      如果你看,牙套没有真正的作用

    • 在这样的声明中:

          GuessNum(); //call GuessNum method
      

      该评论(国际海事组织)有害。它没有说任何代码中不明显的东西。事实上,它真正做的只是分散读者的注意力

    • 这段代码应该是OO。您严重依赖static方法和static变量。(也许这是下一课……)

  2. # 2 楼答案

    完成后,只调用一次Stats()方法,因此userWins++userLoss++语句只调用一次。您应该将这些语句移动到DispOutcome()方法中,以便在每个游戏中调用它们。您已经在那里检查了(guess == dicesum),这就是它们要去的地方