Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Unresolved reference

Eu me avancei um pouquinho porque, bem... Eu sou curiosa, apressada e queria ver depois o que o professor ia fazer para ver se eu tava no mínimo com a lógica certa. Então eu já escrevi algumas funcionalidades a mais do banco.

fun main() {
    println("Bem vindos ao Bytebank")

    val contas = listOf(
        Conta("Alex", 1000, "1234"),
        Conta("Fran", 1001, "5678"),
        Conta("Gui", 1002, "9876"),
        Conta("Maria", 1003, "5432")
    )

    selectAccount(contas).let { conta ->
        println("Bem vindo ${conta.titular}")
        selecionarOpcao(conta)
    }
}

fun selectAccount(contas: List<Conta>): Conta {
    println("Digite o número da conta: ")

    val numero = readLine()!!.toInt()

    println("Digite sua senha: ")
    val senha = readLine()!!

    val conta = contas.firstOrNull { it.numero == numero && it.senha == senha }
        ?: throw IllegalStateException("Conta não encontrada")

    return conta
}

Essa função ali de selectAccount não existe no pdf do professor, mas eu achei que seria interessante para simular o melhor possível a realidade :D. Enfim.... A classe conta que tá sendo auto importada nesse arquivo tem o parâmetro titular, mas dentro do selectAccount, ele não tá reconhecendo a mesma coisa tá acontecendo com numero e senha dentro da função, ajuda, please? T_T

1 resposta
solução!

Resolvi! Era um problema na classe, tinha que declara no construtor, de forma que a assinatura da classe ficasse assim:

class Conta(var titular: String, var numero: Int, var senha: String) 

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software