1. 程式人生 > >Scala第一章練習題

Scala第一章練習題

1. Scala直譯器讀到一個表示式,對它進行求值,將它打印出來,接著再繼續讀取下一個表示式。這個過程被稱做“讀取-求值-列印-迴圈”,即REPL。

練習題

1.在Scala REPL中鍵入3,然後按TAB鍵。有哪些方法可與被應用?

我是輸入了“3.”按TAB鍵才有以下輸出


2. 在scala REPL中,計算3的平方根,然後再對該值求平方,現在,這個結果與3相差多少?(提示:res變數是你的朋友)

先要import scala.math._(下劃線表示萬用字元)


3. res變數是val還是var?

我認為是val


4. Scala允許你用數字去乘字串----去REPL中試一下“crazy”*3,這個操作做什麼?在Scaladoc中如何找到這個操作

重複crazy 3次


直接在Scaladoc中搜索string唄

5.10 max 2的含義是什麼?max方法定義在哪個類中?


RichInt類中(為什麼直接搜尋max查不到,不好用)

6.用BigInt計算2的1024次方


7.為了在使用probablePrime(100, Random)獲取隨機素數時不在probablePrime和Radom之前使用任何限定符,你需要引入什麼?

import scala.util._

import scala.math.BigInt._

網上搜索來的,不知道為什麼!!!

8. 建立隨機檔案的方式之一是生成一個隨機的BigInt,然後把它轉換成三十六進位制,輸出類似"qsnveffwfweq434ojjlk"這樣的字串,查閱scaladoc,找到在scala中實現該邏輯的辦法。



9.在Scala中如何獲取字串的首字元和尾字元?


10. take, drop, takeRight, dropRight這些字串函式是做什麼用的?和substring相比,它們的優點和缺點都有哪些?

(1)在StringLike中

take:Selects first n elements.(選擇開頭的n個字元)

takeRight :Selects last n elements.(選擇末尾的n個字元)

(2)StringOps

drop :Selects all elements except first n ones. (選擇除了開頭的n個字元)
dropRight:Selects all elements except last n ones. (選擇除了末尾的n個字元)

(3)StringBuilder

substring: 選擇子串,這個要構造一個新的字串