import java.util.Scanner; public class Player extends Joiner{ //建议不要把Scanner放在外面,意味着程序执行过程中控制台一直开着,键盘类设备一直开着,系统容易被入侵 //重写方法设置玩家名称 @Override public void choice() { System.out.println("*****************"); System.out.println("1-----剪刀"); System.out.println("2-----石头"); System.out.println("3-----布"); System.out.println("*****************"); System.out.println("请选择出拳名称代表数字:"); Scanner scanner = new Scanner(System.in); //这里直接接收数字,考虑nextInt可能报错 System.out.println("注意:必须输入内容,然后再回车,不能是空格加回车,否则程序执行不下去"); try{ int tmp=scanner.nextInt(); this.setChoiceName(tmp); }catch(Exception e){ this.setChoiceName((int)(Math.random()*3+1)); } } @Override public void name_setting() { //super调用父类,父类中的“匿名用户”有效 // super.name_setting(); //玩家设置名称,输入名称 System.out.println("请输入玩家名称:"); Scanner scanner = new Scanner(System.in); //这个名称允许空格,但是空格后回车,如果接受是空的,空的没有意义 //属次调用scanner.nextLine()一直接收屏幕输入,只输入一次 //这里只有变量接收一次 String line=scanner.nextLine(); if (!line.trim().equals("")) { this.setName(line); }else{ //父类中提取的公共代码 super.name_setting(); } } } 详细情况请前往下方gitee链接查看
java剪刀石头布
最新推荐文章于 2024-08-03 21:02:21 发布