需要制作一个高低游戏,但不知道如何修复错误 import java.util.Scanner; 导入java.util.Random; 公共类ASDFhighlow { 公共静态void main(字符串[]args) { 国际货币=100; int-roll1; int-roll2; int-userBet; int-losstwin; 字符c; int-测定套管; 扫描仪输入=新扫描仪(系统输入); 随机r=新随机(); 做 { 如果(货币moneyPot&&bet!=0); 回注; } 专用静态字符getHighLow(扫描仪扫描程序){ 系统输出打印项次(“高、低或七(H/L/S):”; 字符串str=inScanner.next(); 返回str.charAt(0); } }

需要制作一个高低游戏,但不知道如何修复错误 import java.util.Scanner; 导入java.util.Random; 公共类ASDFhighlow { 公共静态void main(字符串[]args) { 国际货币=100; int-roll1; int-roll2; int-userBet; int-losstwin; 字符c; int-测定套管; 扫描仪输入=新扫描仪(系统输入); 随机r=新随机(); 做 { 如果(货币moneyPot&&bet!=0); 回注; } 专用静态字符getHighLow(扫描仪扫描程序){ 系统输出打印项次(“高、低或七(H/L/S):”; 字符串str=inScanner.next(); 返回str.charAt(0); } },java,compiler-errors,game-physics,Java,Compiler Errors,Game Physics,这是错误消息: 发现1个错误: 文件:/Users/adriendalefrenette/Desktop/EXAM FOLDER/ASDFhighlow.java[行:28] 错误:对于类型ASDFhighlow,未定义确定规划(char,int,int)的方法 我不知道如何让它真正起作用,我还是个新手,所以请提供任何帮助。以下是答案: 您已经进行了以下方法调用 lostwing=determinatewinning(c,userBet,roll1+roll2) 但是,您尚未定义方法确定计划。名

这是错误消息:
发现1个错误: 文件:/Users/adriendalefrenette/Desktop/EXAM FOLDER/ASDFhighlow.java[行:28] 错误:对于类型ASDFhighlow,未定义确定规划(char,int,int)的方法


我不知道如何让它真正起作用,我还是个新手,所以请提供任何帮助。

以下是答案:
您已经进行了以下方法调用

lostwing=determinatewinning(c,userBet,roll1+roll2)

但是,您尚未定义方法
确定计划
。名为
determinateWinnings
的术语的唯一声明是main方法顶部的一个int,它从未初始化过。您需要创建一个如下所示的新方法:

private int determinatewinning(char c、int userBet、int rollSum)

下次如何解决这个问题:

您收到的错误消息告诉您程序失败的原因。在本例中,它表示您试图在第28行调用的方法未定义。学会仔细查看您收到的错误消息,并理解它们试图说什么。如果你不能从那里找到它或者它令人困惑,那么搜索错误中的文本。它可能与错误的措辞不完全相同,但应该能让您找到调试程序所需查找的类型的正确方向。

您已将
determinateWinnings
声明为
int
变量,并调用了同名的方法,但是您没有为该方法创建任何定义。您需要为
determinatewinning()
方法创建定义,我可以看到它应该是返回类型
int

您需要这样做:

import java.util.Scanner;
import java.util.Random;
public class ASDFhighlow
{
public static void main(String[] args) 

{

  int money = 100;
        int roll1;
        int roll2;
        int userBet;
        int lostwin;
        char c;
        int determineWinnings;
        Scanner in = new Scanner(System.in);
        Random r = new Random();
        do

        {

            if (money < 1)
                break;
            System.out.println(" You have " + money + "  dollars. ");
            userBet = getBet(in, money);
            if (userBet == 0)
                break;

            c = getHighLow(in);
            roll1 = 1+ r.nextInt(5);
            System.out.println(" Die 1 rolls : " + roll1);
            roll2 = 1+r.nextInt(5);
            System.out.println(" Die 2 rolls : " + roll2);
            System.out.println("Total of two dice is: " + (roll1 + roll2));
            lostwin = determineWinnings(c, userBet, roll1 + roll2);

            if (lostwin < 0)
                System.out.println("You lost!");
            else
                System.out.println("You won " + lostwin + " dollars! ");
            money = money + lostwin;
        } while (money > 0);

        System.out.println("Goodbye!");
    }

    private static int getBet(Scanner inScanner, int moneyPot) {
        int bet;

        do {
            System.out.println("Enter an amount to bet (0 to quit): ");
            bet = inScanner.nextInt();
        } while (bet > moneyPot && bet != 0);

        return bet;
    }

    private static char getHighLow(Scanner inScanner) {
        System.out.println("High, low or sevens (H/L/S): ");
        String str = inScanner.next();

        return str.charAt(0);
    }
}

您没有
determinatewinning
方法。。
private static int determineWinnings(char someChar, int betAmount, int rollSum){
    //write your logic here

    return someIntegerValue;
}