Java fundamentals through coding exercises
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

1.9 KiB

Tässä tehtävässä harjoittelemme toString-metodin määrittelyä muokkaamalla valmista koodia. Seuraavaksi on esitetty luokka Agentti, jolla on etunimi ja sukunimi:

public class Agentti {
private String etunimi;
private String sukunimi;
public Agentti(String etunimi, String sukunimi) {
this.etunimi = etunimi;
this.sukunimi = sukunimi;
}
public void tulosta() {
System.out.println("My name is " + sukunimi + ", " + etunimi + " " + sukunimi);
}
}

Luokalle on määritelty metodi tulosta, joka luo seuraavanlaisen merkkijonoesityksen:

Agentti bond = new Agentti("James", "Bond");
bond.tulosta(); // Tulostaa: My name is Bond, James Bond

Tallenna luokka itsellesi tiedostoon Agentti.java ja poista luokan metodi tulosta. Luo luokalle uusi metodi public String toString(), joka palauttaa edellämainitun merkkijonoesityksen.

Luokan tulee toimia jatkossa seuraavasti:

Agentti bond = new Agentti("James", "Bond");
bond.toString(); // ei tulosta mitään
System.out.println(bond); // Tulostaa: My name is Bond, James Bond
Agentti ionic = new Agentti("Ionic", "Bond");
System.out.println(ionic); // Tulostaa: My name is Bond, Ionic Bond
Example output:
= Suoritetaan koodi =
Agentti agentti = new Agentti("Johnny" , "English");
System.out.println(agentti);
= Ohjelman tuloste =
My name is English, Johnny English

Agentti.java

public class Agentti {
private String etunimi;
private String sukunimi;
public Agentti(String etunimi, String sukunimi) {
this.etunimi = etunimi;
this.sukunimi = sukunimi;
}
/*
public void tulosta() {
System.out.println("My name is " + sukunimi + ", " + etunimi + " " + sukunimi);
}
*/
public String toString() {
return "My name is " + this.etunimi + ", " + this.sukunimi;
}
}