Nx = newllä luotu näin mones
"olio" keosta, &Nx = viittaa x:äänteen new:llä luotuun olioon. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
staattiset
aliohjelmat |
Metodit |
Keko |
Apu |
Tulostus |
keko
muuttuja |
|
|
|
|
Juna |
N1(Juna) |
N2(Juna) |
|
|
metodi |
globaalit |
main() |
tarkastaTilanne(Juna) |
Juna(bool, int) |
odottele(int) |
onkoTarpeeksiMatkustajia() |
toString() |
|
|
|
|
|
|
* = viite |
|
* |
* |
* |
* |
|
|
* |
|
* |
* |
|
|
|
|
|
|
rivi |
lipunHinta |
pendo |
pika |
j |
this |
onPendolino |
m |
this |
minuutteja |
this |
this |
minuuttejaMyohassa |
matkustajia |
minuuttejaMyohassa |
matkustajia |
|
|
02: private
static int lipunHinta = 50; |
50 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
32:
Juna pendo = new Juna(true,40); |
|
|
|
|
|
|
|
|
|
|
|
0 |
0 |
|
|
|
|
08:
public Juna(boolean onPendolino, int m) |
|
|
|
|
&N1 |
true |
40 |
|
|
|
|
|
|
|
|
|
|
09:
if (onPendolino) minuuttejaMyohassa = 15; |
|
|
|
|
|
|
|
|
|
|
|
15 |
|
|
|
|
|
10:
matkustajia = m; |
|
|
|
|
|
|
|
|
|
|
|
|
40 |
|
|
|
|
32
Juna pendo = new Juna(true,40);
|
|
&N1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
33:
Juna pika = new Juna(false,20); |
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
0 |
|
|
08:
public Juna(boolean onPendolino, int m) |
|
|
|
|
&N2 |
false |
20 |
|
|
|
|
|
|
|
|
|
|
09:
if (onPendolino) minuuttejaMyohassa = 15; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
10:
matkustajia = m; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
20 |
|
|
33:
Juna pika = new Juna(false,20); |
|
|
&N2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
34:
pendo.onkoTarpeeksiMatkustajia(); |
|
|
|
|
|
|
|
|
|
&N1 |
|
|
|
|
|
|
|
14:
if (minuuttejaMyohassa++ > 20) |
|
|
|
|
|
|
|
|
|
|
|
16 |
|
|
|
15>20 ei |
|
16:
if (++matkustajia <= 20) { |
|
|
|
|
|
|
|
|
|
|
|
|
41 |
|
|
41<=20 ei |
|
20:
else return true; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
palautetaan true |
|
35:
pendo.odottele(30); |
|
|
|
|
|
|
|
&N1 |
|
|
|
|
|
|
|
|
|
12: public void
odottele(int minuutteja) {minuuttejaMyohassa +=
minuutteja;} |
|
|
|
|
|
|
|
|
30 |
|
|
46 |
|
|
|
16+30=46 |
|
36:
pika.odottele(20); |
|
|
|
|
|
|
|
&N2 |
|
|
|
|
|
|
|
|
|
12: public void
odottele(int minuutteja) {minuuttejaMyohassa +=
minuutteja;} |
|
|
|
|
|
|
|
|
20 |
|
|
|
|
20 |
|
0+20 = 20 |
|
37:
pika.onkoTarpeeksiMatkustajia(); |
|
|
|
|
|
|
|
|
|
&N2 |
|
|
|
|
|
|
|
14:
if (minuuttejaMyohassa++ > 20) |
|
|
|
|
|
|
|
|
|
|
|
|
|
21 |
|
20 > 20 ei |
|
16:
if (++matkustajia <= 20) { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
21 |
21 <= 20 ei |
|
20:
else return true; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
palautetaan true |
|
38:
tarkastaTilanne(pendo); |
|
|
|
&N1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
27:
if (!!!j.onkoTarpeeksiMatkustajia()) lipunHinta++; |
|
|
|
|
|
|
|
|
|
&N1 |
|
|
|
|
|
|
|
14:
if (minuuttejaMyohassa++ > 20) |
|
|
|
|
|
|
|
|
|
|
|
47 |
|
|
|
46 > 20 on |
|
15:
matkustajia += (20-minuuttejaMyohassa); |
|
|
|
|
|
|
|
|
|
|
|
|
14 |
|
|
41+(20-47) = 14 |
|
16:
if (++matkustajia <= 20) { |
|
|
|
|
|
|
|
|
|
|
|
|
15 |
|
|
15 <= 20 joo |
|
17:
matkustajia -= 10; |
|
|
|
|
|
|
|
|
|
|
|
|
5 |
|
|
15-10 = 5 |
|
18:
return false; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
palautetaan false |
|
27:
if (!!!j.onkoTarpeeksiMatkustajia()) lipunHinta++; |
51 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
!!!false = true |
|
28:
lipunHinta += 5; |
56 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
glob 51+5 = 56 |
|
29:
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
39:
tarkastaTilanne(pika); |
|
|
|
&N2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
27:
if (!!!j.onkoTarpeeksiMatkustajia()) lipunHinta++; |
|
|
|
|
|
|
|
|
|
&N2 |
|
|
|
|
|
|
|
14:
if (minuuttejaMyohassa++ > 20) |
|
|
|
|
|
|
|
|
|
|
|
|
|
22 |
|
21 > 20, on |
|
15:
matkustajia += (20-minuuttejaMyohassa); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
19 |
21+20-22 = 19 |
|
16:
if (++matkustajia <= 20) { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
20 |
20 <= 20 joo |
|
17:
matkustajia -= 10; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
10 |
20-10 = 10 |
|
18:
return false; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
palautetaan false |
|
27:
if (!!!j.onkoTarpeeksiMatkustajia()) lipunHinta++; |
57 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
!!!false = true |
|
28:
lipunHinta += 5; |
62 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
57+5 = 62 |
|
29:
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
40:
System.out.println(pendo); |
|
|
|
|
|
|
|
|
|
|
&N1 |
|
|
|
|
|
|
23: return String.format("Matkustajia %d, myöhässä %d
min",matkustajia,minuuttejaMyohassa); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
palautetaan: Matkustajia 5, myöhässä 47 min |
|
40:
System.out.println(pendo); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Matkustajia 5,
myöhässä 47 min |
41:
System.out.println(pika); |
|
|
|
|
|
|
|
|
|
|
&N2 |
|
|
|
|
|
|
23: return String.format("Matkustajia %d, myöhässä %d
min",matkustajia,minuuttejaMyohassa); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
palautetaan: Matkustajia 10, myöhässä 22 min |
|
41:
System.out.println(pika); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Matkustajia 10,
myöhässä 22 min |
42:
System.out.printf("Lippu maksaa %d euroa.", lipunHinta); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Lippu maksaa 62
euroa. |
43:
} |
|
|
|
|
|
|
|
|
|
|
|
ROSKAKSI |
ROSKAKSI |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|