Alla on luokka "Koira", josta puuttuu olioden muodostamiseen tarvittava alustusmetodi, sekä metodit tulosta_tiedot() ja annaAani(). Täydennä luokkaa niin, että luokasta voidaan muodostaa olioita. Olion muodostamisen yhteydessä olio saa arvot: ika, nimi, rotu ja aani.
Alla oleva luokka KoiranTesti hyödyntää Koira-luokkaa tulostaen näytölle esimerkkitulosteen näköisen tulosteen.
class Koira
{
int ika;
String nimi, rotu, aani;
// muodostin
// metodi tulosta_tiedot()
// metodi annaAani()
}
public class KoiranTesti
{
public static void main(String[] args)
{
Koira rekku = new Koira (2, "Rekku", "Dalmatialainen", "Hau!!!");
System.out.println("Koiran tiedot:");
rekku.tulosta_tiedot();
System.out.println("\nKoira sanoo: " rekku.annaAani());
}
}
Esimerkkitulostus
Koiran tiedot:
Nimi: Rekku
Ikä: 2
Rotu: Dalmatialainen
Koira sanoo: Hau!!!
Alla oleva luokka KoiranTesti hyödyntää Koira-luokkaa tulostaen näytölle esimerkkitulosteen näköisen tulosteen.
class Koira
{
int ika;
String nimi, rotu, aani;
// muodostin
// metodi tulosta_tiedot()
// metodi annaAani()
}
public class KoiranTesti
{
public static void main(String[] args)
{
Koira rekku = new Koira (2, "Rekku", "Dalmatialainen", "Hau!!!");
System.out.println("Koiran tiedot:");
rekku.tulosta_tiedot();
System.out.println("\nKoira sanoo: " rekku.annaAani());
}
}
Esimerkkitulostus
Koiran tiedot:
Nimi: Rekku
Ikä: 2
Rotu: Dalmatialainen
Koira sanoo: Hau!!!
Vastaukset 7
Vanhimmat
// tätä kokeilin:
class Koira
{
int ika;
String nimi, rotu, aani;
public Koira()
{
nimi = null;
rotu = null;
ika = 0;
}
public Koira(int uusi_ika, String uusi_nimi, String uusi_rotu)
{
this.nimi = uusi_nimi;
this.rotu = uusi_rotu;
this.ika = uusi_ika;
}
public void tulosta_tiedot()
{
System.out.println(nimi ": " ika " " rotu);
}
public void annaAani()
{
System.out.println("Koira sanoo: Hau!!!");
}
}
public class KoiranTesti
{
public static void main(String[] args)
{
Koira rekku = new Koira (2, "Rekku", "Dalmatialainen", "Hau!!!");
System.out.println("Koiran tiedot:");
rekku.tulosta_tiedot();
System.out.println("\nKoira sanoo: " rekku.annaAani());
}
}
//Tätä kokeilin:
class Koira
{
int ika;
String nimi, rotu, aani;
public Koira()
{
nimi = null;
rotu = null;
ika = 0;
}
public Koira(int uusi_ika, String uusi_nimi, String uusi_rotu)
{
this.nimi = uusi_nimi;
this.rotu = uusi_rotu;
this.ika = uusi_ika;
}
public void tulosta_tiedot()
{
System.out.println(nimi ": " ika " " rotu);
}
public void annaAani()
{
System.out.println("Koira sanoo: Hau!!!");
}
}
public class KoiranTesti
{
public static void main(String[] args)
{
Koira rekku = new Koira (2, "Rekku", "Dalmatialainen", "Hau!!!");
System.out.println("Koiran tiedot:");
rekku.tulosta_tiedot();
System.out.println("\nKoira sanoo: " rekku.annaAani());
}
}
virheilmoitus:
KoiranTesti.java:6: Koira is already defined in unnamed package
class Koira
^
KoiranTesti.java:40: non-static variable this cannot be referenced from a static context
Koira rekku = new Koira (2, "Rekku", "Dalmatialainen", "Hau!!!");
^
KoiranTesti.java:43: 'void' type not allowed here
System.out.println("\nKoira sanoo: " rekku.annaAani());
^
KoiranTesti.java:38: inner classes cannot have static declarations
public static void main(String[] args)
^
KoiranTesti.java:52: cannot find symbol
symbol : constructor Koira(int,java.lang.String,java.lang.String,java.lang.String)
location: class Koira
Koira rekku = new Koira(2, "Rekku", "Dalmatialainen", "Hau!!!");
^
KoiranTesti.java:55: cannot find symbol
symbol : method tulosta_tiedot()
location: class Koira
rekku.tulosta_tiedot();
^
KoiranTesti.java:56: cannot find symbol
symbol : method annaAani()
location: class Koira
System.out.println("\nKoira sanoo: " rekku.annaAani());
^
7 errors
Tämä tehtävä on rikki, ei mene millään läpi. Saan vain ilmoituksen: "Et voi käyttää ei-staattista muuttujaa this staattisessa yhteydessä"
Kokeilin jopa tätä netistä löytyvää ratkaisua ja sekään ei toimi. Sama virhe:
public class Koira {
int ika;
String nimi,rotu,aani;
public Koira (int ika,String nimi, String rotu, String aani){
this.ika = ika;
this.nimi = nimi;
this.rotu = rotu;
this.aani = aani;
}
public void tulosta_tiedot(){
System.out.println("Ikä: " ika "Nimi: " nimi "Rotu: " rotu);
}
public String annaAani(){
return aani;
}
}
public class KoiranTesti {
public static void main(String[] args) {
Koira rekku = new Koira (2,"Rekku","Dalmatialainen","Hau!!!");
System.out.println("Koiran tiedot: ");
rekku.tulosta_tiedot();
System.out.println("\nKoira sanoo: " rekku.annaAani());
}
}
samoja ongelmia:
http://sfnet.fi/group.php?id=4849&newsgroup=sfnet.atk.ohjelmointi.alkeet&sid=
http://keskustelu.suomi24.fi/t/3805964
tämäkään ei toimi: http://pastebin.com/BpssX8eu
kuten ei tämä: http://pastebin.com/1RJJESEB
nope: http://pastebin.com/zcCjkiKG
njet: http://pastebin.com/ZRZaJBEq
sama virhe KAIKISSA!!! mitä tässä voi tehdä?
Kokeilin esimerkkikoodia nope. HIenosti toimii. Teillä on jotain muuta kuin koodi pielessä. Kun käännätte ja ajatte ohjelman, kai valitsette ajoon luokan KoiranTesti eikä Koira? Postatkaa koko log/console/commanscreen -litania, millä ajatte koodin.
Tää toimii .. Helppo juttu sehan on:
public Koira(int uusi_ika,String uusi_nimi, String uusi_rotu,String uusi_aani) { //muodostin
ika= uusi_ika;
nimi=uusi_nimi;
rotu=uusi_rotu;
aani=uusi_aani;
}
public void tulosta_tiedot() {
System.out.println("Nimi:" nimi "\n" "Ikä:" ika "\n" "Rotu:" rotu);
}
public String annaAani(){
return aani;
}