Java Method(DiceProblem)

huangapple go评论67阅读模式
英文:

Java Method(DiceProblem)

问题

import java.util.Scanner;
import java.util.Random;

public class diceProblem {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        
        System.out.print("请输入掷骰子的次数:");
        int times = input.nextInt();
        
        int[][] dicePairs = rollDicePairs(times);
        System.out.println("掷出的骰子数对为:");
        printDicePairs(dicePairs);
        
        int[] dicePairsSums = addDicePairs(dicePairs);
        System.out.println("每对骰子数的总和为:");
        printDicePairsSums(dicePairsSums);
    }

    public static int[][] rollDicePairs(int times) {
        int[][] dice = new int[times][2];
        Random die = new Random();

        for (int x = 0; x < times; x++) {
            for (int y = 0; y < 2; y++) {
                dice[x][y] = 1 + die.nextInt(6);
            }
        }
        return dice;
    }

    public static void printDicePairs(int[][] dicePairs) {
        for (int[] pair : dicePairs) {
            for (int roll : pair) {
                System.out.print(roll + " ");
            }
            System.out.println();
        }
    }

    public static int[] addDicePairs(int[][] dicePairs) {
        int[] pairSums = new int[dicePairs.length];
        for (int x = 0; x < pairSums.length; x++) {
            int sum = 0;
            for (int y = 0; y < dicePairs[x].length; y++) {
                sum += dicePairs[x][y];
            }
            pairSums[x] = sum;
        }
        return pairSums;
    }

    public static void printDicePairsSums(int[] dicePairsSums) {
        for (int sum : dicePairsSums) {
            System.out.print(sum + " ");
        }
    }
}
英文:

> Well, the program that follows, when run, will let me ‘roll a pair of dice’ n-times (i.e.
generate a number between 1 and 6), where n is a positive integer entered. The
program then outputs the pair of numbers (‘rolled dice’), as well as the sum of the numbers
(each pair of dice). The pairs of numbers are stored in a 2-dimensional array, and the sum
of each pair are stored in a single-dimensional array.

import java.util.Scanner;
import java.util.Random;
public class diceProblem{
public static void main(String[] args){
Scanner input = new Scanner(System.in); 
System.out.print(&quot;Enter the amount of times a pair of dice will roll: &quot;);
int times = input.nextInt(); 
int[][]dicePairs = rollDicePairs(times);
System.out.println(&quot;The rolled pairs of numbers are: &quot;);
printDicePairs(dicePairs);
int[][]dicePairsSums = addDicePairs(dicePairs);
System.out.println(&quot;The sum of each pairs of numbers are: &quot;);
printDicePairsSums(dicePairsSums);
}
public static int[][]rollDicePairs(int times){ 
int[][]dice = new int[times][2];
Random die = new Random();
for(int x=0;x&lt;times;x++){
for(int y=0;y&lt;2;y++){
dice[x][y] = 1+die.nextInt(6);
}
}
return dice;
}
public static void printDicePairs(int[][]dicePairs){
for(int[]pair: dicePairs){
for(int roll: pair){
System.out.print(roll+&quot; &quot;);
}
System.out.println(&quot;&quot;);
}
}
public static int[][]addDicePairs(){
int[]pairSums = new int[dicePairs];
for(int x=0;x&lt;pairSums.length;x++){
int sum = 0;
for(int y=0;y&lt;dicePairs[x].length;y++){
sum += dicePairs[x][y];
}
pairSums[x] = sum;
}
return pairSums;
}
public static void printDicePairsSum(int[]dicePairsSums){
for(int sum: dicePairsSums){
System.out.print(sum+&quot; &quot;);
}
}
}

> The problem is there are too many errors with this program and it doesn't run or output the pairs of number and the sum

答案1

得分: 0

你的代码无法编译。以下是已经纠正并能够成功编译的代码,当你运行它时,它也会产生正确的结果。请将其与你的代码进行比较,以找出差异。

import java.util.Random;
import java.util.Scanner;

public class DiceProb {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);

        System.out.print("输入掷骰子的次数: ");
        int times = input.nextInt();

        int[][] dicePairs = rollDicePairs(times);
        System.out.println("掷骰子的数字对是: ");
        printDicePairs(dicePairs);

        int[] dicePairsSums = addDicePairs(dicePairs);
        System.out.println("每组数字对的和是: ");
        printDicePairsSum(dicePairsSums);
    }

    public static int[][] rollDicePairs(int times) {
        int[][] dice = new int[times][2];
        Random die = new Random();

        for (int x = 0; x < times; x++) {
            for (int y = 0; y < 2; y++) {
                dice[x][y] = 1 + die.nextInt(6);
            }
        }
        return dice;
    }

    public static void printDicePairs(int[][] dicePairs) {
        for (int[] pair : dicePairs) {
            for (int roll : pair) {
                System.out.print(roll + " ");
            }
            System.out.println("");
        }
    }

    public static int[] addDicePairs(int[][] dicePairs) {
        int[] pairSums = new int[dicePairs.length];
        for (int x = 0; x < pairSums.length; x++) {
            int sum = 0;
            for (int y = 0; y < dicePairs[x].length; y++) {
                sum += dicePairs[x][y];
            }
            pairSums[x] = sum;
        }
        return pairSums;
    }

    public static void printDicePairsSum(int[] dicePairsSums) {
        for (int sum : dicePairsSums) {
            System.out.print(sum + " ");
        }
    }
}
英文:

You code does not compile. Below is the corrected code that does compile and it also produces the correct results when you run it. Compare it to your code so as to spot the differences.

import java.util.Random;
import java.util.Scanner;

public class DiceProb {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);

        System.out.print(&quot;Enter the amount of times a pair of dice will roll: &quot;);
        int times = input.nextInt();

        int[][] dicePairs = rollDicePairs(times);
        System.out.println(&quot;The rolled pairs of numbers are: &quot;);
        printDicePairs(dicePairs);

        int[] dicePairsSums = addDicePairs(dicePairs);
        System.out.println(&quot;The sum of each pairs of numbers are: &quot;);
        printDicePairsSum(dicePairsSums);
    }

    public static int[][] rollDicePairs(int times) {
        int[][] dice = new int[times][2];
        Random die = new Random();

        for (int x = 0; x &lt; times; x++) {
            for (int y = 0; y &lt; 2; y++) {
                dice[x][y] = 1 + die.nextInt(6);
            }
        }
        return dice;
    }

    public static void printDicePairs(int[][] dicePairs) {
        for (int[] pair : dicePairs) {
            for (int roll : pair) {
                System.out.print(roll + &quot; &quot;);
            }
            System.out.println(&quot;&quot;);
        }
    }

    public static int[] addDicePairs(int[][] dicePairs) {
        int[] pairSums = new int[dicePairs.length];
        for (int x = 0; x &lt; pairSums.length; x++) {
            int sum = 0;
            for (int y = 0; y &lt; dicePairs[x].length; y++) {
                sum += dicePairs[x][y];
            }
            pairSums[x] = sum;
        }
        return pairSums;
    }

    public static void printDicePairsSum(int[] dicePairsSums) {
        for (int sum : dicePairsSums) {
            System.out.print(sum + &quot; &quot;);
        }
    }
}

huangapple
  • 本文由 发表于 2020年10月7日 13:31:28
  • 转载请务必保留本文链接:https://go.coder-hub.com/64237765.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定