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
toString
6
814
Vastaukset
- 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()-metodissaMissä 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
Tänään pyörit ajatuksissa enemmän, kun erehdyin lukemaan palstaa
En saisi, silti toivon että sinä vielä palaat ja otetaan oikeasti selvää, hioituuko särmät ja sulaudummeko yhteen. Vuod225134- 254308
- 272451
- 342234
- 371998
- 151908
En ole koskaan kokenut
Ennen mitään tällaista rakastumista. Tiedän että kaipaan sinua varmaan loppu elämän. Toivottavasti ei tarvitsisi vain ka191587- 121521
Voi ei! Jari Sillanpää heitti keikan Helsingissä - Hämmästyttävä hetki lavalla...
Ex-tangokuningas on parhaillaan konserttikiertueella. Hän esiintyi Savoy teatterissa äitienpäivänä. Sillanpää jakoi kons211237Kerranki asiat oikein
Ilkka ja muut pienpuolueeet...teitte hyvän työn kun valitsitte pätevän henkilön virkaan eikä kepulle passelia!! Jatkakaa101164