Coo7pega Skrevet 22. september 2003 Del Skrevet 22. september 2003 Hei! OBS! Jeg er veldig fersk i Java og programmering forøvrig. Sitter og jobber med en oppgave hvor jeg har et program som genererer tilfeldige tall fra 0 - 100. 100 ganger. Ut av disse plukker jeg ut største og minste verdi med metoden Math.max og Math.min. Hvordan kan jeg enkelt plukke ut nest største og nest minste verdi? Klar over at jeg kan bruke Array, men ønsker å gjøre det på den tungvindte måten... Her er løkka som generer verdiene og plukker ut størst og minst: while (teller <= 100) { random = (Math.random() * 100); max = Math.max(random, max); min = Math.min(random, min); output +="n" + toDesimal.format(random); snitt += random; // kan se bort fra denne nå teller++; } // end while Lenke til kommentar
threiran Skrevet 22. september 2003 Del Skrevet 22. september 2003 Du kan benytte to variabler til, f.eks. almostMax, almostMin for de nest største verdiene. Etter sjekken for maks og min verdier kan du legge kode som ligner på: if (random > almostMax & random < max) { /* Dersom random er større enn det nest største tallet vi har OG mindre enn det største tallet, har vi ett nytt nest største tall */ almostMax = random; } og en tilsvarende kodebit (men med andre variabelnavn og noen endringer i >,< tegnene) for å finne nest minste tallet. Variablene almostMax og almostMin må initialiseres rett for at dette skal virke. Lykke til! CPL Lenke til kommentar
Banzaii Skrevet 24. oktober 2003 Del Skrevet 24. oktober 2003 Denne koden fungerer (endringer er gjort med blå bokstaver): int min = 100, max = 0, nestStorst = 0, previousMax; while (teller <= 100) { random = (int) (Math.random() * 100); previousMax = max; max = Math.max(random, max); min = Math.min(random, min); if(min > nestStorst) nestStorst = min; else if(random > nestStorst){ nestStorst = random; if (random >= previousMax) nestStorst = previousMax; } System.out.println("Nest Storst: " + nestStorst); teller++; } // end while Lykke til Coo7pega! Lenke til kommentar
Dovrebanen Skrevet 27. oktober 2003 Del Skrevet 27. oktober 2003 Kjør størst og minst. Fjern disse resultatene. Kjør størst og minst, dette vil da gi nest minste og nest største verdiene. 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å