【PAT 乙级(Basic Level)】锤子剪刀布
2015-06-08 16:00
225 查看
这题也很简单,一路的判断就够了。我总觉得可以把代码精简一下,但是还没想到更好的办法。
有一个值得注意的地方,在第一个题目 A+B和C
中我学习了Scanner类,next()可以获取下一个String类型变量,而nextLine()读取当前行剩余的所有内容,然后把焦点移动到下一行的开头。但是我忘了题目中甲和乙出拳时中间隔着一个空格,也就是说乙读取的内容总是开头带有一个空格。这里把空格消掉就可以了。
搜索
复制
有一个值得注意的地方,在第一个题目 A+B和C
中我学习了Scanner类,next()可以获取下一个String类型变量,而nextLine()读取当前行剩余的所有内容,然后把焦点移动到下一行的开头。但是我忘了题目中甲和乙出拳时中间隔着一个空格,也就是说乙读取的内容总是开头带有一个空格。这里把空格消掉就可以了。
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner s = new Scanner(System.in); int n = s.nextInt(); String[] a = new String ; String[] b = new String ; int winA = 0, loseA = 0, winB = 0, loseB = 0, tie = 0; int countAC = 0, countAB = 0, countAJ = 0, countBC = 0, countBB = 0, countBJ = 0; String resultA , resultB ; for (int i = 0; i < n; i++) { a[i] = s.next(); b[i] = s.nextLine(); if (a[i].toString().replace(" ", "") .equals(b[i].toString().replace(" ", ""))) { tie++; } else if (a[i].toString().replace(" ", "").equals("C")) { if (b[i].toString().replace(" ", "").equals("J")) { winA++; loseB++; countAC++; } else { loseA++; winB++; countBB++; } } else if (a[i].toString().replace(" ", "").equals("B")) { if (b[i].toString().replace(" ", "").equals("C")) { winA++; loseB++; countAB++; } else { loseA++; winB++; countBJ++; } } else if (a[i].toString().replace(" ", "").equals("J")) { if (b[i].toString().replace(" ", "").equals("B")) { winA++; loseB++; countAJ++; } else { loseA++; winB++; countBC++; } } } System.out.println(winA + " " + tie + " " + loseA); System.out.println(winB + " " + tie + " " + loseB); if (countAB >= countAC) { if (countAB >= countAJ) { resultA = "B"; } else if (countAC >= countAJ) { resultA = "C"; } else { resultA = "J"; } } else { if (countAB >= countAJ) { resultA = "C"; } else if (countAC >= countAJ) { resultA = "C"; } else { resultA = "J"; } } if (countBB >= countBC) { if (countBB >= countBJ) { resultB = "B"; } else if (countBC >= countBJ) { resultB = "C"; } else { resultB = "J"; } } else { if (countBB >= countBJ) { resultB = "C"; } else if (countBC >= countBJ) { resultB = "C"; } else { resultB = "J"; } } System.out.println(resultA+" "+resultB); } }
搜索
复制
相关文章推荐
- HTML5画布+jquery
- 【剑指offer】 面试题5: 从尾到头打印链表
- 解决php生成GD图片不显示问题
- 省市二级联动的js
- linux下的一些强力工具和桌面环境
- 重叠I/O之事件对象通知
- UDP丢包的原因
- 智能家居为什么使用ZigBee而不是433
- 五大常用算法——分治法,动态规划,回溯法,分支界限法,贪心算法
- HTML5+开发移动app-mui开发示例
- 五大常用算法——分治法,动态规划,回溯法,分支界限法,贪心算法 2015-06-08 16:00 50人阅读 评论(0) 收藏
- 情深不寿
- Oracle数据库中文乱码解决方法
- Mozilla CTO兼Firefox OS联合创始人Andreas Gal离职创业
- Web框架
- java简单计算器
- 【JAVA教程】如何用JMX连接本地JVM上运行的Java程序-潭州JAVA
- Arteriosclerosis, Arteriolosclerosis, Atherosclerosis的区别
- GRE写作中关于教育的意义
- LOG算子