彩票35选7

本文介绍了一个简单的彩票购买及开奖结果生成程序。该程序允许用户输入个人信息及选择的彩票号码,并随机生成开奖结果,最后对比用户的彩票号码与开奖结果,计算中奖金额。
private static LotteryBean mylottery = new LotteryBean();
private static Scanner sc = new Scanner(System.in);


public static void main(String[] args) {
// TODO Auto-generated method stub
buyLottery();
getWinno();
getWinMoney();
}


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 buyLottery() {
System.out.println("-------购买彩票-------");
System.out.println("身份证号:");
String id = sc.next();
System.out.println("购买号码:输入(1-35之间的)7个数字,以逗号隔开");
String buy = sc.next();
String[] buys = buy.split(",");
int[] buynos = new int[7];
for (int i = 0; i < buynos.length; i++) {
buynos[i] = Integer.parseInt(buys[i]);
}
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String buydate = sdf.format(new java.util.Date());
mylottery.setId(id);
mylottery.setBuynos(buynos);
mylottery.setBuydate(buydate);
}


private static void getWinMoney() {
int equalno = 0;
for (int i = 0; i < 7; i++) {
for (int j = 0; j < 7; j++) {
if (mylottery.getBuynos()[i] == mylottery.getWinno()[j]) {
equalno++;
break;
}
}
}
switch (equalno) {
case 1:
case 2:
mylottery.setWinmoney(1);
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("可兑换奖品:");
System.out.println(mylottery.getWinmoney() + "个装逼不遭雷劈的机会!");
}
### 号逻辑实现 在Qt项目中实现彩票357号逻辑,可以使用`QVector<int>`来存储用户手动择的7个号码。通过设置一个号按钮的点击事件,将用户择的号码添加到向量中,确保号数量不超过7个且号码范围在1到35之间。以下是号逻辑的代码示例: ```cpp #include <QVector> #include <QPushButton> #include <QDebug> class LottoSelector { public: LottoSelector() { selectedNumbers.reserve(7); // 预分配7个元素的空间 } void selectNumber(int number) { if (selectedNumbers.size() < 7 && number >= 1 && number <= 35) { if (!selectedNumbers.contains(number)) { selectedNumbers.append(number); qDebug() << "Selected Numbers: " << selectedNumbers; } } } QVector<int> getSelectedNumbers() const { return selectedNumbers; } private: QVector<int> selectedNumbers; }; ``` ### 随机生成不重复号码 生成随机号码时,可以使用`std::set<int>`来确保号码的唯一性。通过随机数生成器生成1到35之间的数字,并插入到集合中,直到集合中包含7个不重复的号码为止。以下是随机生成号码的代码示例: ```cpp #include <QRandomGenerator> #include <set> std::set<int> generateRandomNumbers() { std::set<int> randomNumbers; while (randomNumbers.size() < 7) { int number = QRandomGenerator::global()->bounded(1, 36); // 生成1到35之间的随机数 randomNumbers.insert(number); } return randomNumbers; } ``` ### 中奖计算逻辑 中奖计算可以通过比较用户择的号码和随机生成的号码之间的交集来实现。使用`std::set_intersection`算法可以快速找出匹配的号码数量,从而判断中奖等级。以下是中奖计算的代码示例: ```cpp #include <algorithm> #include <vector> #include <set> #include <QDebug> int calculatePrize(const QVector<int>& userNumbers, const std::set<int>& winningNumbers) { std::vector<int> intersection; std::set_intersection(userNumbers.begin(), userNumbers.end(), winningNumbers.begin(), winningNumbers.end(), std::back_inserter(intersection)); int matched = intersection.size(); int prize = 0; switch (matched) { case 3: prize = 10; break; case 4: prize = 500; break; case 5: prize = 20000; break; case 6: prize = 100000; break; case 7: prize = 500000; break; default: prize = 0; break; } qDebug() << "Matched Numbers: " << matched; qDebug() << "Prize: " << prize << " Yuan"; return prize; } ``` ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值