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实现彩票算法的更多相关文章

  1. scala实现kmeans算法

    算法的概念不做过都解释,google一下一大把.直接贴上代码,有比较详细的注释了. 主程序: import scala.io.Source import scala.util.Random /** * ...

  2. C#排列组合类,写彩票算法的朋友们可以来看一看

    public class PermutationAndCombination<T>    {        /// <summary>        /// 交换两个变量    ...

  3. Spark MLBase分布式机器学习系统入门:以MLlib实现Kmeans聚类算法

    1.什么是MLBaseMLBase是Spark生态圈的一部分,专注于机器学习,包含三个组件:MLlib.MLI.ML Optimizer. ML Optimizer: This layer aims ...

  4. Scala 运算符和集合转换操作示例

    Scala是数据挖掘算法领域最有力的编程语言之一,语言本身是面向函数,这也符合了数据挖掘算法的常用场景:在原始数据集上应用一系列的变换,语言本身也对集合操作提供了众多强大的函数,本文将以List类型为 ...

  5. scala 基础知识总结

    在最开始处引入 log 相关的 包 import org.apache.log4j.{Logger,Level} 在需要屏蔽日志输出的地方加上这两行代码 // 屏蔽不必要的日志显示在终端上 Logge ...

  6. Spark之Scala学习

    1. Scala集合学习: http://blog.csdn.net/lyrebing/article/details/20362227 2. scala实现kmeans算法 http://www.t ...

  7. Scala数组操作

    数组操作 初始化固定长度的数组 // 初始化长度为10的数组 val array = new Array[Int](10) // 初始化创建含有hello与Scala的数组 val s = Array ...

  8. 【重学计算机】操作系统D2章:处理器管理

    1. 指令与处理器模式 指令执行周期:取指.译码.执行 指令分类(根据权限) 特权指令:只能被操作系统内核使用(启动IO,置PC值) 非特权指令:所有程序都能使用 处理器模式: 共有四种:0内核模式, ...

  9. 基于消逝时间量的共识机制(POET)

    来自于Intel project:Hyperledger Sawtooth,目前版本 PoET 1.0 PoET 其实是属于Nakamoto consenus的一种,利用“可信执行环境”来提高当前解决 ...

随机推荐

  1. Oracle JDBC配置

    Oracle数据库是收费的,Oracle的JDBC驱动在Maven仓库中虽有其名,却无法下载到jar包. 这就需要手动下载Oracle JDBC驱动并将其安装到本地Maven仓库中. 如果从官网下载, ...

  2. Web前端开发笔试&面试_01(mi:)

    —— (al_me16041719002000) begin—— 1.(单选)下面哪个方法是String对象和Array对象都有的? A.splice B.split C.replace D.conc ...

  3. MySQL数据库查询优化建议

    1. 对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2. 应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使 ...

  4. RHEL6.4 多路径绑定

    # rpm -qa | grep mapper #查看multipath是否安装 # lsmod | grep dm_multipath #查看multipath模块是否加载 # rpm -ivh | ...

  5. WebDav的java客户端开发包:Jackrabbit

    上一篇帖子“WebDav的java客户端开发包:sardine”中说到,对于开发WebDav客户端 sardine是一个很好的选择,但sardine并未实现WevDav的全部规范,所以我又试了试 ap ...

  6. Python islower() 方法

    描述 Python islower() 方法检测字符串是否由小写字母组成. 相反的方法:isupper() 方法. 语法 islower() 方法语法: S.islower() 参数 无. 返回值 如 ...

  7. tomcat6的编译和导入myeclipse

    声明:近期在学习tomcat6的源代码,网上搜索了些相关的资料,并自己操作了下进行了对应的汇总.如今总结例如以下 本文目的:编译tomcat6源代码+导入tomcat6源代码到myeclipse 測试 ...

  8. OpenGl学习glMatrixMode()函数理解

    glMatrixMode()函数的参数,这个函数其实就是对接下来要做什么进行一下声明,也就是在要做下一步之前告诉计算机我要对“什么”进行操作了,这个“什么”在glMatrixMode的“()”里的选项 ...

  9. js 控制图片大小核心讲解

    控制图片大小的方法有很多,在本文将为大家详细介绍下使用js实现缩放图片,核心代码如下,感兴趣的朋友可以参考下 缩放图片脚本分享 <!DOCTYPE HTML PUBLIC "-//W3 ...

  10. PYNQ = Python + ZYNQ —— ZYNQ部分功能的Python化

    PYNQ优点:1.    Python用于ZYNQ开发,Python库和FPGA硬件库可以直接调用,极大加快开发进程.缩短开发周期.降低开发难度,更方便.快捷:2.    用PYNQ开发,当Pytho ...