案例1:
计算以下三个数列的和:1-1/2+1/3-1/4+1/5 ...+1/19
object Main {
def main(args: Array[String]) = {
/**
* 计算以下三个数列的和:
* (3) 1-1/2+1/3-1/4+1/5 ...+1/19
*/
var sum:Double = 0 //sum =0 sum 默认是int
var i = 1
while (i <=19 ){
//如果是奇数就是+
if(i%2 ==1){
sum += 1.0 /i
}else{ //否则就是-
sum -= 1.0 /i
}
i +=1
}
println(s"sum ${sum}")
}
}
<img src="" alt="" width="30%" />
案例2:判断是否为素数
object Main {
def main(args: Array[String]) = {
val num = scala.io.StdIn.readInt()
var isPrime: Boolean = true // 假设是素数
// 处理特殊情况:小于2的数不是素数
if (num <= 1) {
isPrime = false
} else {
// 优化:只需要检查到平方根即可
var i = 2
while (i <= math.sqrt(num)) {
// 如果能整除,说明不是素数
if (num % i == 0) {
isPrime = false
}
i += 1
}
}
if (isPrime) {
println(s"$num 是素数")
} else {
println(s"$num 不是素数")
}
}
}
案例3:判断小球落地的高度
object Main {
def main(args: Array[String]) = {
var i = 0 //落地的次数
var high =100.0 //初始为100米
while(high >=0.5){
high = high / 2.0
i += 1
println(s"经过${1}次落地后,小球的高度为${high}")
}
println(s"--经过${1}次落地后,小球的高度为${high},小于0.5的--")
}
}
案例4
(1) 1元本金,10年后有多少元
object Main {
def main(args: Array[String]) = {
var i =0
var money = 1.0
while(I<10){
//每一年的钱都在去年的钱,增加10% ==== 乘以1.1
money =money *1.1
i +=1
println(s"$i 年之后,有$money 元")
}
println(s"10年之后,总的钱变成了:$money")
}
//本金 1.0元 ===========1.家庭背景
// 时间:多少年 ========+-++++2。年龄
// 年化收益率:10% ======3.能力
}
(2) 1元本金,达到1000元要多少年
object Main {
def main(args: Array[String]) = {
var i =0
var money = 1.0
while(money<1000){
//每一年的钱都在去年的钱,增加10% ==== 乘以1.1
money =money *1.1
i +=1
println(s"$i 年之后,有$money 元")
}
println(s"10年之后,总的钱变成了:$money")
}
//本金 1.0元 ===========1.家庭背景
// 时间:多少年 ========+-++++2。年龄
// 年化收益率:10% ======3.能力
}