以下是scala简单的入门题~

1、⼀个数字如果为正数,则它的signum为1;如果是负数,怎么signum为-1;如果是0,则signum 为0.编写⼀个函数来计算这个值。

object Test {
def main(args : Array[String]){
val a= 1
var signum =if(a>0) 1 else if(a<0) -1 else 0
println(signum)
}
}

2、针对下列Java循环编写Scala版本 for(int i=10; i>=0;i- -) System.out.println(i)

object Test {
def main(args : Array[String]){
for(i<- Range(10,-1,-1))
println(i)
}
}

3、编写⼀个过程countdown(n : Int), 打印从n-1到0的数字.(n > 1)

object Test {
//编写⼀个过程countdown(n : Int), 打印从n-1到0的数字.(n > 1)
def countdown(n:Int){
for(i <- Range(n-1,-1,-1))println(i)
}
def main(args : Array[String]){
countdown(5)
}
}

4、编写⼀个循环,讲整数数组中相邻的元素置换。如,Array(1,2,3,4,5)经过置换变为 Array(2,1,4,3,5)

object Test {
//编写⼀个循环,讲整数数组中相邻的元素置换。如,Array(1,2,3,4,5)经过置换变为 Array(2,3,4,5,1)
def swap(array:Array[Int]){
for(idx <- 0 until (if(array.length%2==0) array.length else array.length-1)){
val temp=array(idx)
array(idx)=array(idx+1)
array(idx+1)=temp
}
for(i <- 0 until array.length)
print(array(i))
}
def main(args : Array[String]){
val a=Array(1,2,3,4,5)
swap(a)
}
}

5、任意给定⼀个语句(⾃定义,词与词之间以空格好分隔),统计出每个词出现的次数。

object Test {
//任意给定⼀个语句(⾃定义,词与词之间以空格好分隔),统计出每个词出现的次数。
def wordcount(content : String) : Map[String, Int]= {
val counts = scala.collection.mutable.Map[String, Int]()
for(word <- content.split(' ')){
if (counts.contains(word))
counts(word) = counts(word) + 1
else
counts += (word -> 1) }
print(counts)
counts.toMap
} def main(args : Array[String]){
val words="a b c d e f a b c"
wordcount(words)
}
}

scala简单的功能实现~weekone的更多相关文章

  1. scala简单的功能实现~weektwo

    1.编写⼀个BankAccount类,假如deposit和withdraw⽅法,和⼀个只读的balance属性. //存款(deposit)和取款()函数 class BankAccount exte ...

  2. System.DateUtils 1. DateOf、TimeOf 简单修饰功能

    编译版本:Delphi XE7 { Simple trimming functions } // 简单修饰功能 function DateOf(const AValue: TDateTime): TD ...

  3. python3实现简单爬虫功能

    本文参考虫师python2实现简单爬虫功能,并增加自己的感悟. #coding=utf-8 import re import urllib.request def getHtml(url): page ...

  4. 插件介绍 :cropper是一款使用简单且功能强大的图片剪裁jQuery插件。

    简要教程 cropper是一款使用简单且功能强大的图片剪裁jQuery插件.该图片剪裁插件支持图片放大缩小,支持鼠标滚轮操作,支持图片旋转,支持触摸屏设备,支持canvas,并且支持跨浏览器使用. c ...

  5. SharePoint 2013 &quot;通知我&quot;简单的功能

    简单的功能 "通知我"内部列表或文档库中的主要项目.加入/删除/修改等操作,用户的E- mail通知设定功能:设置列表或文档库通知的能力,有可能设置通知为一个单一的项目.这是Sha ...

  6. Victor 串口 VCL 控件 - 简单实用, 功能强大的 C++ Builder 串口控件!

    源:Victor 串口 VCL 控件 - 简单实用, 功能强大的 C++ Builder 串口控件! 2014年02月06日发布控件的重要更新版本: Victor 串口控件 1.5.0.2 版本 (包 ...

  7. 基于django的自定义简单session功能

    基于django的自定义简单session功能 简单思路: 1.建立自定义session数据库 2.登入时将用户名和密码存入session库 3.将自定义的随机session_id写入cookie中 ...

  8. Unity3D使用NGUI实现简单背包功能

    前话 在许多类型游戏中我们经常会使用到背包,利用背包来设置相应角色属性,多了背包也会让游戏增色拓展不少. 那在Unity3D游戏开发中该如何编写背包系统呢?因为有高人开发了NGUI插件,因此我们进行简 ...

  9. DataGridView使用BindingNavigator实现简单分页功能

    接上一篇<DataGridView使用自定义控件实现简单分页功能>,本篇使用BindingNavigator来实现简单分页功能.其实也只是借用了一个BindingNavigator空壳, ...

随机推荐

  1. 自定义Ribbon的负载均衡策略

    自定义负载均衡策略 官方文档指出:自定义的负载均衡配置类不能放在 @componentScan 所扫描的当前包下及其子包下,否则我们自定义的这个配置类就会被所有的Ribbon客户端所共享,也就是说我们 ...

  2. go 语言的一个赋值操作

    最近在看client-go源码,在源码的\tools\caches\store.go文件中有一行代码不得其解(如下标黄内容),它将一个struct赋值给了一个interface type Store ...

  3. php 跳出循环 break

    break语句可以带一个参数n,表示跳出循环的层数,如果要跳出多重循环的话,可以用n来表示跳出的层数,如果不带参数默认是跳出本重循环.

  4. Unsafe API介绍及其使用

      废话 个人理解:java 出现的原因之一,就是对内存的管理:在c/c++,内存可以随心使用,超高的性能也伴有极高的风险:java极大的规避了这种风险,却也降低了程序运行的性能:那么java是否提供 ...

  5. 『Blocks 区间dp』

    Blocks Description Some of you may have played a game called 'Blocks'. There are n blocks in a row, ...

  6. Mybatis+MySql 一个标签中执行多条sql语句

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/cxfly957/article/details/77896590 MySql默认是不支持这种骚操作的 ...

  7. CentOS 7.0 更改SSH 远程连接 端口号

    许多学习过redhat 7的同学们,在使用centos的时候总会遇到一些问题,因为centos在安装时会默认开启一些服务,今天我们就来更改下centos 7.0的SSH端口. 操作步骤: 远程登录到c ...

  8. ReactiveObjC basic

    基础-> https://www.jianshu.com/p/cd4031fbf8ff 在RAC中,万物皆信号. RAC 指的就是 RactiveCocoa ,是 Github 的一个开源框架, ...

  9. Vue第一天

    什么是 Vue.js? Vue.js是前端的主流框架之一,与 Angular.js.React.js一起,并称为前端三大主流框架 Vue.js是一套构建用户界面的框架,只关注视图层,它不仅易上手,还便 ...

  10. this、对象原型

    this和对象原型 第一章 关于this 1.1 为什么要用this this 提供了一种更优雅的方式来隐式"传递"一个对象引用,因此可以将 API 设计 得更加简洁并且易于复用. ...