supernapa Skrevet 26. september 2005 Del Skrevet 26. september 2005 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? Lenke til kommentar
GnX Skrevet 26. september 2005 Del Skrevet 26. september 2005 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. Lenke til kommentar
Gjest Sletet+adslkfjv Skrevet 26. september 2005 Del Skrevet 26. september 2005 (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 26. september 2005 av Sletet+adslkfjv Lenke til kommentar
supernapa Skrevet 26. september 2005 Forfatter Del Skrevet 26. september 2005 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? Lenke til kommentar
GnX Skrevet 26. september 2005 Del Skrevet 26. september 2005 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 ); } 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å