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
856
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
Herkkyydestä
Toisessa ketjussa toivottiin keskustelua herkkyydestä. Aloitan omalla näkemykselläni. Mielestäni herkät ihmiset ovat l273912Arvaako kukaan?
"Humalojalla metalliromun keräyspaikalla on kulkenut pitkin kevättä ja kesää joku henkilö, joka on vienyt sieltä kymmeni47712- 67665
Tuntuu pahalta meidän molempien puolesta
Anteeksi, että olen tällainen pelkuri. En vaan usko rakkauteen enää miehen ja naisen välillä omalla kohdalla. Tiedän, et34571- 52554
Olen kiinnostunut sinusta, en seksistä
Vihjailuja toiseen suuntaan on tullut niin paljon, että asia on korjattava. En näe sinua esineenä, vaan hienona persoona30486- 48467
- 30459
- 38450
En pyytele enää koskaan anteeksi mitään sinulta
Olet ollut kohtuuttoman kylmä ja tyly tilanteeseen nähden.45437