Você está na página 1de 14

SISTEMAS DE INFORMAÇÃO

Desenvolvimento Mobile, Games e Internet das Coisas


PROF. Kassiano Resende
profkassiano.resende@fiap.com.br

2
Exercícios Resolvidos

3
Exercício 1

Criar uma função de extensão da classe Double com o


seguinte nome “toCurrencyFormat(): String” que irá
retornar uma String com um Double convertido em valor
monetário. Ex

fun main(){
val valor: Double = 40.0
println(valor.toCurrencyFormat())
//R$ 40,00
}

*Dica: Utilize a classe NumberFormat do Java para essa


formatação.
4
Resolução Exercício 1

fun Double.toCurrencyFormat(): String {


val f = NumberFormat.getCurrencyInstance()
return f.format(this)
}
fun main(){
val valor: Double = 40.0
println(valor.toCurrencyFormat())
//R$ 40,00
}

5
Exercício 2

Criar uma função de extensão da classe String com o


seguinte nome “firstName(): String” que irá retornar uma
String com o primeiro nome de uma pessoa. Ex:

fun main(){
val fullName = "Kassiano Resende"
val fullName2 = "Kassiano"
val fullName3 = "Kassiano Resende Teste”

println(fullName.firstName()) //Kassiano
println(fullName2.firstName()) //Kassiano
println(fullName3.firstName()) //Kassiano
}
6
Resolução Exercício 2

fun String.firstName(): String {


return this.split(" ").first()
}

fun main(){
val fullName = "Kassiano Resende"
val fullName2 = "Kassiano"
val fullName3 = "Kassiano Resende Teste”

println(fullName.firstName()) //Kassiano
println(fullName2.firstName()) //Kassiano
println(fullName3.firstName()) //Kassiano
}
7
Exercício 3

Criar uma função de extensão da classe String com o


seguinte nome “lastName(): String” que irá retornar uma
String com o último nome de uma pessoa. Ex:

fun main(){
val fullName = "Kassiano Resende"
val fullName2 = "Kassiano"
val fullName3 = "Kassiano Resende Teste"

println(fullName.lastName()) //Resende
println(fullName2.lastName()) //Kassiano
println(fullName3.lastName()) //Teste
}
8
Resolução Exercício 3

fun String.lastName(): String {


return this.split(" ").last()
}
fun main(){
val fullName = "Kassiano Resende"
val fullName2 = "Kassiano"
val fullName3 = "Kassiano Resende Teste"

println(fullName.lastName()) //Resende
println(fullName2.lastName()) //Kassiano
println(fullName3.lastName()) //Teste
}

9
Exercício 4
Crie um data class chamado “User” com atributos de “val
id:Int” e “val name:String”.
Crie uma função chamada “ordenar” que receba por
parâmetro uma lista da classe “User” e retorne uma
outra lista com os elementos ordenados por nome em
ordem alfabética. Ex:
fun main(){

val inputList = listOf(


User(1, "Thomaz"),
User(2, "Andre"),
User(3, "Paloma")
)

val outputList = ordenar(inputList)


//Andre, Paloma, Thomaz 10
}
Resolução Exercício 4
data class User(val id:Int, val name:String)

fun ordenar(userList:List<User>): List<User> {


return userList.sortedBy { it.name }
}

fun main(){

val inputList = listOf(User(1, "Thomaz"), User(2, "Andre"),


User(3, "Paloma"))

val outputList = ordenar(inputList)

outputList.forEach {
println(it.name)
}

}
11
Exercício 5
No código abaixo, imprima a frase “O banco Itaú possui
um total de R$ 200,00” somente dos bancos que o
balance for diferente de nulo. Para esse exercício não
utilize IF, utilize a função let.
data class BankAccount(val bank:String, val balance: Double? = null)

fun main(){
val banks = listOf(
BankAccount("Itau", 200.0),
BankAccount("Banco do Brasil", 0.0),
BankAccount("Bradesco"),
BankAccount("Nu Bank", 500.0),
BankAccount("Neon", null)
)

banks.forEach {
//Implementar código
}
}

Obs: Utilize também a função “toCurrencyFormat” do 12


exercício 1.
Resolução Exercício 5

data class BankAccount(val bank:String, val balance: Double? = null)

fun main(){
val banks = listOf(
BankAccount("Itau", 200.0),
BankAccount("Banco do Brasil", 0.0),
BankAccount("Bradesco"),
BankAccount("Nu Bank", 500.0),
BankAccount("Neon", null)
)

banks.forEach {
it.balance?.let { balance->
println("O banco ${it.bank} possui um total de $
{balance.toCurrencyFormat()}")
}
}
}
13
14

Você também pode gostar