scala实现彩票算法
scala实现彩票算法
(1)具体实现代码如下:
package hw1 import scala.util.control._ /**
* @author BIGDATA
*/
object Cp {
var input=new Array[Int](7)
var cp=new Array[Int](7)
var level=0
def main(args:Array[String]):Unit={
//var num=readInt
buy()
printUsr();
kaijiang();
printzhongJ();
duijiang();
fajiang();
}
def buy():Unit={
println("请输入1-35之间的七个整数:")
var i=0
while(i<7)
{
input(i)=readInt
if(input(i)>=1 && input(i)<=35)
{
val loop = new Breaks
loop.breakable {
for(j<- 0 to i-1)
{
if(input(i)==input(j))
{
println("输入重复,请重新输入:")
i-=1
loop.break()
}
}
}
i+=1
}
else
{
println("输入数据越界,请重新输入:")
i-=1
}
}
}
def printUsr():Unit={
println("用户所买的号码是:")
for(i<- 0 to 6) print(input(i)+" ")
println()
} def kaijiang():Unit={
var i=0
while(i<7)
{
cp(i)=(math.random*35+1).toInt
val loop = new Breaks
loop.breakable {
for (j <- 0 to i-1)
{
if (cp(i)==cp(j))
{
i-=1
loop.break()
}
}
}
i+=1
}
} def printzhongJ():Unit={
println("系统中将号码为:")
for(i<- 0 to 6) print(cp(i)+" ")
println()
} def duijiang():Unit={
printf("用户中奖等级为:")
for(i<- 0 to 6)
{
val loop1 = new Breaks
loop1.breakable {
for(j <- 0 to 6)
{
if(input(i)==cp(j))
{
level+=1
loop1.break()
}
}
}
}
} def fajiang():Unit={
level match{
case 7 => println("1等奖")
case 6 => println("2等奖")
case 5 => println("3等奖")
case 4 => println("4等奖");
case 3 => println("5等奖")
case 2 => println("6等奖")
case 1 => println("7等奖");
case 0 => println("好遗憾,没有中奖!")
}
} }
(2)运行结果如下:

scala实现彩票算法的更多相关文章
- scala实现kmeans算法
算法的概念不做过都解释,google一下一大把.直接贴上代码,有比较详细的注释了. 主程序: import scala.io.Source import scala.util.Random /** * ...
- C#排列组合类,写彩票算法的朋友们可以来看一看
public class PermutationAndCombination<T> { /// <summary> /// 交换两个变量 ...
- Spark MLBase分布式机器学习系统入门:以MLlib实现Kmeans聚类算法
1.什么是MLBaseMLBase是Spark生态圈的一部分,专注于机器学习,包含三个组件:MLlib.MLI.ML Optimizer. ML Optimizer: This layer aims ...
- Scala 运算符和集合转换操作示例
Scala是数据挖掘算法领域最有力的编程语言之一,语言本身是面向函数,这也符合了数据挖掘算法的常用场景:在原始数据集上应用一系列的变换,语言本身也对集合操作提供了众多强大的函数,本文将以List类型为 ...
- scala 基础知识总结
在最开始处引入 log 相关的 包 import org.apache.log4j.{Logger,Level} 在需要屏蔽日志输出的地方加上这两行代码 // 屏蔽不必要的日志显示在终端上 Logge ...
- Spark之Scala学习
1. Scala集合学习: http://blog.csdn.net/lyrebing/article/details/20362227 2. scala实现kmeans算法 http://www.t ...
- Scala数组操作
数组操作 初始化固定长度的数组 // 初始化长度为10的数组 val array = new Array[Int](10) // 初始化创建含有hello与Scala的数组 val s = Array ...
- 【重学计算机】操作系统D2章:处理器管理
1. 指令与处理器模式 指令执行周期:取指.译码.执行 指令分类(根据权限) 特权指令:只能被操作系统内核使用(启动IO,置PC值) 非特权指令:所有程序都能使用 处理器模式: 共有四种:0内核模式, ...
- 基于消逝时间量的共识机制(POET)
来自于Intel project:Hyperledger Sawtooth,目前版本 PoET 1.0 PoET 其实是属于Nakamoto consenus的一种,利用“可信执行环境”来提高当前解决 ...
随机推荐
- 【LeetCode】93. Restore IP Addresses
Restore IP Addresses Given a string containing only digits, restore it by returning all possible val ...
- 【jQuery】页面顶部显示的进度条效果
<!Doctype html> <html> <head> <title>页面顶部显示的进度条效果</title> <meta htt ...
- C#中缓存的使用 ajax请求基于restFul的WebApi(post、get、delete、put) 让 .NET 更方便的导入导出 Excel .net core api +swagger(一个简单的入门demo 使用codefirst+mysql) C# 位运算详解 c# 交错数组 c# 数组协变 C# 添加Excel表单控件(Form Controls) C#串口通信程序
C#中缓存的使用 缓存的概念及优缺点在这里就不多做介绍,主要介绍一下使用的方法. 1.在ASP.NET中页面缓存的使用方法简单,只需要在aspx页的顶部加上一句声明即可: <%@ Outp ...
- Python学习笔记——与爬虫相关的网络知识
1 关于URL URL(Uniform / Universal Resource Locator):统一资源定位符,用于完整地描述Internet上网页和其他资源的地址的一种标识方法 URL是爬虫的入 ...
- linux的cat命令
1 描述 cat 的全称 concatenate files and print on the standard output cat命令事Linux下的一个文本输出命令. 用于链接文件并打印到标准输 ...
- 转 HTTP协议 (四) 缓存
转自:http://www.cnblogs.com/TankXiao/archive/2012/11/28/2793365.html 缓存的概念 缓存这个东西真的是无处不在, 有浏览器端的缓存, 有服 ...
- Linux中断 - tasklet
一.前言 对于中断处理而言,linux将其分成了两个部分,一个叫做中断handler(top half),属于不那么紧急需要处理的事情被推迟执行,我们称之deferable task,或者叫做bott ...
- Linux中断 - ARM中断处理过程
一.前言 本文主要以ARM体系结构下的中断处理为例,讲述整个中断处理过程中的硬件行为和软件动作.具体整个处理过程分成三个步骤来描述: 1.第二章描述了中断处理的准备过程 2.第三章描述了当发生中的时候 ...
- __attribute__中constructor和destructor
1.前言 最近看到一份代码,看到一个函数前面用__attribute__((destructor))修饰,当时感觉有点怪怪的,搜了整个程序,也没发现哪个地方调用这个函数.于是从字面意思猜想,该函数会在 ...
- CListCtrl获取列数
CListCtrl获取列数 // m_List是一个CListCtrl CHeaderCtrl* pHeaderCtrl = m_List.GetHeaderCtrl();if(pHeaderCtrl ...