Új hozzászólás Aktív témák
-
csendes
addikt
Sziasztok, elég kihalt itt, de talán olvassa valaki. Kezdő tanfolyam vizsgafeladatnál akadtam el a függvényeknek történő paraméterátadás rejtélyeinél. A példa egy vizsgafeladatból lett kimazsolázva, önmagában nincs értelme, csak szemléltetésképpen készült. [Kotlin Playground]-on lett futtatva, a vizsga is hasonló környezetben volt. Utólag sikerült az eredeti feladatot másképp megoldani, de nem értem, hogy miért módosulnak az értékként a függvény hívásakor átadott paraméterek.

Kód:/*
* You can edit, run, and share this code.
* play.kotlinlang.org
*/
import java.util.Arrays
fun mySubFunction(entry: Int):Int {
var newentry=entry
newentry+=10
return newentry
}
fun myMainFunction(anyArray: Array<Int>):Int {
val constArray=anyArray
println("This is the original constArray in myMainFunction: ${Arrays.toString(constArray)}")
var newArray=constArray
val n=newArray.count()-1
for (i in 0..n){
newArray[i]=mySubFunction(newArray[i])
}
println("This is the new anyArray in myMainFunction: ${Arrays.toString(anyArray)}") // Why is it modified?
println("This is the new constArray in myMainFunction: ${Arrays.toString(constArray)}") // How can a const Array change?
println("This is newArray in myMainFunction: ${Arrays.toString(newArray)}") // This is OK
var k=1
return k
}
fun main() {
var myArray=arrayOf<Int>(1,2,3,4,5)
var counter: Int
counter=myMainFunction(myArray)
println("This is the new myArray in Main: ${Arrays.toString(myArray)}") // How can this change, the function has only returned an integer?
}
Eredmény/output:This is the original constArray in myMainFunction: [1, 2, 3, 4, 5]
This is the new anyArray in myMainFunction: [11, 12, 13, 14, 15]
This is the new constArray in myMainFunction: [11, 12, 13, 14, 15]
This is newArray in myMainFunction: [11, 12, 13, 14, 15]
This is the new myArray in Main: [11, 12, 13, 14, 15]
Új hozzászólás Aktív témák
- PC / Laptop / Konzol Szerviz, Weboldalkészítés és AI Segítség
- Lenovo ThinkStation P3 Tiny i7-14700 / 32GB / 1TB / T1000 8GB GAR 2026.05 + doboz+táp+bill/egér
- Újszerű Lenovo 15,6"FullHD,10.gen.Core i5(8x3,6Ghz)Intel UHD VGA,8-40GB DDR4 RAM/256-512SSD,jó akku
- Fractal Design Define 7 White Solid
- 15.gen! Intel Core ULTRA 9 285K (24mag!) +hűtött VRM-es Z890 lap! GAR/SZÁMLA (Te nevedre kiállítva)!
- Telefon felvásárlás!! iPhone X/iPhone Xs/iPhone XR/iPhone Xs Max
- Corsair gamer fejhallgató HS80 MAX
- Oppo A14 4/64GB Kék / 12 hó jótállás
- Apple iPhone 11 128 GB Lila 1 év Garancia Beszámítás Házhozszállítás
- Azonnali készpénzes AMD Radeon RX 9000 sorozat videokártya felvásárlás személyesen/csomagküldéssel
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest


