快学scala习题第二章答案

2024-05-07 18:48

本文主要是介绍快学scala习题第二章答案,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

2.1 一个数字如果为正数,则它的signum为1;如果是负数,则signum为-1;如果为0,则signum为0.编写一个函数来计算这个值

object demo1 {def main(args: Array[String]): Unit = {//var signum:Int=0val signum=(n:Int)=>{if(n>0){1}else if(n<0){-1}else{0}}println(signum(0))}
}

2.2 一个空的块表达式{}的值是什么?类型是什么? ()unit

def checkEmptyBlockType { println({}); println({}.getClass()) }

2.3 指出在Scala中何种情况下赋值语句x=y=1是合法的。

def checkAssignLegal {var x: Unit = ()var y = 1x = y = 1}

2.4 针对下列Java循环编写一个Scala版本:

  • for(int i=10;i>=0;i–)System.out.println(i);
object demo4 {def main(args: Array[String]): Unit = {for(i<- Range(10,0,-1)){println(i)}}
}
或者是
for(i<- 1 to 10 reverse){println(i)
}

2.5 编写一个for循环,计算字符串中所有字母的Unicode代码的乘积。

def sum(s:String)={var sum:Long=1for(i<-"Hello"){sum=sum*i.toLong}sum
}

2.6 编写一个for循环,计算字符串中所有字母的Unicode代码的乘积。

  • 举例来说,"Hello"中所有字符串的乘积为9415087488L
def calculateCharsUnicodeProduct(s: String) = {var res: Long = 1s foreach { res *= _.toLong }res}

2.9 把前一个练习中的函数改成递归函数

def product2(s:String):Long={if(s.length==1){s.charAt(0).toLong}else{//s.take(1)取出字符串然后取出第一个字符//s.drop(1)除了第一个剩下的字符串s.take(1).charAt(0).toLong * product2(s.drop(1))}
}

2.10 编写函数计算xn,其中n是整数,使用如下的递归定义:

def question10(x: Int, n: Int): BigInt = n match {case 0 => 1case n if n < 0 => 1 / question10(x, -n)case n if n % 2 == 0 => question10(x, n / 2) pow 2case n if n % 2 == 1 => x * question10(x, n - 1)}

如果大佬需要刷leetcode 可以关注这个微信公众号后期会更新
在这里插入图片描述

这篇关于快学scala习题第二章答案的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/968099

相关文章

【C++ Primer Plus习题】13.4

大家好,这里是国中之林! ❥前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。有兴趣的可以点点进去看看← 问题: 解答: main.cpp #include <iostream>#include "port.h"int main() {Port p1;Port p2("Abc", "Bcc", 30);std::cout <<

poj 3104 二分答案

题意: n件湿度为num的衣服,每秒钟自己可以蒸发掉1个湿度。 然而如果使用了暖炉,每秒可以烧掉k个湿度,但不计算蒸发了。 现在问这么多的衣服,怎么烧事件最短。 解析: 二分答案咯。 代码: #include <iostream>#include <cstdio>#include <cstdlib>#include <algorithm>#include <c

java线程深度解析(一)——java new 接口?匿名内部类给你答案

http://blog.csdn.net/daybreak1209/article/details/51305477 一、内部类 1、内部类初识 一般,一个类里主要包含类的方法和属性,但在Java中还提出在类中继续定义类(内部类)的概念。 内部类的定义:类的内部定义类 先来看一个实例 [html]  view plain copy pu

【附答案】C/C++ 最常见50道面试题

文章目录 面试题 1:深入探讨变量的声明与定义的区别面试题 2:编写比较“零值”的`if`语句面试题 3:深入理解`sizeof`与`strlen`的差异面试题 4:解析C与C++中`static`关键字的不同用途面试题 5:比较C语言的`malloc`与C++的`new`面试题 6:实现一个“标准”的`MIN`宏面试题 7:指针是否可以是`volatile`面试题 8:探讨`a`和`&a`

第六章习题11.输出以下图形

🌏个人博客:尹蓝锐的博客 希望文章能够给到初学的你一些启发~ 如果觉得文章对你有帮助的话,点赞 + 关注+ 收藏支持一下笔者吧~ 1、题目要求: 输出以下图形

【C++ Primer Plus习题】12.2

大家好,这里是国中之林! ❥前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。有兴趣的可以点点进去看看← 问题: 解答: main.cpp #include <iostream>#include "String.h"using namespace std;int main(){String s1(" and I am a

c++习题30-求10000以内N的阶乘

目录 一,题目  二,思路 三,代码    一,题目  描述 求10000以内n的阶乘。 输入描述 只有一行输入,整数n(0≤n≤10000)。 输出描述 一行,即n!的值。 用例输入 1  4 用例输出 1  24   二,思路 n    n!           0    1 1    1*1=1 2    1*2=2 3    2*3=6 4

C语言程序与设计第四版课后习题 - 1~8章大合集

前言 本文章是一个大合集,按照课后习题的命名方式命名,方便寻找,只需要在目录上点相对应的题号即可在这里插入图片描述 第一章课后习题 1.1 编写一个C程序 题目概述: 请参照本章例题,编写一个C程序,输出一下信息: *****************************Very good!***************************** 代码实现: #define

【C++ Primer Plus习题】12.1

大家好,这里是国中之林! ❥前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。有兴趣的可以点点进去看看← 问题: 解答: main.cpp #include <iostream>#include "Cow.h"using namespace std;int main(){Cow c1;Cow c2("老母牛", "喝奶"

上海大学《2022年836+915自动控制原理真题及答案》 (完整版)

Part1:2022年上海大学真题题目 学硕836 专硕915 Part2:2022年上海大学真题答案 学硕836 专硕915