toString

java-alkaja

Miten tuo toString() toimii? Koodasin taulu olion, jolla on kentät taulu (2D-taulukko), leveys ja korkeus. Yrtin tulostaa olion näin:
public String toString() {
String S=new String();
for (int i=0;i

6

808

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • java-alkaja

      public String toString() {
      String S=new String();
      for (int i=0;ipleveys; i) {
      for (int j=0;jpkorkeus; j) {
      S =taulu[i][j];
      }
      S ="\n";
      }
      return S;
      }
      }

      Tässä p on pienempi kuin -merkki

      • java-alkaja

        Suorakulmio.java:21: variable S might not have been initialized
        S =" " this.taulu[i][j];
        ^
        Suorakulmio.java:23: variable S might not have been initialized
        S ="\n";
        ^
        Suorakulmio.java:25: variable S might not have been initialized
        return S;
        ^
        3 errors


      • ........

        Vaihda tän tilalle
        String S=new String();
        Tämä
        String S = "";

        Vielä nipotusta, muuttujien nimet pitäis alkaa Javan tyylisääntöjen mukaan pienellä, eli
        String s = "";


      • java-alkaja
        ........ kirjoitti:

        Vaihda tän tilalle
        String S=new String();
        Tämä
        String S = "";

        Vielä nipotusta, muuttujien nimet pitäis alkaa Javan tyylisääntöjen mukaan pienellä, eli
        String s = "";

        Ihmettelen, miksi koodi ei vieläkään toimi

        public class Suorakulmio {
        // Tietorakenteet
        private char[][] taulu;
        private int leveys;
        private int korkeus;

        public Suorakulmio(int x, int y) {
        for (int i=0;i p leveys; i) {
        for (int j=0;j p korkeus; j) {
        this.taulu[i][j]='X';
        }
        }
        }

        public String toString() {
        String s = "";
        for (int i=0;i p this.leveys; i) {
        for (int j=0;j p this.korkeus; j) {
        s =" " this.taulu[i][j];
        }
        s ="\n";
        }
        return s;
        }

        public class Suorakulmiotesti {
        public static void main(String[] args) {
        Suorakulmio grid=new Suorakulmio(11,11);
        System.out.println(grid);
        }
        }

        Laitoin tohon metodiin
        public Suorakulmio(int x, int y)
        tulostamaan alkion 0,0 ja se tulostuu, eli vika on ilmeisesti toString()-metodissa


      • foobarfoo
        java-alkaja kirjoitti:

        Ihmettelen, miksi koodi ei vieläkään toimi

        public class Suorakulmio {
        // Tietorakenteet
        private char[][] taulu;
        private int leveys;
        private int korkeus;

        public Suorakulmio(int x, int y) {
        for (int i=0;i p leveys; i) {
        for (int j=0;j p korkeus; j) {
        this.taulu[i][j]='X';
        }
        }
        }

        public String toString() {
        String s = "";
        for (int i=0;i p this.leveys; i) {
        for (int j=0;j p this.korkeus; j) {
        s =" " this.taulu[i][j];
        }
        s ="\n";
        }
        return s;
        }

        public class Suorakulmiotesti {
        public static void main(String[] args) {
        Suorakulmio grid=new Suorakulmio(11,11);
        System.out.println(grid);
        }
        }

        Laitoin tohon metodiin
        public Suorakulmio(int x, int y)
        tulostamaan alkion 0,0 ja se tulostuu, eli vika on ilmeisesti toString()-metodissa

        Missä kohtaa koodia kerrot taululle sen koon?


      • Javakko
        foobarfoo kirjoitti:

        Missä kohtaa koodia kerrot taululle sen koon?

        Joo, 'leveys' ja 'korkeus' muuttujien arvoa ei aseteta missään vaiheessa joten tulukon kokokin on [0][0]

        Lisääpä nämä konstruktorin alkuun:

        public Suorakulmio(int x, int y) {
        leveys=x;
        korkeus=y;
        taulu=new char[x][y];
        ...
        }


    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Mitä siellä ABC on tapahtunut

      Tavallista isompi operaatio näkyy olevan kyseessä.
      Alajärvi
      189
      7826
    2. Klaukkalan onnettomuus 4.4

      Klaukkalassa oli tänään se kolmen nuoren naisen onnettomuus, onko kellään mitään tietoa mitä kävi tai ketä onnettomuudes
      Nurmijärvi
      94
      4041
    3. Kuvaile elämäsi naista

      Millainen hän on? Mikä tekee hänestä sinulle erityisen?
      Ikävä
      68
      2652
    4. Kolari Klaukkala

      Kaksi teinityttö kuoli. Vastaantulijoille ei käynyt mitenkään. Mikä auto ja malli telineillä oli entä se toinen auto? Se
      Nurmijärvi
      74
      1692
    5. Ukraina ja Zelenskyn ylläpitämä sota tuhoaa Euroopan, ei Venäjä

      Mutta tätä ei YLE eikä Helsingin Sanomat kerto.
      Maailman menoa
      393
      1616
    6. Kuvaile elämäsi miestä

      Millainen hän on? Mikä tekee hänestä sinulle erityisen?
      Ikävä
      64
      1508
    7. Ooo! Kaija Koo saa kesämökille öky-rempan:jättimäinen terde, poreallas... Katso ennen-jälkeen kuvat!

      Wow, nyt on Kaija Koon mökkipihalla kyllä iso muutos! Miltä näyttää, haluaisitko omalle mökillesi vaikkapa samanlaisen l
      Kesämökki
      20
      1476
    8. Toivoisin, että lähentyisit kanssani

      Tänään koin, että välillämme oli enemmän. Kummatkin katsoivat pidempään kuin tavallisesti toista silmiin. En tiedä mistä
      Ikävä
      17
      1141
    9. Kevyt on olo

      Tiedättekö, että olo kevenee kummasti, kun päästää turhista asioista tai ihmisistä irti! Tämä on hyvä näin <3
      Ikävä
      84
      1068
    10. Olisinpa jo siellä, otatkohan minut vastaan

      Olisitpa lähelläni ja antaisit minun maalata sinulle kuvaa siitä kaikesta ikävästä, tuskasta, epävarmuudesta ja mieleni
      Ikävä
      79
      1060
    Aihe