标签:[] [1] java 没有 scanner 选择 统计 system 输入
关于这个比赛系统的第一次迭代,使用的是java语言编写的,因为现在的技术有限,所以只能选择在控制台上与用户发生交互,没有实现界面化。之后随着学习的进一步深入,会使用界面来简化操作。
package game.volleyball; import java.util.Scanner; /** * 排球计分系统 * * 使用DD排球计分系统可以进行简单的排球计分操作以及查询某一局的比分。 * 1、比赛总共5局,每一局5分,若是有一方领先对方3分,则视为这一方胜利。 * 5局结束后,统计两方胜利的次数,输出最终胜利的一方。并退出程序 * 2、使用查询功能可以查询过往的比赛成绩,输出比分和胜利的一方 */ public class Game { static Scanner sca = new Scanner(System.in); //scoreArr数组,用来存放5局两队的单轮成绩 static int[][] scoreArr = new int[5][2]; //result数组,用来存放每一轮的成绩,方便查询 static String[] result = new String[5]; //用来统计两队胜利的次数 static int ni1 = 0; static int ni2 = 0; public static void main(String[] args) { System.out.println("\n\n --------欢迎进入DD排球计分系统--------\n\n\n"); System.out.println("使用说明:使用DD排球计分系统可以进行简单的排球计分操作以及查询某一局的比分。" + "\n1、比赛总共5局,每一局5分,若是有一方领先对方3分,则视为这一方胜利。" + "\n 5局结束后,统计两方胜利的次数,输出最终胜利的一方。并退出程序\n" + "2、使用查询功能可以查询过往的比赛成绩,输出比分和胜利的一方"); for (int i = 0; i < 5;) { System.out.println(" 请选择您的操作:"); System.out.println("1、开始计分 2、查询 3、退出系统"); //用户输入的操作选择 int choose = sca.nextInt(); //如果用户输入1 if (choose == 1) { //输出第几局比赛 System.out.println("现在开始第" + (i + 1) + "局比赛"); //调用计分方法 bounds(i); i++; } else if (choose == 2) {//如果用户输出2 System.out.println("请输入你要查询的局数:"); int check = sca.nextInt(); //判断用户输入的局数是否开始 if (result[check - 1] == null) { System.out.println("这一局比赛还没有开始。"); } else { //从数组中找出结果 System.out.println(result[check - 1]); } } else if (choose == 3) {//如果用户输入3,输出当前成绩,并退出程序 System.out.println("本场比赛结束,当前比分为:中国队VS美国队~~~~~" + ni1 + ":" + ni2); System.out.println("谢谢使用DD计分系统,欢迎下次使用,再见"); System.exit(0); } else { System.out.println("您的输入有误,请重新输入"); } } //5局比赛结束后,本场比赛结束,输出结果,并退出程序 System.out.println("本场比赛结束,当前比分为:中国队VS美国队~~~~~" + ni1 + ":" + ni2); if (ni1 > ni2) { System.out.println("中国队取得最终胜利"); } else { System.out.println("美国队取得最终胜利"); } System.out.println("谢谢使用DD计分系统,欢迎下次使用,再见"); } // 计分方法,统计成绩 public static String[] bounds(int num) { int i = 0; //如果两队的成绩都小于等于5 if (scoreArr[num][0] <= 5 && scoreArr[num][1] <= 5) { for (;; i++) { System.out.println("请输出获胜方的编号,进行加分"); System.out.println("1、中国队 VS 2、美国队"); int team = sca.nextInt(); if (team == 1) { //保留每一局的成绩 scoreArr[num][0] += 1; System.out.println("第" + (i + 1) + "轮比赛结束,当前比分为" + scoreArr[num][0] + ":" + scoreArr[num][1]); } else if (team == 2) { scoreArr[num][1] += 1; System.out.println("第" + (i + 1) + "轮比赛结束,当前比分为" + scoreArr[num][0] + ":" + scoreArr[num][1]); } if ((scoreArr[num][0] - scoreArr[num][1]) == 3) { result[num] = "第" + (num + 1) + "局,比分为" + scoreArr[num][0] + ":" + scoreArr[num][1] + " 中国队胜利"; System.out.println(result[num]); //每轮比赛结束后,使最终成绩累加1,并返回 ni1 += 1; return result; } else if ((scoreArr[num][1] - scoreArr[num][0]) == 3) { result[num] = "第" + (num + 1) + "局,比分为" + scoreArr[num][0] + ":" + scoreArr[num][1] + " 美国队胜利"; System.out.println(result[num]); ni2 += 1; return result; } } } else if (scoreArr[num][0] > scoreArr[num][1]) { result[num] = "第" + (num + 1) + "局,比分为" + scoreArr[num][0] + ":" + scoreArr[num][1] + " 中国队胜利"; System.out.println(result[num]); ni1 += 1; return result; } else { result[num] = "第" + (num + 1) + "局,比分为" + scoreArr[num][0] + ":" + scoreArr[num][1] + " 美国队胜利"; System.out.println(result[num]); ni2 += 1; return result; } } }
上述代码,是对这个系统的基本实现,能简单的实现对分数的累加和对比赛的查询。
计分的图片
查询的截图
退出的截图
这个系统用到了循环和方法,以及对判断语句的使用。做这种系统,先把逻辑捋顺很重要。
标签:[] [1] java 没有 scanner 选择 统计 system 输入
原文地址:http://www.cnblogs.com/ymgdd/p/6208906.html