Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.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代码需要一些帮助吗_Java_Loops - Fatal编程技术网

我的java代码需要一些帮助吗

我的java代码需要一些帮助吗,java,loops,Java,Loops,我正在用Savitch的绝对Java自学Java。我正在从事编程项目:我被要求做的是编写一个垃圾游戏。我的代码总体上是有效的,但我得到了一个无限循环,其中有一部分。有人能指出我做错了什么吗?这就是我被要求做的:如果4、5、6、8、9或10在出场卷上滚动,那么这个数字是多少 变为“点数”。玩家继续掷骰子,直到7点或点数结束 翻滚。如果先掷点数,则玩家赢得赌注。如果先掷7, 然后玩家输了。 这是我的密码: import java.util.Random; public class ProgProje

我正在用Savitch的绝对Java自学Java。我正在从事编程项目:我被要求做的是编写一个垃圾游戏。我的代码总体上是有效的,但我得到了一个无限循环,其中有一部分。有人能指出我做错了什么吗?这就是我被要求做的:如果4、5、6、8、9或10在出场卷上滚动,那么这个数字是多少 变为“点数”。玩家继续掷骰子,直到7点或点数结束 翻滚。如果先掷点数,则玩家赢得赌注。如果先掷7, 然后玩家输了。

这是我的密码:

import java.util.Random;
public class ProgProject2
{
  public static void main(String[] args)
  {
    // TODO Auto-generated method stub
Random randomGeneratorDice1 = new Random();
Random randomGeneratorDice2 = new Random();
//int counter = 1;
int dice1, dice2, sum, winNumber = 0, lossNumber = 0;       
for (int counter = 1; counter <= 3; counter++)
{
    System.out.println("Roll number " + counter + " of the dice: ");
    dice1 = randomGeneratorDice1.nextInt(6) + 1;
    dice2 = randomGeneratorDice2.nextInt(6) + 1;
    sum = dice1 + dice2;
    System.out.println("Dice1 value is: " + dice1 + " and dice2 value is: " 
                + dice2);
    System.out.println("The output of the dice roll is: " + sum);
    if ((sum == 7) || (sum == 11))
    {
        System.out.println("You win!!");
        winNumber++;
    } // end if
    else if ((sum == 2) || (sum == 3) || (sum == 12))
    {
        System.out.println("You lose!!");
        lossNumber++;
    } // end else if
    **else
    {
        System.out.println("The point!!");
        //System.out.println("The sum is: " + sum);         
        //int point = sum;
        int sumElse;
        do
        {
            dice1 = randomGeneratorDice1.nextInt(6) + 1;
            dice2 = randomGeneratorDice2.nextInt(6) + 1;
            sumElse = dice1 + dice2;
            if (sumElse == sum)
            {
                System.out.println("You win!!");
                winNumber++;
            } // end inner if
            else if (sumElse == 7)
            {
                System.out.println("You lose!!");
                lossNumber++;
            } // end inner else

        } while ((sumElse != sum) || (sumElse != 7));               
    } // end else**

    } // end for loop

    System.out.println("Your total wins are: " + winNumber + " and your total "
            + "losses are: " + lossNumber);
    double winProbability = (double) winNumber / (winNumber + lossNumber);
    System.out.println("Your winning probability is: " + winProbability);

} // end main

} // end ProgProject2
import java.util.Random;
公共类项目2
{
公共静态void main(字符串[]args)
{
//TODO自动生成的方法存根
Random RandomGeneratordI1=新的Random();
Random randomGeneratorDice2=新的Random();
//int计数器=1;
int dice1,dice2,sum,winNumber=0,lossNumber=0;
对于(int counter=1;counter更改行

} while ((sumElse != sum) || (sumElse != 7));


或者您可以有一个无限循环,但在条件体中添加
break
语句(以退出循环):

do {
    dice1 = randomGeneratorDice1.nextInt(6) + 1;
    dice2 = randomGeneratorDice2.nextInt(6) + 1;
    sumElse = dice1 + dice2;
    if (sumElse == sum) {
        System.out.println("You win!!");
        winNumber++;
        break;
    } // end inner if
    else if (sumElse == 7) {
        System.out.println("You lose!!");
        lossNumber++;
        break;
    } // end inner else

} while (true);
do {
    dice1 = randomGeneratorDice1.nextInt(6) + 1;
    dice2 = randomGeneratorDice2.nextInt(6) + 1;
    sumElse = dice1 + dice2;
    if (sumElse == sum) {
        System.out.println("You win!!");
        winNumber++;
        break;
    } // end inner if
    else if (sumElse == 7) {
        System.out.println("You lose!!");
        lossNumber++;
        break;
    } // end inner else

} while (true);