题目要求如图
下面就是写的代码
package mt;public class Bowling {public static void main(String[] args) {int[] score_1 = new int[10]; //第i轮的第一球得分int[] score_2 = new int[10]; //第i轮的第二球得分int sumScore =0; //累计得分int one; //第一次击倒数int two; //第二次击倒数int[][] x = new int[11][4]; //记录打球过程int[] index1 = new int[10] ; //记录第1次就打倒10个瓶子的下标int[] index2 =new int[10] ; //记录补中10个瓶子的下标for (int i = 0; i < 10; i++) {one = (int) (Math.random() * 11); //模拟每局的第一次击球two = (int) (Math.random() * (10 - one + 1)); //模拟每局的第二次击球x[i][0] = one;x[i][1] = two;if (one == 10) {score_1[i] = 10;score_2[i] = 0;index1[i] = i+1;}else if (one + two == 10) {score_1[i] = one;score_2[i] = two;index2[i] = i+1;}else {score_1[i] = one;score_2[i] = two;}x[i][2] = score_1[i] + score_2[i];}for (int i = 0; i < 10-1; i++) {if (index1[i] != 0) {x[i][2] = score_1[i] + score_1[i+1] + score_2[i+1];}if (index2[i] != 0) {x[i][2] += score_1[i+1];}}System.out.println("\t轮数" + "\t第一次击倒瓶数" + "\t第二次击倒瓶数" + "\t本轮得分" + "\t累计得分");for (int i = 0; i < 10+1 ; i++) {x[i][3] = sumScore += x[i][2];if (index1[9] == 10 || index2[9] == 10) {one = (int) (Math.random() * 11);two = (int) (Math.random() * (10 - one + 1));x[10][0] = one;x[10][1] = two;x[10][2] = one + two;x[10][3] = x[9][3] + x[10][2]; }int a = i+1;System.out.println( "\t" + a + "\t\t" + x[i][0] + "\t\t" + x[i][1]+ "\t" + x[i][2] + "\t" + x[i][3] );}}
}