Bom dia a todos
Eu já fiz uns cursos de Java aqui na Alura e entao eu tenho um certo conhecimento em programacao e Java.
Eu fui criar diretorios para separar os arquivos e quis colocar 2 arquivos juntos no mesmo diretório (1 já tava lá e o outro eu ia jogar para lá), mas quando fui mudar o IntelliJ me mostrou essa mensagem:
Following declarations would clash: to move function 'fun main()' and destination function 'fun main()' declared in scope br.com.alura.AtributosEForWhile
No java não acontece esse tipo de problema.
A minha dúvida é: eu colocar 2arquivos kotlin com fun main() no mesmo diretório dá problem?, e se isso é uma caracteristica própria do Kotlin ou é só um aviso do IntelliJ?
Ps: arquivos que eu queria colocar no mesmo diretorio:
package br.com.alura.AtributosEForWhile
fun main() {
println("ola")
var teste = "Murilo"
val titular = "Alex"
val numeroConta = 1020
var saldo: Double = 0.0
saldo -= 100
titular
for (i in 1..3) {
println("nome: $titular")
println("numero conta: $numeroConta")
println("saldo: $saldo")
}
val testaCondicoes2 = testaCondicoes2(saldo)
println(testaCondicoes2)
val listaFrutas = listOf("maca", "banana", "laranja")
for (fruta in listaFrutas) {
println(fruta)
}
for (fruta in listaFrutas.indices) {
println("item nº: $fruta é: ${listaFrutas[fruta]}")
}
for(i in 10 downTo 0 step 2) {
if (i == 4) break else print(i)
}
for(i in 10 downTo 0 step 2) {
if (i == 4||i==8) continue else print(i)
}
var i = 1
var e = 1
while(i<=10){
print(i)
i++
}
do {
print(e)
e++
} while (e<=10)
loop@ for (i in 1..100) {
println("i $i")
for (j in 1..100) {
println("j $j")
if (j == 5) break@loop
}
}
}
fun testaCondicoes(saldo: Double) {
when {
saldo > 0.0 -> println("conta é positiva, com saldo de: $saldo")
saldo == 0.0 -> println("saldo com saldo de 0")
else -> println("conta é negativa, com saldo de: $saldo")
}
}
fun testaCondicoes2(saldo: Double): Boolean {
return when {
saldo >= 0.0 -> true
else -> false
}
}
e o outro arquivo:
package br.com.alura.enum
import br.com.alura.AtributosEForWhile.testaCondicoes
var valorint = 10
val valorlong = 123124263464567456L
val valorshort: Short = 32767
val valorbyte: Byte = 127
val valorDouble = 1324234.34453
val valorFloat = 123.54F
val valorChar = 'c'
val verdadeiro = true
fun main(){
println(valorint + valorlong)
val soma = valorint + valorDouble
println(soma)
testaCondicoes(valorDouble)
}