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

857

    Vastaukset 6

    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. Mikä kaivatussasi

      on parasta?
      Ikävä
      90
      1338
    2. Koska muru nähdään

      Kaksin?
      Ikävä
      45
      697
    3. Et vaan tajua

      Että rakastan sua
      Ikävä
      20
      639
    4. Olen jo oppinut tuntemaan

      sinun kirjoitustyylisi
      Ikävä
      53
      598
    5. Mikä kaivatussasi

      on pahinta?
      Tunteet
      46
      569
    6. Sinisilmäiselle tutulle miehelle

      Iltaisin ikävä pahenee ja olet usein mielessä. Toivon merkitseväni sinulle paljon. On ihan hirveän vaikeaa miettiä, mit
      Ikävä
      41
      568
    7. Sanoppa ihan rohkeasti

      Mun huonot puolet! En suutu…
      Ikävä
      76
      556
    8. Nainen ... ala olemaan miehille täysin hyödytön

      Otsikossa on paras neuvo jokaiselle naiselle, jonka hän voi koskaan saada. Moni mieshän ajattelee jo nyt, että naiset o
      Sinkut
      132
      538
    9. Mikä herkku

      Kaivattusi On? 😁
      Ikävä
      41
      512
    10. Ylen typerät rinnastukset.

      Näin YLE…..Saksassa ei ole äärioikeisto ollut vallassa sitten Hitlerin . YLEn toimittajille tiedoksi . Hitler oli Saksan
      Maailman menoa
      177
      496
    Aihe