需要制作一个高低游戏,但不知道如何修复错误 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;
}