Gå til innhold

spm om java-oppgave. nybegynner:)


Anbefalte innlegg

Videoannonse
Annonse

Jeg er usikker på om Scanner er det rette og bruke her. Jeg har alltid brukt Scanner til å finne ting i en tekst, noe vi ikke har her. Her skal bruker selv taste inn 3 tall, for så å skrive det ut. Vet ikke hvor mye du kjenner til java's Swing bibliotek, men det er ihvertfall det jeg ville brukt for å hente inn variablene (de tallene du skriver inn).

 

 

int a = Integer.parseInt(JOptionPane.showInputDialog("Tekst"));

 

Når du har lest inn variablene kan du jo gjøre de operasjonene du ønsker. I ditt tilfelle er det jo å finne den minste, største og totalen. Jeg har løst oppgaven, den er inne i spoilerteksten. Men jeg anbefaler at du prøver og løse den først på egenhånd.

 

Lykke til.

 

 

 

public static void main( String[] args )
{
  // leser inn tallene ved hjelp av JOptionPane
  // (må importeres ved å skrive: import javax.swing.*; i toppen av klassen)  
  int a = Integer.parseInt(JOptionPane.showInputDialog("Skriv inn første tall"));	
  int b = Integer.parseInt(JOptionPane.showInputDialog("Skriv inn andre tall"));
  int c = Integer.parseInt(JOptionPane.showInputDialog("Skriv inn tredje tall"));

  //finner og skriver ut det minste tallet
  if (a < b && b < c)
  {
	  System.out.println("Det minste tallet er: " + a);
  }

  else if (b < a && a < c)
  {
	  System.out.println("Det minste tallet er: " + b);
  }
  else
  {
	  System.out.println("Det minste tallet er: " + c);
  }

  //finner og skriver ut det største tallet
  if (a > b && b > c)
  {
	  System.out.println("Det største tallet er: " + a);
  }
  else if (b > a && a > c) 
  {
	  System.out.println("Det største tallet er: " + b);
  }
  else
  {
	  System.out.println("Det største tallet er: " + c);
  }

  int total = a + b + c;

  System.out.println("Summen av alle tallene er: " + total );
}

 

 

Lenke til kommentar

Ja, dette er en bedre løsning. Har faktisk aldri brukt scanner til å lese inn input, utrolig nok. Merkelig at dette ikke var en del av pensum på høyskolen.

 

Uansett, tilpasset koden jeg skrev tidligere slik at den bruker Scanner til å lese inn variablene:

 

 

 

	  System.out.println("Tast inn det første tallet: ");
  int a = Integer.parseInt(scan.nextLine());
  System.out.println("Tast inn det andre tallet: ");
  int b = Integer.parseInt(scan.nextLine());
  System.out.println("Tast inn det tredje tallet: ");
  int c = Integer.parseInt(scan.nextLine());


  //finner og skriver ut det minste tallet
  if (a < b && b < c)
  {
	  System.out.println("Det minste tallet er: " + a);
  }

  else if (b < a && a < c)
  {
	  System.out.println("Det minste tallet er: " + b);
  }
  else
  {
	  System.out.println("Det minste tallet er: " + c);
  }

  //finner og skriver ut det største tallet
  if (a > b && b > c)
  {
	  System.out.println("Det største tallet er: " + a);
  }
  else if (b > a && a > c) 
  {
	  System.out.println("Det største tallet er: " + b);
  }
  else
  {
	  System.out.println("Det største tallet er: " + c);
  }

  int total = a + b + c;

  System.out.println("Summen av alle tallene er: " + total );

 

 

Lenke til kommentar
int a = scan.nextInt();
int b = scan.nextInt();
int c = scan.nextInt();

int min = Math.min(a, Math.min(b, c));
int max = Math.max(a, Math.max(b, c));

 

Math.min/max hjelper også. :p

Dermed:

int max = scanner.nextInt();
int min = max;

while (scanner.hasNext()) {
int in = scanner.nextInt();
max = Math.max(max, in);
min = Math.min(min, in);
}

Endret av pgdx
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...