The while loop executes a block of code as long as a condition is true.
The following code prints out a complaint once a day until the next Friday the 13th has arrived:
object Main {
def main(args: Array[String]) {
import java.util.Calendar
def isFridayThirteen(cal: Calendar): Boolean = {
val dayOfWeek = cal.get(Calendar.DAY_OF_WEEK)
val dayOfMonth = cal.get(Calendar.DAY_OF_MONTH)
(dayOfWeek == Calendar.FRIDAY) && (dayOfMonth == 13)
}
while (!isFridayThirteen(Calendar.getInstance())) {
println("Today isn't Friday the 13th. Lame.")
Thread.sleep(86400000)
}
}
}
A do-while loop executes some code while a conditional expression is true.
That is, the do-while checks to see if the condition is true after running the block.
To count up to 10, we could write this:
object Main {
def main(args: Array[String]) {
var count = 0
do {
count += 1
println(count)
} while (count < 10)
}
}