apwr Skrevet 16. oktober 2006 Del Skrevet 16. oktober 2006 Jeg har fått en oppgave som lyder: "Firmaet Hitra Sjøgodt selger rensede blåskjell i to typer pakninger, rektangulære og sylindriske. Bedriften ønsker å registrere det totale volumet av rensede blåskjell som selges i løpet av en periode. Det skal en gjøre ved å lage et program som registrerer data for samtlige pakninger som leveres. For rektangulære pakninger registreres lengde, bredde og høyde. For sylindriske pakninger registreres grunnflatens radius og høyde. Alle mål oppgis i cm. Volumet av en rektangulær pakning er: lengde * bredde * høyde Volumet av en sylindrisk pakning er: 3.14 * radius * radius * høyde Beregning av volum for rektangulær og sylindrisk pakning skal foregå i to klassemetoder, RektangelVolum og SylinderVolum, som er plaser i egen klasse. Programmet skal beregne og skrive ut det totale volumet av rensede blåskjell som er levert og prosentvis fordeling for rektangulære og sylindriske pakninger. Innlesing og utskrift av data foregår i main-metoden." Her skal det leses inn et ukjent antall pakker av både sylinder og rektangulær form. Koden som er listet nedenfor avslutter etter kun en innlesing. Er det noen som kan hjelpe meg med å løse dette problemet? import javax.swing.JOptionPane; public class BrukVolum{ // Variabeldeklarasjon static double radius; static double hoyde; static double lengde; static double bredde; static double rektVolum; static double sylVolum; public static void main(String[] args){ //initiering String input = JOptionPane.showInputDialog("Skriv inn lengde på rektangulær pakning (cm)"); String input2 = JOptionPane.showInputDialog("Skriv inn bredde på rektangulær pakning (cm)"); String input3 = JOptionPane.showInputDialog("Skriv inn hoyde rektangulær pakning (cm)"); lengde = Double.parseDouble(input); bredde = Double.parseDouble(input2); hoyde = Double.parseDouble(input3); String input4 = JOptionPane.showInputDialog("Skriv inn radius på sylinderpakning (cm)"); String input5 = JOptionPane.showInputDialog("Skriv inn bredde på sylinderpakning (cm)"); radius= Double.parseDouble(input4); hoyde = Double.parseDouble(input5); //Skriver ut System.out.println("SylVolum: " + Volum.SylinderVolum(radius, hoyde)); System.out.println("RektVolum: " + Volum.RektangelVolum(lengde, bredde, hoyde)); System.out.println("Volum total: " + Volum.SylinderVolum(radius, hoyde) + Volum.RektangelVolum(lengde, bredde, hoyde)); System.exit(0); } } public class Volum { public static double RektangelVolum(double lengde, double bredde, double hoyde) { double rektVolum =0; rektVolum = (lengde * bredde * hoyde); return rektVolum; } public static double SylinderVolum(double radius, double hoyde) { double sylVolum = 0; sylVolum = (3.14 * radius * radius * hoyde); return sylVolum; } } Lenke til kommentar
sim Skrevet 16. oktober 2006 Del Skrevet 16. oktober 2006 Du trenger en loop på innlesingen. Du bør også gjøre slik at man kan velge om pakken er rektangulær eller sylinderformet (siden volumberegningen er forskjellig). Deretter leser du inn dataene og legger volumet til en variabel som holder på totalvolumet for alle innlesinger. Du må også telle antall sylinderformede eller rektangelformede og totalt antall. Håper dette får deg et par steg videre. Lenke til kommentar
apwr Skrevet 16. oktober 2006 Forfatter Del Skrevet 16. oktober 2006 Takk skal du ha! Nå har ikke jeg de store erfaringene med looper eller programmering generelt. Det hadde vært kjempefint om du kunne utdype litt mer om hvordan dette gjøres Lenke til kommentar
sim Skrevet 16. oktober 2006 Del Skrevet 16. oktober 2006 Som sagt trenger du noen fler variabler som holder på dataene som er interessante for deg. Du skal summere opp totalt volum og gi en prosentvis fordeling mellom sylinderformede og rektangelformede pakninger. Du skal også lese inn et uvisst antall pakninger. Vi kan prøve oss med litt pseudokode (egentlig bare fordi jeg ikke orker å kode java nå), så kan du se hva du får ut av det. Initialliser variabler (totaltVolum, antallSylinder, antallRektangel, antallTotalt) While (flere innlesinger) Les inn data Regn ut volum og legg til i totaltVolum-variabelen Legg til 1 på antallSylinder eller antallRektangel Legg til 1 på antallTotalt Skriv ut totaltVolum, antallSylinder/antallTotalt, antallRektangel/antallTotalt Håper dette hjelper deg litt på vei, om ikke så får jeg se om jeg orker å skrive noe java-kode for deg. Anbefaler deg likevel å prøve og heller spørre om det er noe du står fast på. Lenke til kommentar
apwr Skrevet 19. oktober 2006 Forfatter Del Skrevet 19. oktober 2006 Takk for det! Har sett litt på dette nå, men klarer ikke helt å forstå hvordan det gjøres. Hadde vært fint om du kan forklare meg dette litt nærmere, evt skrive litt javakode. 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å