jemartinsen81 Skrevet 27. november 2007 Del Skrevet 27. november 2007 (endret) Dersom jeg skal lage en metode som skriver ut et sammendrag av en array (lottorekke) som opprettes i denne koden, hvordan skal jeg gå frem? Jeg har ikke skrevet slike som skriver ut fra arrays før. Skal jeg bruke "public static int[] printLottorekke" som metodekall? package Uke44; public class Lotto { public Lotto() { genererLottorekke(); } public static void genererLottorekke() { int[] lottorekke = new int[7]; for (int i = 0; i < lottorekke.length; i++) { int index = 1 + (int) (Math.random() * 34); int check = searchLottorekke(lottorekke, index); while (index == check) { index = 1 + (int) (Math.random() * 34); } lottorekke[i] = index; } } public static int searchLottorekke(int[] lottorekke, int index) { for (int i = 0; i < lottorekke.length; i++) { if (lottorekke[i] == index) { return i; } } return -1; } } Endret 27. november 2007 av jemartinsen81 Lenke til kommentar
P@rm@nn Skrevet 27. november 2007 Del Skrevet 27. november 2007 Lag en metode i Lotto som dette: public String toString() { String ret = ""; for (int i = 0; i < lottorekke.length;i++) { ret += lottorekke[i] + " "; } return ret; } Kall den med System.out.println(lotto.toString()); Lenke til kommentar
Schlesien Skrevet 9. desember 2007 Del Skrevet 9. desember 2007 Kall den med System.out.println(lotto.toString()); Eventuelt bare: System.out.println(lotto); Java kaller objektets toString()-metode automatisk. Lenke til kommentar
Gjest Slettet+1374861 Skrevet 13. desember 2007 Del Skrevet 13. desember 2007 Kall den med System.out.println(lotto.toString()); Eventuelt bare: System.out.println(lotto); Java kaller objektets toString()-metode automatisk. Er vel heller det at implementasjonen av println med Object som parameter finner frem til toString() (såvidt jeg har forstått så innebærer dette valueOf()) enn att "Java kaller objektets toString()-metode automatisk". Lenke til kommentar
pgdx Skrevet 13. desember 2007 Del Skrevet 13. desember 2007 (endret) Er vel heller det at implementasjonen av println med Object som parameter finner frem til toString() (såvidt jeg har forstått så innebærer dette valueOf()) enn att "Java kaller objektets toString()-metode automatisk".I og for seg korrekt, men String.valueOf() bruker jo toString(), så den gjør jo det indirekte. Hendelsesløpet for System.out.println(Object obj) er, for de som lurer: PrintStream.println(Object obj) - PrintStream.print(Object obj) - - String.valueOf(Object obj) - - - return (obj == null) ? "null" : obj.toString(); - - PrintStream.write(returverdi) - PrintStream.println() - - PrintStream.print(System.getProperty("line.seperator")); - - - PrintStream.write(System.getProperty("line.seperator")); - - - Endret 13. desember 2007 av pgdx Lenke til kommentar
Gjest Slettet+1374861 Skrevet 13. desember 2007 Del Skrevet 13. desember 2007 hehe, der har du definisjonen gitt... jaja, jeg syns vertfall jeg var nermere enn at "java gjør det automatisk"! for det er jo bare metoden som muliggjør det kallet, ikke det å bare kaste rundt seg med objekter og tro toString() flyr ut. (no offence Schlesien, vet vel egentlig ikke hva du tenkte når du sa det slik...) Lenke til kommentar
Schlesien Skrevet 14. desember 2007 Del Skrevet 14. desember 2007 hehe, der har du definisjonen gitt... jaja, jeg syns vertfall jeg var nermere enn at "java gjør det automatisk"! for det er jo bare metoden som muliggjør det kallet, ikke det å bare kaste rundt seg med objekter og tro toString() flyr ut.(no offence Schlesien, vet vel egentlig ikke hva du tenkte når du sa det slik...) Jeg tenkte egentlig ikke på annet enn at det var unødvendig å skrive "System.out.println(lotto.toString());", all den tid toString()-metoden i klassen var definert. I slike tilfeller er det vel så greit å benytte seg av at toString() i det hele tatt kalles. Tenkte egentlig ikke på det som skjer veldig "langt bak kulissene", for å være helt ærlig visste jeg noe særlig om det pgdx beskrev. Var egentlig bare ment som et lite tips. Syns forsåvidt det er greit å forholde seg til toString() slik. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå