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
857
Vastaukset 6
- 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
- 901338
- 45697
- 20639
- 53598
- 46569
Sinisilmäiselle tutulle miehelle
Iltaisin ikävä pahenee ja olet usein mielessä. Toivon merkitseväni sinulle paljon. On ihan hirveän vaikeaa miettiä, mit41568- 76556
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 o132538- 41512
Ylen typerät rinnastukset.
Näin YLE…..Saksassa ei ole äärioikeisto ollut vallassa sitten Hitlerin . YLEn toimittajille tiedoksi . Hitler oli Saksan177496