Я пытался добавить вторичный конструктор в мою программу heelo world на kotlin.Ниже мой код.(Я использовал онлайн kotlin ide https://try.kotlinlang.org/#/Examples/Hello,%20world!/Simplest%20version/Simplest%20version.kt)
class Test(var name:String){
constructor(age:Int,data:Int){
println("$age $data")
}
fun display(){
println("hello world $name")
}
}
fun main(args: Array<String>) {
var t=Test("john")
var t1=Test(10,25)
t.display()
}
Но он показывает следующую ошибку
Simplest version.kt
Error:(8, 4) Primary constructor call expected
Warning:(18, 8) Variable 't1' is never used
После некоторого поиска в Google я решил эту ошибку. Изменив второй параметр вторичного конструктора наТип строки и добавление: this (data) решило проблему. Ниже приведен решенный код
class Test(var name:String){
constructor(age:Int,data:String):this(data){
println("$age $data")
}
fun display(){
println("hello world $name")
}
}
fun main(args: Array<String>) {
var t=Test("john")
var t1=Test(10,"25")
t.display()
}
Но проблема в том, что я хочу передать два целочисленных значения вторичному конструктору. Я попробовал следующее, ноон выдал эту ошибку
class Test(var name:String){
constructor(age:Int,data:Int):this(data){
println("$age $data")
}
fun display(){
println("hello world $name")
}
}
fun main(args: Array<String>) {
var t=Test("john")
var t1=Test(10,25)
t.display()
}
, но выдал эту ошибку
Simplest version.kt
Error:(8, 39) Type mismatch: inferred type is Int but String was expected
Warning:(17, 8) Variable 't1' is never used
Как мне этого добиться? Как передать две целочисленные переменные вторичному конструктору?