java课程设计题目:体育彩票的投彩和开奖过程。
设计一个体育彩票的投彩和开奖过程。要求:体彩的中奖等级分为特等奖(7位数字全部吻合),一等奖(6个连续的数字吻合),二等奖(5个连续的数字吻合)、三等奖(4个连续的数字吻合)和安慰奖(2个连续的数字吻合),设立奖励规则,各个等级的奖金金额自定。每个彩民一次可以下多注,每注2元。
本人有c++版的,但是java的不会,求大神解答。有需要c++版的回复我也可以。急求!!!!!!!!!!!!!
package Service; /** * @ClassName: Player * @Description: TODO(这是一个抽象类,由于参与的双方都是具有同样的方法--获得号码) * @author Liu Denghong * @date 2015-12-31 下午4:59:21 * */ public abstract class Player { public String username; public int num[]; public abstract void getNum(); }
package Service; import java.util.Random; /** * @ClassName: Machine * @Description: TODO(获取中奖号码) * @author Liu Denghong * @date 2015-12-31 下午5:01:56 * */ public class Machine extends Player { public int[] num=new int[7]; Random rand=new Random(); public void getNum(){ System.out.println("中奖号码:"); for(int i=0;i<7;i++){ num[i]=rand.nextInt(10); System.out.print(" "+num[i]); } } }
/** * @Title: Guest.java * @Package Service * @Description: TODO(获取客户输入号码) * @author A18ccms A18ccms_gmail_com * @date 2015-12-31 下午4:59:57 * @version V1.0 */ package Service; import java.util.Scanner; /** * @ClassName: Guest * @Description: TODO(这里用一句话描述这个类的作用) * @author Liu Denghong * @date 2015-12-31 下午4:59:57 * */ public class Guest extends Player{ public int num[]=new int[7]; public void getNum(){ Scanner scan=new Scanner(System.in); for(int i=0;i<7;i++){ num[i]=scan.nextInt(); } for(int i=0;i<7;i++){ System.out.print(" "+num[i]); } // return num; } }
/** * @Title: Compete.java * @Package judge * @Description: TODO(判断是否中奖) * @author A18ccms A18ccms_gmail_com * @date 2015-12-31 下午5:03:53 * @version V1.0 */ package judge; import Service.Guest; import Service.Machine; import Service.Player; /** * @ClassName: Compete * @Description: TODO(比较时如果匹配,则note加1;否则将flag加1;但是注意flag令一个含义是新出现的连续数。最后比较。如果flag大则复制给note。 * 需要注意的是flag的清零情况) * @author Liu Denghong * @date 2015-12-31 下午5:03:53 * */ public class Compete { public int iLuck(Guest a,Machine b){ Record rec=new Record(); for(int i=0;i<7;i++){ if(a.num[i]==b.num[i]){ if(rec.flag==0) recNotePlus(rec); if(rec.flag>=rec.note+1){ rec.note=rec.flag; rec.flag=0; } if(rec.flag>=1) recFlagPlus(rec); } else{ if(rec.flag==0) recFlagPlus(rec); if(rec.flag>0) rec.flag=1; } } return rec.note; } public void recNotePlus(Record rec){ rec.note++; } public void recFlagPlus(Record rec){ rec.flag++; } }
/** * @Title: Show.java * @Package show * @Description: TODO(输出中奖信息) * @author A18ccms A18ccms_gmail_com * @date 2016-1-1 上午9:25:15 * @version V1.0 */ package show; /** * @ClassName: Show * @Description: TODO(这里用一句话描述这个类的作用) * @author Liu Denghong * @date 2016-1-1 上午9:25:15 * */ public class Show { public void luck(int flag){ switch(flag){ case 7: System.out.println("恭喜您获得特等奖!");break; case 6: System.out.println("恭喜您获得一等奖!");break; case 5: System.out.println("恭喜您获得二等奖!");break; case 4: System.out.println("恭喜您获得三等奖!");break; case 3: System.out.println("恭喜您获得四等奖!");break; case 2: System.out.println("恭喜您获得安慰奖!");break; default: System.out.println("没有中奖!");break; } } }
/** * @Title: Record.java * @Package judge * @Description: TODO(这是一个数据结构) * @author A18ccms A18ccms_gmail_com * @date 2015-12-31 下午5:03:17 * @version V1.0 */ package judge; /** * @ClassName: Record * @Description: TODO(这里用一句话描述这个类的作用) * @author Liu Denghong * @date 2015-12-31 下午5:03:17 * */ public class Record { int note=0;//note 记录历史连续号码 int flag=0;//flag记录连续是否隔断和新出现的号码连续数 }
/** * @Title: Test.java * @Package test * @Description: TODO(用一句话描述该文件做什么) * @author A18ccms A18ccms_gmail_com * @date 2015-12-31 下午5:06:07 * @version V1.0 */ package test; import show.Show; import Service.Guest; import Service.Machine; import /** * @ClassName: Test * @Description: TODO(测试类) * @author Liu Denghong * @date 2015-12-31 下午5:06:07 * */ public class Test { public static void main(String[] args){ Compete com=new Compete(); Guest g=new Guest(); Machine m=new Machine(); m.getNum(); g.getNum(); int i=com.iLuck(g, m); Show sh=new Show(); sh.luck(i); // System.out.print(" "+i); } }