BEZERRA, André [SOLUÇÕES - CÓDIGOS] Desenvolvimento Backend com Kotlin
- #Desperte o potencial
- #Equipe Motivada
- #Inovação
Resoluções para Análise e aberto a debate nos comentários ^^
1 Suas Primeiras Condições em Kotlin
fun main() {
val media = readLine()!!.toDouble();
when {
media < 5 -> println("REP");
media < 7 -> println("REC");
else -> println("APR");
}
}
2 Avançando Tecnicamente Com a Expressão When
fun main(){
val(d,m,a)=readLine()!!.split("/");
val t = when (m.toInt()){
1->"Janeiro";
2->"Fevereiro";
3->"Marco";
4->"Abril";
5->"Maio";
6->"Junho";
7->"Julho";
8->"Agosto";
9->"Setembro";
10->"Outubro";
11->"Novembro";
12->"Dezembro";
else->"Mês Inválido!"
};
println("$d de $t de $a");
}
3 Explorando Mapas, Loops e Regras com Kotlin
fun main(){
val ref : String? = readLine();
val roman = mapOf(
'I' to 1,
'V' to 5,
'X' to 10,
'L' to 50,
'C' to 100,
'D' to 500,
'M' to 1000
);
var value : Int = 0;
var a : Int;
var p : Int;
for (i in ref!!.indices) {
a = roman.getValue(ref[i]);
p = when(i+1) {
ref.length -> 0;
else -> roman.getValue(ref[i+1]);
};
value += (if(p>a) -1 else 1)*a;
}
print(value);
}
4 Utilizando a Keyword Object com Orientação a Objetos (OO)
object ReceitaFederal{
fun calc (s:Double) : Double{
return s*(when{
s > 2500 -> 0.15;
s > 1100 -> 0.10;
else -> 0.05
})
}
}
fun main(){
val value = readLine()!!.toDouble();
println(String.format("%.2f",value - ReceitaFederal.calc(value)+readLine()!!.toDouble()));
}
5 Orientação a Objetos (OO) Visando Soluções Mais Idiomáticas
data class Pais(var h:Double,val t:Double){
fun Calc(){ h *= 1+t/100 }
}
fun main(){
val a = Pais(readLine()!!.toDouble(),3.0);
val b = Pais(readLine()!!.toDouble(),1.5);
var count = 0;
while(a.h < b.h){
a.Calc();
b.Calc();
++count;
}
println("$count anos")
}