Gå til innhold

Javaprogram som regner


Anbefalte innlegg

Skrevet

Skal skrive et javaprogram som skal regne sammen et tall som jeg selv skal skrive inn fra tastaturet og multiplisere med et bestemt tall.

 

For antall 1 til 19 skal tallet multipliseres med 10

for antall 20 til 49 skal tallet multipliseres med 8

for antallet 50 og mer skal tallet multipliseres med 5.5

 

 

noen som enkelt kan forklare hvordan jeg får en løsning her?

Videoannonse
Annonse
Skrevet

Tja.

 

Bruk fx JOptionPane til å hente inn tallet du vil taste inn og for å skrive ut resultatet. Du kan også kjapt bruk if/else for å avklare kravene du har stilt.

 

Husk å konvertere resultatet fra JOptionPane.showInputDialog, denne kommer som String, men du vil vel ha double... Du må da oxo evt bruke try/catch i tilfelle noen skriver inn bokstaver istedet, men vet ikke for avansert programmet ditt skal være.

Gjest Sletet+adslkfjv
Skrevet (endret)

som så mange andre så kan du jo bruke scanner for å lese fra tastatur, og vidre så kanskje du kan prøve med en switch setning for å dele opp intervallene dine.

bruk http://java.sun.com/j2se/1.5.0/docs/api/

Endret av Sletet+adslkfjv
Skrevet

import javax.swing.JOptionPane; // Hjelpeprogram for innlesing og utskrift

public class regen

{

public static void main( String[] args)

{

//-------------------------------------------------------------------

//--- Variabeldeklarasjon ---

//-------------------------------------------------------------------

String inputTall1; // første teksttall som leses inn

 

int tall1;

inputTall1 = JOptionPane.showInputDialog("Skriv inn antall");

tall1 = Integer.parseInt( inputTall1 );

System.out.println("tall1 = " + tall1*5);

 

System.exit(0);

}//end metode main( )

}//end klasse regen

 

Så langt har jeg kommet men jeg er jo helt på trynet når det gjelder IF/ELSE - Noen forslag til formulering?

Skrevet

Fungerer litt dårlig å sette den som int siden du skal multiplisere med 5.5 senere...

 

Men fx.

double resultat = 0.0;

if( tall1 > 0 && tall1 < 20 )
   resultat = tall1 * 10.0;
else if( tall1 < 50 )
   resultat = tall1 * 8.0;
else
   resultat = tall1 * 5.5;

 

Her er det ikke lagt inn sjekk for tall som er mindre enn 0, noe som burde inn.

 

I tillegg, der du har denne linjen:

tall1 = Integer.parseInt( inputTall1 );

 

Her må du legge inn sjekk for at det faktisk er skrevet inn et tall, bruk fx:

 

try {
   tall1 = Integer.parseInt( inputTall1 );
}
catch( NumberFormatException e ) {
   JOptionPane.showMessageDialog( null, "Du skrev ikke inn et tall" );
   System.exit( 0 );
}

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å
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...