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!!!
Et voi käyttää ei-staattista muuttujaa this staatt
7
3510
Vastaukset
- Alustajan_käyttöä
// 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());
}
} - Alustajan_käyttöä
//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());
}
} - Alustajan_käyttöä
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 - Alustajan_käyttöä
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());
}
} - FAILVIOPE
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ä? - toimivaratkaisu
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;
}
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Anteeksi mies
En vaan osaa kohdata sinua ja olla normaali. En tiedä mikä vaivaa. Samaan aikaan tekee mieli tulla lähelle ja kuitenkin273441Ripeyttä asiointiin
Ottaa päähän yhden ja saman asiakkaan hitaus kassalla kun yhdellä kädellä nostelee ostoksia kärrystä ja välillä pitelee282141Palstan henkisesti sairaat ja lihavat
Täällä on sairaita, työttömiä ihmisiä kirjoittelemassa joilla ei ole tarkoituksena kuin satuttaa ihmisiä. Jos eksyt pals1141680Mietin aina vain
Minä niin haluaisin nähdä sinut. Ei tuo yhden ainoan kuvan katsominen paljon helpota... Miksi sinä et voisi olla se roh71418- 761359
Kysyin kaikilta yhteisiltä tutuilta mielipidettä siitä, että kannattaako sinun kanssa alkaa!
Päätös oli lähestulkoon yksimielinen. Minunkin vaisto antoi vaaranmerkkejä, mutta järkytyin mitä sinusta kuulin. Aluksi1381236- 641056
Olen vähän
Hysteerinen se on totta. Etkai ymmärrä miten syvästi tunnen sinua kohtaan. Ja olet aina lähelläni. Olet osa jo jotain. I10974Ollaan kuin yö ja päivä
Monessa asiassa… molemmat ollaan kuitenkin älykkäitä ja tiedämme, ettei kannata edetä tämän pidemmälle.70931- 102912