JAVA程序设计(04.1)-----1.百元百鸡;2.七星选号; 3.Craps赌博

本文解析了三个经典的编程题目,包括“百元买百鸡”问题的解决方案、“七星选号”程序实现以及“Craps赌博游戏”的高级版玩法。通过这些题目,展示了如何使用Java进行逻辑控制、随机数生成及简单的游戏交互。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.百元百鸡(2)

package com.lovo;
/**
 * 百元卖百鸡
 * @author Abe
 *
 */

public class Homework11 {
	public static void main(String[] args) {
		int cock = 0 , hen = 0, chicken = 0 , num = 0;
		for (chicken = 0; chicken <= 99; chicken +=3 ){
			for (cock = 0; cock <= 20 ; cock++){
				hen = 100 - chicken - cock;
				//先算小鸡 出现了很神奇的 母鸡为负数 还刚好合适的情况……
				//必须要加个验证100-x-y之后大于0的判断……
				//以前之所以没出错,是因为只有公鸡和母鸡为负数的可能情况,先把公鸡母鸡范围定义了 刚好不会出错
				if (hen >= 0 && (chicken / 3 + cock *5 + hen *3) == 100 ){
					System.out.printf("一共买了公鸡%d只,母鸡%d只,小鸡%d只~\n",cock, hen ,chicken);
					num++;
				}
			}
		}
		System.out.printf("找到了%d组符合条件的答案~~!",num);
	}
}


2.七星选号

package com.lovo;

import java.util.Scanner;

/**
 * 七星彩机选号程序
 * 
 * @author Abe
 *
 */
public class Homework12 {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.print("请输入你要随即购买的注数:");
		if (sc.hasNextInt()) {
			int i = sc.nextInt();
			if (i > 0) {
				for (int j = 1; j <= i; j++) {
					String every = "第" + j + "注为:";
					for (int k = 1; k <= 7; k++) {
						every += (int) (Math.random() * 10) + " ";
					}
					System.out.println(every);
				}
			} else {
				System.out.println("输入的是负数?");
			}
		} else {
			System.out.println("输入有误!");
		}
		sc.close();
	}
}

3.Craps赌博...做了高级版这个感觉懒得在做了…… 不过反正都是练习 就在做一次吧╮(╯_╰)╭

package com.lovo;

public class Homework13 {

/**
 * Craps 赌博游戏
 * @author Abe
 *
 */

	/**
	 * 摇色子程序
	 * 摇一个6面的色子
	 * 
	 */
		public static int roll(){
			return (int)(Math.random()*6 + 1);
		}
	
	public static void main(String[] args) {
		int first = 0 ;
		first = roll() + roll();
		System.out.printf("你开始丢色子了~ 咕噜~咕噜~ 哦~ 是个%d点\n",first);
		switch(first){
		case 2:
		case 3:
		case 12:
			System.out.printf("你首轮丢了个%d点,庄家赢了!( ̄ε(# ̄)☆",first);break;
		case 7:
		case 11:
			System.out.printf("你首轮丢了个%d点,你赢了!O(∩_∩)O哈哈~",first);break;
		default:
			//想不到不用break跳出for搞得这么复杂……不熟练啊……
			for (int  num = 2 , point2 = 0 ; point2 != first  && point2 != 7; num++){
				point2 = roll() + roll();
				System.out.printf("你丢出了色子~ 咕噜咕噜~ 哦~ 是个%d点\n",point2);
				if(point2 == first){
					System.out.printf("你第%d轮丢了个%d点,你赢了!o(≧v≦)o~~好棒",num,point2);
				}else if(point2 == 7){
					System.out.printf("你第%d轮丢了个%d点,庄家赢了!╰╮o( ̄皿 ̄///)",num,point2);
				}
			}
		}
	}//public main
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值