//Kotlin is a programming language for Android development.
fun main(args : Array<String>){
//functia main
println("Hello World from Kotlin!")
//Data types
val int: Int = 1001 //Definirea unei valori de tip int
val doi: Double = 100.30
val urm: Float = 190.34f
println("Valoarea lui int este: " + int)
println("Valoarea lui doi este: " + doi)
println("Valoarea lui urm este: " + urm)
val int2 = 409
println("Valoarea adunarii este: " + adunare(int, int2))
val armstrongNr = 400
armstrong(armstrongNr)
val armstrongNr1 = 153
armstrong(armstrongNr1)
val numArr = doubleArrayOf(45.9, 67.8, 44.5 )
//averageArray(numArr)
var pers = Persoana()
pers.printMe ()
var inter = Exterioara.Interioara ()
inter.printMe ()
}
//Functia aduna doua numere si returneaza rezultatul
fun adunare (nr1: Int, nr2: Int): Int {
val sum = nr1 + nr2
return sum
}
//Functia Armstrong pentru un numar cu 3 digiti 153=1*1*1+5*5*5+3*3*3
fun armstrong (nr: Int){
var originalNumber: Int
var remainder: Int
var result = 0
originalNumber = nr
while(originalNumber != 0){
remainder = originalNumber % 10
result += Math.pow (remainder.toDouble (), 3.0 ).toInt()
originalNumber /= 10
}
if(result == nr ){
println("$nr este un numar Armstrong.")
} else {
println("$nr nu este un numar Armstrong.")
}
}
fun averageArray (ar: Array<Double>): Double {
var sum = 0.0
for (num in ar){
sum += num
}
val average = sum / ar.size
return average
}
//Clase in Kotlin
class Persoana {
//Variabilele clasei proprietate si membrumember deDr date
private var nume: String = "Mihai "
val prenume = "Cornel"
val email = "mhcmhcrnl@gmail.com"
//Functia clasei
fun printMe (){
println("Dezvoltator $nume $prenume si email $email.")
}
}
/*Nested class*/
class Exterioara {
class Interioara {
fun printMe (){
println ("Salut din clasa Interioara. ")
}
}
}