Gå til innhold

spm om java-oppgave. nybegynner:)


Anbefalte innlegg

Noen som hjelpe meg med å lage et program i Eclipse som kan utføre følgende:

 

Jeg skal lese inn 3 heltall fra tastaturet. Deretter skal jeg skrive ut det minste, det største, summen av alle tre og tilslutt produktet av alle 3. Det er viktig at alle svarene kommer på hver sin linje.

 

Noen som har tips til løsning?

Lenke til kommentar
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...