tyyppiongelma?

Objekti Kortti(string, int) tyyppi pitäisi saada
muutettua pelkäksi stringiksi. Mitenköhän onnistuisi??
9476
Äänestä

Muut lukivat myös

Vastaukset 9

Vanhimmat

Määrittele luokalle "toString" -metodi, joka palauttaa luokan instanssin merkkijonoesityksen.

Äänestä
  • Näin olen tehnytkin, mutta kun kirjoitan toiseen luokkaan esim.

    Kortti uusikortti = new Kortti(maa, num)
    ---------------------------------
    Kortti nostkortti = pelipakka.nostaKortti();
    String uuu = uusikortti.toString(nostkortti);

    niin saan herjan: cannot find symbol : method toString(Kortti) location : class Kortti

    Äänestä

  • Ongelmatyyppi kirjoitti:

    Näin olen tehnytkin, mutta kun kirjoitan toiseen luokkaan esim.

    Kortti uusikortti = new Kortti(maa, num)
    ---------------------------------
    Kortti nostkortti = pelipakka.nostaKortti();
    String uuu = uusikortti.toString(nostkortti);

    niin saan herjan: cannot find symbol : method toString(Kortti) location : class Kortti

    Tuon nimistä metodia ei ole määritelty.
    Ja onko määrittelyssä varmasti myös metodilla parametrina Kortti?

    Ja onko tarkoitus saada merkkijono uusikortista vai nostkotista vai jostakin niiden yhdistelmästä.

    Äänestä

  • toString(Kortti) kirjoitti:

    Tuon nimistä metodia ei ole määritelty.
    Ja onko määrittelyssä varmasti myös metodilla parametrina Kortti?

    Ja onko tarkoitus saada merkkijono uusikortista vai nostkotista vai jostakin niiden yhdistelmästä.

    Luokassa Kortti on metodi:

    public String toString() {
    return this.maa " " this.num;
    }

    en taida vaan osata.....

    Äänestä

  • ongelmatyyppi kirjoitti:

    Luokassa Kortti on metodi:

    public String toString() {
    return this.maa " " this.num;
    }

    en taida vaan osata.....

    uusikortti.toString() palauttaa luokan Kortti esityksen Stringinä ja kortista uusikortti.

    En ymmärrä miksi yrität antaa sille parametriksi nostkorttia? Sen String arvo tulostettaisiin tietenkin nostkortti.toString()

    Äänestä

  • Ongelmatyyppi kirjoitti:

    Näin olen tehnytkin, mutta kun kirjoitan toiseen luokkaan esim.

    Kortti uusikortti = new Kortti(maa, num)
    ---------------------------------
    Kortti nostkortti = pelipakka.nostaKortti();
    String uuu = uusikortti.toString(nostkortti);

    niin saan herjan: cannot find symbol : method toString(Kortti) location : class Kortti

    String uuu = uusikortti.toString(nostkortti);
    Kummasta kortista sä haluat sen merkkiesityksen?

    String uusi = uusikortti.toString();
    String nosto = nostkortti.toString();

    Sun toString metodi on mallia toString(), eikä se ota Korttia parametrinaan "toString(Kortti k)". Sun pitää naputtaa Kortti-luokkaan erikseen tuo toString(Kortti) jos haluat käyttää tuommoista metodikutsua.

    Äänestä

Jep. Eli sain homman toimimaan, kun naputtelin Kortti luokkaan toisen toString metodin.

"toString(Kortti k)"

Miksi toi tarvii ton 'k':n (tai ilmeisesti minkä tahansa merkin) tuohon perään?

Iso kiitos kaikille vastanneille.

Äänestä
  • Veikkaisin että sun Kortti-luokka oli aiemmin jo ihan oikein tehty, eikä se tarvitse erillistä toString(Kortti kikkeliskokkelis)-metodia (tuossa tapauksessa toString-metodi saa parametrinaan viittauksen toiseen Kortti-luokan ilmentymään).

    Tee ennemmin korjaus tähän riviin;
    uusikortti.toString(nostkortti)

    Haluatko tulostaa uusikortti-olion vai nostkortti:n?

    System.out.println(uusikortti);
    System.out.println(nostkortti);

    tuo kutsuu kummankin olion toString()-metodia. Se toString(Kortti nimi)-metodi on todennäköisesti ylimääräistä/turhaa/virheellistä tauhkaa.

    Äänestä

  • zustus kirjoitti:

    Veikkaisin että sun Kortti-luokka oli aiemmin jo ihan oikein tehty, eikä se tarvitse erillistä toString(Kortti kikkeliskokkelis)-metodia (tuossa tapauksessa toString-metodi saa parametrinaan viittauksen toiseen Kortti-luokan ilmentymään).

    Tee ennemmin korjaus tähän riviin;
    uusikortti.toString(nostkortti)

    Haluatko tulostaa uusikortti-olion vai nostkortti:n?

    System.out.println(uusikortti);
    System.out.println(nostkortti);

    tuo kutsuu kummankin olion toString()-metodia. Se toString(Kortti nimi)-metodi on todennäköisesti ylimääräistä/turhaa/virheellistä tauhkaa.

    joo toi println toimi alunperinkin ihan ok. ongelmat alko kun koitin tulostaa Jtextarea:an. En osannu ilmeisesti käyttää tota toString:iä oikein.

    Nyt rivi on suunnilleen näin:
    String blaablaa = blah.toString();

    Otin vielä sen ylimääräsen toString(kikkeliskokkelis)-metodin pois ja nyt pelittää.
    Kiitos vielä kerran. Harjoitukset jatkukoon....

    Äänestä

Kommentoi aloitusta


ongelmatyyppi kirjoitti:

Objekti Kortti(string, int) tyyppi pitäisi saada
muutettua pelkäksi stringiksi. Mitenköhän onnistuisi??

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu