Kezdőoldal » Számítástechnika » Programok » JAVA - nem-primitiv bemeno...

JAVA - nem-primitiv bemeno parameteren vegzett muvelet egy funkcioban megvaltoztatja a mainben letrehozott nem-primitiv erteket ?

Figyelt kérdés

szeretnem megvaltoztatni egy String tomb erteket.

Moziszekek foglalasat szimulalni, B ill. S betuvel.

Ha meghivom ujbol a 2.es menusort ,hiaba valtoztattam a tombon, nem marad meg az erteke az elozo foglalasnak. Mit csinalok rosszul, hogy lehetne ezt a leheto legkevesebb valtoztatassal elerni?



KODOM jelenleg:

[link]


-----------------

itt probalom felulirni a seat[][] tombot:


public static String[][] firstStage2(int r,int s,int rNumber, int sNumber, String[][] seat){

System.out.println();


int seatNEVER = rNumber*sNumber;

int counter = 1;


System.out.println("Cinema:");

for (int i = 0 ; i <= s; i++) {

if(i == 0) {

System.out.print(" ");

}else{

System.out.print(i+" ");

}

}


System.out.println();


for (int lines = 1; lines <= r; lines++) {

System.out.print(lines+" ");

for(int seats = 1; seats <= s; seats++) {

counter++;


if(lines == rNumber && seats == sNumber){


seat[lines-1][seats-1] = "B ";


System.out.print("B"+" ");

}else{


seat[lines-1][seats-1] = "S ";


System.out.print("S"+" ");

}


}

System.out.println();

}


return seat;

}



es igy hivom meg a mainben:


seat = firstStage2(r,s,rNumber,sNumber, seat);


------------------


igy kene mukodnie, pl.:


Enter the number of rows:

> 7

Enter the number of seats in each row:

> 7


1. Show the seats

2. Buy a ticket

0. Exit

> 1


Cinema:

1 2 3 4 5 6 7

1 S S S S S S S

2 S S S S S S S

3 S S S S S S S

4 S S S S S S S

5 S S S S S S S

6 S S S S S S S

7 S S S S S S S


1. Show the seats

2. Buy a ticket

0. Exit

> 2


Enter a row number:

> 4

Enter a seat number in that row:

> 5

Ticket price: $10


1. Show the seats

2. Buy a ticket

0. Exit

> 1


Cinema:

1 2 3 4 5 6 7

1 S S S S S S S

2 S S S S S S S

3 S S S S S S S

4 S S S S B S S

5 S S S S S S S

6 S S S S S S S

7 S S S S S S S


1. Show the seats

2. Buy a ticket

0. Exit

> 2


Enter a row number:

> 6

Enter a seat number in that row:

> 6

Ticket price: $10


1. Show the seats

2. Buy a ticket

0. Exit

> 1


Cinema:

1 2 3 4 5 6 7

1 S S S S S S S

2 S S S S S S S

3 S S S S S S S

4 S S S S B S S

5 S S S S S S S

6 S S S S S B S

7 S S S S S S S


1. Show the seats

2. Buy a ticket

0. Exit

> 0



2022. márc. 23. 20:33
 1/4 anonim ***** válasza:

Annyi a problémád, hogy ha valaki az 1-es opciót választja, akkor meghívod a firstStage() függvényt, ami újrainicializálja a "székeket", azaz feltölti a seat tömböt az alapértékekkel (a 22. sortól kezdődően). Emiatt minden változtatás azonnal elveszik, amint meg szeretnéd nézni, hogy mi változott. Bónusz: a firstStage() nem a tömb adott elemének értékét teszi ki a képernyőre, hanem azt, hogy "S " (28. sor).


Tedd külön az inicializálást és a kiíratást, vagy írd át, hogy a 27. sor értékadása csak akkor fusson le, ha az adott elem null (tehát a tömb nincs inicializálva). Ez utóbbi a csúnyább megoldás. Emellett a kiíratást írd át úgy, hogy a tömb értékét írja ki, ne egy fix szöveget.


Egyébként a tömb objektumnak számít, így referencia alapján adódik át, emiatt a firstStage2() visszatérési értéke (ezzel együtt az értékadás a 201. sorban) felesleges.

2022. márc. 23. 21:11
Hasznos számodra ez a válasz?
 2/4 A kérdező kommentje:
Koszi szepen, meg ami eszembe jutott... a firstStage2 String[][] returnja is felesleges ? mivel hogy objektum, ezert lehet az is void tipusu ?
2022. márc. 23. 21:17
 3/4 anonim ***** válasza:
Igen, felesleges.
2022. márc. 23. 21:34
Hasznos számodra ez a válasz?
 4/4 A kérdező kommentje:
koszi, sikerült megoldanom a segítségeddel.
2022. márc. 23. 21:40

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!