第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

如何修復(fù)此單人骰子游戲(4 - 4 面骰子)的循環(huán)?掃描儀輸入無法產(chǎn)生正確輸出的問題

如何修復(fù)此單人骰子游戲(4 - 4 面骰子)的循環(huán)?掃描儀輸入無法產(chǎn)生正確輸出的問題

慕森卡 2024-01-05 09:58:16
// 我一整天都在研究這個(gè)問題,但似乎仍然被卡住了。// 我沒有收到任何明顯的錯(cuò)誤,但循環(huán)似乎被破壞了。// 我是一個(gè)初學(xué)者,所以很可能我錯(cuò)過了一些大事,但只是忽略了它。// 我的課的作業(yè)要在午夜截止,哈哈。// 我覺得我構(gòu)建了基本格式,但是我對(duì)使用循環(huán)的不熟悉確實(shí)讓我陷入了困境。我在網(wǎng)上其他地方查看過,但人們制作的許多“骰子”程序僅與一個(gè)六面骰子有關(guān),并且不涉及基于回合的用戶輸入。// 任何有用的提示都很棒,有沒有更有效的方法來構(gòu)建這個(gè)游戲?我知道創(chuàng)建多個(gè)類會(huì)清理程序的外觀,但目前我實(shí)際上只是在尋找功能。package prgm06;import java.util.Scanner;public class DiceGame {       public static void main(String []args) //main DiceGame loop.    {        String answer;        Scanner stdIn = new Scanner(System.in);        int userWin = 0, userLose = 0, turnCounter = 0;        System.out.println("\t" + "Welcome to Computer Dice");        System.out.println("-----------------------------------------");        System.out.println("The outcome of your roll will determine" + "\n" + "if you win or lose the round." + "\n");        System.out.println("Any Quad and you win.");        System.out.println("Any Triple and you win.");        System.out.println("Any High Pair and you win.");        System.out.println("Anything else and you lose.");        System.out.println("-----------------------------------------");        System.out.println("Do you wish to play? [y,n]: ");        do { // I always want the dice to roll unless "n" is selected.            answer = stdIn.next();            int d1 = (int)(Math.random() * 4) + 1;            int d2 = (int)(Math.random() * 4) + 1;            int d3 = (int)(Math.random() * 4) + 1;            int d4 = (int)(Math.random() * 4) + 1;        }        while(answer.equalsIgnoreCase("y")); // issues with "y" not printing if/ else statements        {            int d1 = (int)(Math.random() * 4) + 1;            int d2 = (int)(Math.random() * 4) + 1;            int d3 = (int)(Math.random() * 4) + 1;            int d4 = (int)(Math.random() * 4) + 1;            System.out.println(d1 + "\t" + d2 + "\t" + d3 + "\t" + d4);
查看完整描述

1 回答

?
絕地?zé)o雙

TA貢獻(xiàn)1946條經(jīng)驗(yàn) 獲得超4個(gè)贊

我已經(jīng)編輯了你的代碼。有些錯(cuò)誤與語法有關(guān),有些可能與邏輯流程有關(guān)。這應(yīng)該作為基礎(chǔ),您可以根據(jù)需要修改和改進(jìn)它:


import java.util.Scanner;


public class DiceGame {

    public static void main(String []args) //main DiceGame loop.

    {

        String answer;

        Scanner stdIn = new Scanner(System.in);

        int userWin = 0, userLose = 0, turnCounter = 0;

        System.out.println("\t" + "Welcome to Computer Dice");

        System.out.println("-----------------------------------------");

        System.out.println("The outcome of your roll will determine" + "\n" + "if you win or lose the round." + "\n");

        System.out.println("Any Quad and you win.");

        System.out.println("Any Triple and you win.");

        System.out.println("Any High Pair and you win.");

        System.out.println("Anything else and you lose.");

        System.out.println("-----------------------------------------");


        do { // I always want the dice to roll unless "n" is selected.


            System.out.println();


            System.out.println("Do you wish to play? [y,n]: ");

            answer = stdIn.next();


            if (answer.equalsIgnoreCase("y")) {


                turnCounter++;


                int d1 = (int)(Math.random() * 4) + 1;

                int d2 = (int)(Math.random() * 4) + 1;

                int d3 = (int)(Math.random() * 4) + 1;

                int d4 = (int)(Math.random() * 4) + 1;


                System.out.println(d1 + "\t" + d2 + "\t" + d3 + "\t" + d4);


                if ((d1 == d2) || (d1 == d3) || (d1 == d4) || (d2 == d3) || (d2 == d4) || (d3 == d4) {

                    userWin++;

                    System.out.println("\n" + "Round Results: Win");

                    System.out.println(turnCounter + " Rounds played.");

                } else {

                    userLose++;

                    System.out.println("\n" + "Round Results: Loss");

                    System.out.println(turnCounter + " Rounds played.");

                }


                System.out.println("Game Results:");

                System.out.println("User won: " + userWin + " Games.");

                System.out.println("User lost: " + userLose + " Games.");


                System.out.println("Your win/loss ratio is: " + userWin + ":" + userLose);


                if (userWin > userLose) {System.out.println("Good Job!");}


                if (userWin < userLose) {System.out.println("You shouldn't bet money on this game...");}


                System.out.println(turnCounter + " Rounds played.");


            }


        } while(answer.equalsIgnoreCase("y"));

    }

}

需要注意的幾點(diǎn):

  • 只要用戶輸入“y”,游戲就會(huì)繼續(xù)運(yùn)行,因?yàn)檫@是您的條件:answer.equalsIgnoreCase(“y”)。

  • 我更改了獲勝條件邏輯以使用邏輯 OR 運(yùn)算符檢查至少一對(duì)

  • 我刪除了贏/輸比率結(jié)果的除法運(yùn)算符,只是用贏:輸?shù)娘@示來替換它;如果您希望它計(jì)算實(shí)際百分比或小數(shù)值,則可以更改此值,但您必須檢查 Loss == 0 的情況以防止除以零錯(cuò)誤

  • Do-While 循環(huán)應(yīng)該涵蓋從開始到結(jié)束的所有游戲玩法,因此要求您再次玩的問題應(yīng)該出現(xiàn)在該循環(huán)的開始或結(jié)束處(我將其放在開始處)


查看完整回答
反對(duì) 回復(fù) 2024-01-05
  • 1 回答
  • 0 關(guān)注
  • 163 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)