35选7彩票自选系统(附加实现效果Java源代码)

                 个人也很喜欢偶尔买注彩票,于是很想自己做套简单的彩票选购系统,用来测试下自己哪天点比较正,会不会中上个500万大奖之类的,正好最近学习了Java的math类,于是运用数学相关类Math,用Java控制台应用程序做了35选7彩票自选系统,手里有2块钱不知道该如何花的时候,就用它测测,如果中的个数多了,嘿嘿,我就去买上一注。现在我就向大家分享一下这个小系统的源代码(我是初学,也是想和初学者相互分享经验,程序虽然简单,但是不足之处,在所难免,不要喷我)。  

嘿嘿,先来看一下实现效果:

35选7彩票自选系统(附加实现效果Java源代码)_第1张图片

嘿嘿,还不错呢,7个数中了俩,要不明天我去买上一注试试。


程序实现说明         

 彩票信息:
购买彩票的人的身份证号:
彩票选择的7个号码
彩票购买日期,
中奖号码
中奖金额

private String id;
private int[] buyno;
private String buydate;
private int[] winno;
private int winmoney;


实例化一个对象来保存彩票信息:

public static LotteryBean mylottery = new LotteryBean();

程序流程分成三个功能块:

35选7彩票自选系统(附加实现效果Java源代码)_第2张图片

相应函数定义实现如下:

// 1购买彩票
buyLottery();
// 2彩票开奖
getWinno();
// 3兑奖
getWinMoney();


兑奖:

  比对购买号码和开奖号码,并且记录号码的匹配次数

分情况发放奖金:根据匹配次数发放不同金额的奖励


下面附加程序实现全部源代码



//LotteryBean .java


import java.util.Arrays;

public class LotteryBean {
private String id;
private int[] buyno;
private String buydate;
private int[] winno;
private int winmoney;




public int getWinmoney() {
return winmoney;
}


public void setWinmoney(int winmoney) {
this.winmoney = winmoney;
}


public int[] getWinno() {
return winno;
}


public void setWinno(int[] winno) {
this.winno = winno;
}


public String getId() {
return id;
}


public void setId(String id) {
this.id = id;
}


public int[] getBuyno() {
return buyno;
}


public void setBuyno(int[] buyno) {
this.buyno = buyno;
}


public String getBuydate() {
return buydate;
}


public void setBuydate(String buydate) {
this.buydate = buydate;
}



public String toString() {
return "您的身份证号为:" + id + "\n     选择的号码:" + Arrays.toString(buyno)
+ "\n    购买日期" + buydate + "\n    开奖号码" + Arrays.toString(winno)
+ "\n   获奖金额:" + winmoney;
}


}


//Test.java



import java.text.SimpleDateFormat;
import java.util.Arrays;
import java.util.Date;
import java.util.Random;
import java.util.Scanner;


public class Test {
// 彩票对象
public static LotteryBean mylottery = new LotteryBean();
public static Scanner sc = new Scanner(System.in);


public static void main(String[] args) {
// 1购买彩票
buyLottery();
// 2彩票开奖
getWinno();
// 3兑奖
getWinMoney();
}


private static void buyLottery() {
System.out.println("----------   彩票购买系统   ---------");
System.out.println("请凭有效身份证购买(输入身份证号):");
String id = sc.next();
System.out.println("购买号码:(输入(1-35)的7个数字以逗号间隔)");
String sbuyno = sc.next();
//1,3,6,11,18,20,25
String[] buynos = sbuyno.split(",");// 分割成字符串数组
int[] buyno = new int[7];
// 将字符串转成整型
for (int i = 0; i < buyno.length; i++) {
buyno[i] = Integer.parseInt(buynos[i]);
}
// 当前日期
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String buydate = sdf.format(new Date());
// 给对象彩票赋值
mylottery.setId(id);
mylottery.setBuyno(buyno);
mylottery.setBuydate(buydate);


}


private static void getWinno() {
System.out.println("------------  彩票开奖   ----------------");
int[] winno = new int[7];
int i = 0, j = 0;
for (i = 0; i < 7; i++) {
Random rd = new Random();
winno[i] = rd.nextInt(35) + 1;
// 判断是否有重复
for (j = 0; j < i; j++) {
if (winno[j] == winno[i]) {
break;
}
}
// 如果重复重新生成
if (j < i) {
i--;
continue;
}
}
// 输出结果
System.out.println(Arrays.toString(winno));
// 赋值
mylottery.setWinno(winno);
}


// 兑奖
private static void getWinMoney() {
int equalno = 0;
for (int i = 0; i < 7; i++) {
for (int j = 0; j < 7; j++) {
if (mylottery.getBuyno()[i] == mylottery.getWinno()[j]) {
equalno++;
break;
}
}
}
//兑奖金额
switch(equalno){
 case 1:
  case 2:System.out.println("棒棒糖一个");break;
case 3:mylottery.setWinmoney(10);break;
case 4:mylottery.setWinmoney(50);break;
case 5:mylottery.setWinmoney(1000);break;
case 6:mylottery.setWinmoney(10000);break;
case 7:mylottery.setWinmoney(1000000);break;
default:mylottery.setWinmoney(0);
}
System.out.println("---------------- 兑奖信息 ------------------");
System.out.println("中奖数字个数:"+equalno);
System.out.println(mylottery.toString());
}


}


你可能感兴趣的:(35选7彩票自选系统(附加实现效果Java源代码))