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. Python 装饰器学习心得

    最近打算重新开始记录自己的学习过程,于是就捡起被自己废弃了一年多的博客.这篇学习笔记主要是记录近来看的有关Python装饰器的东西. 0. 什么是装饰器? 本质上来说,装饰器其实就是一个特殊功能的函数 ...

  2. [转]MegCup2015初赛题

    原文链接 门票题:数独有多少种对解线上没有1的填法? 这道"门票题"虽说只是"热身",但还是有一定难度的.共有245名选手通过各种方法拿到了门票.下面,我们就为 ...

  3. &&和;和||符号的意思

    http://www.cnblogs.com/xuxm2007/archive/2011/01/16/1936836.html在命令行可以一次执行多个命令,有以下几种:   1.每个命令之间用;隔开 ...

  4. mvc中Action前HttpPost的作用

    本文导读:在ASP.NET MVC框架中,为了限制某个action只接受HttpPost的请求,对于HttpGet的请求则提示404找不到页面,可以在action的方法前面加上[HttpPost]属性 ...

  5. struts2.xml中所有constant详解--大全

    <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC "-/ ...

  6. 简单易懂的laravel事件,这个功能非常的有用(监听事件,订阅者模式)

    先说一下在什么场景会使用这个事件功能. 事情大概是这样的,需求要在用户注册的时候发一些帮助邮件给用户(原本用户在注册之后已经有发别的邮件的了,短信,IM什么的) 原来这个注册的方法也就10多行代码.但 ...

  7. Securecrt emacs/vi 代码无法高亮、无颜色

    无法高亮: 这是因为.bashrc中没有 export term=linux 最后,代码恢复正常:

  8. [Codility] CommonPrimeDivisors

    A prime is a positive integer X that has exactly two distinct divisors: 1 and X. The first few prime ...

  9. js动态给table添加/删除tr的方法

    js动态给table添加/删除tr的方法. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> ...

  10. no link present

    今天装linux 系统.然后:service network restart的时候提演示样例如以下的错误: .............................................. ...