Gå til innhold

Anbefalte innlegg

Heisann.

 

Hvordan kan jeg finne det nest minste tallet som blir lest inn fra bruker. Jeg har kode som finner det største og det minste, men den skal også finne det nestminste (evt. bare største og nest minste).

 

import javax.swing.JOptionPane;

public class Oppgave2
{

public static void main(String[] args)
 {
 
 int største = 0;
 int minste = 0;
 
 String innlest = "";
 
 for (int i = 0; i < 10; i++)
 {
 String heltallVerdiString = JOptionPane.showInputDialog("Skriv inn et heltall");
 int heltallVerdi = Integer.parseInt(heltallVerdiString);
 
 innlest = innlest + heltallVerdiString + ", ";
 
 if (i == 0)
 {
   største = heltallVerdi;
   minste = heltallVerdi;
 }
 
 else if (heltallVerdi > største)
   største = heltallVerdi;
   
 else if (heltallVerdi < minste)
   minste = heltallVerdi;
 }
 
 JOptionPane.showMessageDialog(null, "Av tallene som ble lest inn (" + innlest + ") er \n" + største + " størst, " + minste + " minst.");
 System.exit(0);
}
}

Lenke til kommentar
Videoannonse
Annonse
else if (heltallVerdi < minste)
 nestMinste = minste; 
 minste = heltallVerdi;
}

 

Når du nå er ferdig å lese inn vil "nestMinste" inneholde tallet du ser etter.

5133858[/snapback]

 

Hva om det minste tallet blir lest inn først? Da vil

 

else if (heltallVerdi < minste)
   {
     nestMinst = minste;
     minste = heltallVerdi;
   } 

 

aldri bli utført, og nestMinst får ikke noen verdi/rett verdi.

Endret av ghettotrygve
Lenke til kommentar

Kan løses enkelt ved å sette "nesteMinste" til innlesttall dersom: "heltall > minste && nestMinsteIkkeSatt"

 

Hvor "nestMinsteIkkeSatt" er en boolskvariabel som er "true" helt til linjen "nestMinste = miste" utføres.

 

Edit: Eventuelt så kan tall nummer 2 alltid settes til nestMinste dersom det ikke er minst. Er kanskje lettere det.

Endret av mar
Lenke til kommentar

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...