Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/402.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我必须创造一个高-低的游戏。我不知道';我不明白为什么它赢了';行不通 publicstaticvoidmain(字符串[]args){ int money=100,roll1,roll2; int-userBet; 字符c; int-losstwin; 扫描仪输入=新扫描仪(系统输入); 做{ 如果(货币=0 | |货币财阀); } 返回结果; } 专用静态字符getHighLow(扫描仪扫描程序){ 系统输出打印项次(“高、低或七(H/L/S):”; 字符串str=inScanner.next(); 返回str.charAt(0); } 私有静态int getRoll(){ 返回值(int)(Math.random()*6)+1; } 私有静态整数确定规划(字符高低、整数下注、整数滚动){ int结果=0; 如果(高低=‘H’){ 如果(滚动7){ 结果=-1*bet; }否则{ 结果=赌注; } } 如果(高低=='S'){ 如果(滚动==7){ 结果=4*bet; }否则{ 结果=-1*bet; } } 返回结果; }_Java - Fatal编程技术网

Java 我必须创造一个高-低的游戏。我不知道';我不明白为什么它赢了';行不通 publicstaticvoidmain(字符串[]args){ int money=100,roll1,roll2; int-userBet; 字符c; int-losstwin; 扫描仪输入=新扫描仪(系统输入); 做{ 如果(货币=0 | |货币财阀); } 返回结果; } 专用静态字符getHighLow(扫描仪扫描程序){ 系统输出打印项次(“高、低或七(H/L/S):”; 字符串str=inScanner.next(); 返回str.charAt(0); } 私有静态int getRoll(){ 返回值(int)(Math.random()*6)+1; } 私有静态整数确定规划(字符高低、整数下注、整数滚动){ int结果=0; 如果(高低=‘H’){ 如果(滚动7){ 结果=-1*bet; }否则{ 结果=赌注; } } 如果(高低=='S'){ 如果(滚动==7){ 结果=4*bet; }否则{ 结果=-1*bet; } } 返回结果; }

Java 我必须创造一个高-低的游戏。我不知道';我不明白为什么它赢了';行不通 publicstaticvoidmain(字符串[]args){ int money=100,roll1,roll2; int-userBet; 字符c; int-losstwin; 扫描仪输入=新扫描仪(系统输入); 做{ 如果(货币=0 | |货币财阀); } 返回结果; } 专用静态字符getHighLow(扫描仪扫描程序){ 系统输出打印项次(“高、低或七(H/L/S):”; 字符串str=inScanner.next(); 返回str.charAt(0); } 私有静态int getRoll(){ 返回值(int)(Math.random()*6)+1; } 私有静态整数确定规划(字符高低、整数下注、整数滚动){ int结果=0; 如果(高低=‘H’){ 如果(滚动7){ 结果=-1*bet; }否则{ 结果=赌注; } } 如果(高低=='S'){ 如果(滚动==7){ 结果=4*bet; }否则{ 结果=-1*bet; } } 返回结果; },java,Java,当用户输入数字0时,我需要程序说“再见”,但我不知道该放在哪里,也不知道如何让它工作。我需要帮助的另一个问题是,如果用户输入的数字大于100或小于1,程序需要说“您的赌注必须在0到100美元之间”。我不知道把它们放在哪里,也不知道如何让它们工作。publicstaticvoidmain(String[]args){ public static void main(String[] args) { int money = 100, roll1, roll2; int userBet

当用户输入数字0时,我需要程序说“再见”,但我不知道该放在哪里,也不知道如何让它工作。我需要帮助的另一个问题是,如果用户输入的数字大于100或小于1,程序需要说“您的赌注必须在0到100美元之间”。我不知道把它们放在哪里,也不知道如何让它们工作。

publicstaticvoidmain(String[]args){
public static void main(String[] args) {
    int money = 100, roll1, roll2;
    int userBet;
    char c;
    int lostwin;
    Scanner in = new Scanner(System.in);
    do {
        if (money == 0 || money < 0)
            break;
        System.out.println(" You have " + money + "  dollars. ");
        userBet = getBet(in, money);
        if (userBet == 0)
            break;
        c = getHighLow(in);
        roll1 = getRoll();
        System.out.println(" Die 1 rolls : " + roll1);
        roll2 = getRoll();
        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 (true);
}

private static int getBet(Scanner inScanner, int moneyPot) {
    System.out.println("Enter an amount to bet (0 to quit): ");
    int result = inScanner.nextInt();
    if (result > moneyPot) {
        do {
            System.out.println("Enter an amount to bet (0 to quit): ");
            result = inScanner.nextInt();
        } while (result > moneyPot);
    }
    return result;
}

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

private static int getRoll() {
    return (int) (Math.random() * 6) + 1;
}

private static int determineWinnings(char highLow, int bet, int roll) {
    int result = 0;
    if (highLow == 'H') {
        if (roll < 7) {
            result = -1 * bet;
        } else {
            result = bet;
        }
    }
    if (highLow == 'L') {
        if (roll > 7) {
            result = -1 * bet;
        } else {
            result = bet;
        }
    }
    if (highLow == 'S') {
        if (roll == 7) {
            result = 4 * bet;
        } else {
            result = -1 * bet;
        }
    }
    return result;
}
国际货币=100; int-roll1; int-roll2; int-userBet; int-losstwin; 字符c; 扫描仪输入=新扫描仪(系统输入); 做{ 如果(货币<1) 打破 System.out.println(“你有“+钱+美元”); userBet=getBet(in,money); 如果(userBet==0) 打破 c=getHighLow(英寸); roll1=getRoll(); 系统输出打印项次(“模具1卷:+1卷”); roll2=getRoll(); 系统输出打印项次(“模具2辊:+2辊”); System.out.println(“两个骰子的总数为:”+(roll1+roll2)); lostwin=确定计划(c,用户下注,下注1+下注2); if(lostwin<0) System.out.println(“你输了!”); 其他的 System.out.println(“你赢了”+lostwin+dollars!”); 金钱=金钱+损失; }而(金钱>0); System.out.println(“再见!”); } 私有静态int getBet(扫描程序扫描程序,int moneyPot){ int-bet; 做{ System.out.println(“输入下注金额(0退出):”; bet=inScanner.nextInt(); }而(bet>moneyPot&&bet!=0); 回注; } 专用静态字符getHighLow(扫描仪扫描程序){ 系统输出打印项次(“高、低或七(H/L/S):”; 字符串str=inScanner.next(); 返回str.charAt(0); }
您可以像这样修改
getBet
函数以实现您想要的功能

public static void main(String[] args) {
        int money = 100;
        int roll1;
        int roll2;
        int userBet;
        int lostwin;
        char c;
        Scanner in = new Scanner(System.in);
        do {
            if (money < 1)
                break;
            System.out.println(" You have " + money + "  dollars. ");
            userBet = getBet(in, money);
            if (userBet == 0)
                break;
            c = getHighLow(in);
            roll1 = getRoll();
            System.out.println(" Die 1 rolls : " + roll1);
            roll2 = getRoll();
            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);
    }
private static int getBet(扫描器inScanner,int moneyPot){
int结果;
System.out.println(“输入下注金额(1-100)(0表示退出):”;
做{
结果=inScanner.nextInt();
如果(结果==0){
System.out.println(“再见”);
返回结果;
}否则如果(结果<0&&result>100){
System.out.println(“请输入介于(1-100)(0表示退出)”之间的金额);
}else if(结果>moneyPot){
System.out.println(“请输入一个小于(1-100)(0表示退出)”的金额);
}否则{
返回结果;
}
}虽然(正确);
}

在Java将goto添加到语言中之前,您可能无法解决此问题;-)如果您的代码更干净,它将真正帮助您。你真的需要修正你的缩进和大括号的位置;这伤了我的眼睛。对不起,哈哈,你们能帮我吗?对于代码,你们给我的会在我的getBet方法中吗?如果是这样的话,我需要在方法中输入整数吗?输入0现在可以工作了,谢谢!当我输入一个负数(-100)时,它认为它实际上是100。它不是在读负号
private static int getBet(Scanner inScanner, int moneyPot) {

    int result;
    System.out.println("Enter an amount to bet (1-100) (0 to quit): ");
    do {
        result = inScanner.nextInt();
        if (result == 0) {
            System.out.println("Good Bye");
            return result;
        } else if (result < 0 && result > 100) {
            System.out.println("Please enter an amount between (1-100) (0 to quit)");
        } else if (result > moneyPot) {
            System.out.println("Please enter an amount less than your moneyPot between (1-100)  (0 to quit)");
        } else {
            return result;
        }
    } while (true);
}