英文:
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("Enter the amount of times a pair of dice will roll: ");
int times = input.nextInt();
int[][]dicePairs = rollDicePairs(times);
System.out.println("The rolled pairs of numbers are: ");
printDicePairs(dicePairs);
int[][]dicePairsSums = addDicePairs(dicePairs);
System.out.println("The sum of each pairs of numbers are: ");
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[]pairSums = new int[dicePairs];
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+" ");
}
}
}
> 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("Enter the amount of times a pair of dice will roll: ");
int times = input.nextInt();
int[][] dicePairs = rollDicePairs(times);
System.out.println("The rolled pairs of numbers are: ");
printDicePairs(dicePairs);
int[] dicePairsSums = addDicePairs(dicePairs);
System.out.println("The sum of each pairs of numbers are: ");
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 + " ");
}
}
}
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论