tummair Skrevet 20. januar 2007 Skrevet 20. januar 2007 Hei alle sammen, J eg prøver å løse en oppgave her og har noen problemer med å returnere flere enn en verdier fra en double metode. Jeg ønsker å returnere gjNedbørOkt, gjNedbørNov og gjNedbørDes også vil jeg også skrive ut verdiene hver for seg i void skriv.... her er koden... Klikk for å se/fjerne innholdet nedenfor class Oblig1 { public static void main (String[] args){ Beregninger b = new Beregninger(); b.skriv(); } } class Beregninger{ int alleDager = 30; int nedbørOkt = 163; int dagerOkt = 20; int nedbørNov = 149; int dagerNov = 20; int nedbørDes = 67; int dagerDes = 14; double nedBør_a(){ double gjNedbør_a = ((nedbørOkt)+(nedbørNov)+(nedbørDes)/(3)); return gjNedbør_a;} double nedBør_b(){ double gjNedBør_b = ((nedbørOkt/alleDager)+(nedbørNov/alleDager)+(nedbørDes/alleDager)); return gjNedBør_b;} double nedBør_c(){ double gjNedbørOkt = (nedbørOkt/alleDager); double gjNedbørNov =(nedbørNov/alleDager); double gjNedbørDes =(nedbørDes/alleDager); } void skriv(){ System.out.println("a)\tGjennomsnittlig regn i perioden Okt-Des\t:\t\t\t"+nedBør_a()); System.out.println("b)\tGjennomsnittlig regn for alle dagene i perioden Okt-Des\t:\t"+ nedBør_b()); System.out.println("c)\tGjennomsnittlig regn for alle dagene for hver av månedene\t:"+nedBør_c()); } }
kjey Skrevet 20. januar 2007 Skrevet 20. januar 2007 (endret) Vet ikke om dette er den mest praktiske måten å løse problemet ditt på, men jeg vil ikke gjøre om for mye på programmet ditt Ihvertfall det som skal til for at du kan returnere fler enn én verdi er tabeller (på engelsk: arrays). Desverre kan man ikke returnere alle verdiene automatisk ved å kalle én gang på metoden så skriver den det ut i konsollet, man må hente ut en og en verdi. Hvis du ikke har vært borti tabeller foreslår jeg at du søker på det. Er veldig nyttig! Ihvertfall her er løsningen min: Klikk for å se/fjerne innholdet nedenfor class Oblig1 { public static void main (String[] args){ Beregninger b = new Beregninger(); b.skriv(); } } class Beregninger{ int alleDager = 30; int nedbørOkt = 163; int dagerOkt = 20; int nedbørNov = 149; int dagerNov = 20; int nedbørDes = 67; int dagerDes = 14; double nedBør_a(){ double gjNedbør_a = ((nedbørOkt)+(nedbørNov)+(nedbørDes)/(3)); return gjNedbør_a; } double nedBør_b(){ double gjNedBør_b = ((nedbørOkt/alleDager)+(nedbørNov/alleDager)+(nedbørDes/alleDager)); return gjNedBør_b; } double nedBør_c(int indeks){ // Dine variabler double gjNedbørOkt = (nedbørOkt/alleDager); double gjNedbørNov =(nedbørNov/alleDager); double gjNedbørDes =(nedbørDes/alleDager); // Opretter en tabell med de variablene dine i double[] nedbør; nedbør = new double[3]; nedbør[0] = gjNedbørOkt; nedbør[1] = gjNedbørNov; nedbør[2] = gjNedbørDes; // Returnerer verdien med gitt indeks return nedbør[indeks]; } void skriv(){ System.out.println("a)\tGjennomsnittlig regn i perioden Okt-Des\t:\t\t\t"+nedBør_a()); System.out.println("b)\tGjennomsnittlig regn for alle dagene i perioden Okt-Des\t:\t"+ nedBør_b()); System.out.println("c)\tGjennomsnittlig regn for alle dagene for hver av månedene\t:" + nedBør_c(0) + ", " + nedBør_c(1) + " og " + nedBør_c(2)); } } Altså du kan jo få metoden nedBør_c() til å returnere String da. Slik: return ("c)\tGjennomsnittlig regn for alle dagene for hver av månedene\t:" + nedBør_c(0) + ", " + nedBør_c(1) + " og " + nedBør_c(2)); Da trenger du bare å skrive slik til konsollet: System.out.println(nedBør_c()); Håper du ble klokere Endret 20. januar 2007 av kjey
tummair Skrevet 20. januar 2007 Forfatter Skrevet 20. januar 2007 Takk takk.. Dette kom jeg ikke på .... fungerer godt dette:)
thpost Skrevet 22. januar 2007 Skrevet 22. januar 2007 Hei! Du kunne også (i god objekt orientert stil) lage en container klasse for alle månedsverdiene og så kunne du overridet toString metoden for å skrive ut den teksten du ønsket.
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å