【发布时间】:2021-01-22 00:56:49
【问题描述】:
好吧,接下来的程序在运行时会让我“掷一对骰子”n 次(即 生成一个介于 1 和 6 之间的数字),其中 n 是输入的正整数。这 然后程序输出这对数字(“掷骰子”),以及数字的总和 (每对骰子)。数字对存储在二维数组中,总和 每对存储在一个单维数组中。
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+" ");
}
}
}
问题是这个程序有太多错误,它没有运行或输出成对的数字和和
【问题讨论】:
标签: java arrays methods overloading