A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

zhangyawang523

初级黑马

  • 黑马币:42

  • 帖子:20

  • 精华:0

© zhangyawang523 初级黑马   /  2016-10-6 22:07  /  1982 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

“21点”小游戏(牌的点数累加和大于21结束游戏,小于21可以选择继续要牌)
        需求:
        1.程序执行时,显示界面:1.发牌    2.结束发牌,键盘输入1个整数值,如果输入1,就发牌;如果键盘录入2就结束发牌
        2:每次发牌随机获取1个1-13(包含1和13)之间的整数
        3:每次执行完发牌,如牌点数的累加和小于等于21,控制台提示手上的牌有哪几个,累加的点数为多少
        4:如果当前手上的的牌点数累加和大于21,就提示 “点数为:***,大于21结束游戏”(***为手上牌点数的累加和),并结束游戏       
5.选择结束发牌,在控制台提示"您现在手上的牌有:@@",点数为:**",并结束程序(@@为手上所有的牌,***为手上牌点数的累加和)
6..每次执行完发牌或输入其他数值,转跳回开始的选择界面

3 个回复

倒序浏览
[Java] 纯文本查看 复制代码
public class Test01 {
	public static void main(String[] args) {
		StringBuffer sb = new StringBuffer();
		int sum=0;
		while(true){
			if ((new Scanner(System.in).nextInt())==2) {
				return;
			} else if ((new Scanner(System.in).nextInt())==1) {
				int num = new Random().nextInt(13)+1;
				sum +=num;
				if (sum<21) {
					System.out.print("您手上的牌是:");
					sb.append(Integer.toString(num)+" ");
					System.out.println(sb);
				} else {
					System.out.println("点数为:"+sum+",大于21点,游戏结束");
					return;
				}
			}	
		}
	}
}

但愿对你有所帮助……
回复 使用道具 举报
tliangl928 发表于 2016-10-6 22:56
[mw_shl_code=java,true]public class Test01 {
        public static void main(String[] args) {
                StringBuffe ...

试了下 还是有缺陷 每次运行需要输入两个1才能继续往下走
回复 使用道具 举报
zhangyawang523 发表于 2016-10-6 23:34
试了下 还是有缺陷 每次运行需要输入两个1才能继续往下走

那你就在这个的基础上改一下呗……
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马