Ferdizz Skrevet 2. mars 2011 Del Skrevet 2. mars 2011 (endret) Hei, jeg prøver å lage et program der du først blir spør om du vil bruke pluss eller minus. Ut ifra dette prøver jeg å få programmet til å addere de to tallene man skriver inn hvis man skriver pluss og subtrahere hvis man skriver minus. Men selv om jeg skriver plus så subtraherer programmet det første tallet med det andre. Noen som vet hvorfor? Hva er feil med programkoden? import java.util.Scanner; public class plussogminus { public static void main(String asgr[]){ Scanner input = new Scanner(System.in); double number1, number2, sum; System.out.println("Plus or minus?"); String plusorminus = input.nextLine(); System.out.println("Enter first number:"); number1 = input.nextDouble(); System.out.println("Enter second number:"); number2 = input.nextDouble(); sum = number1 +- number2; if(plusorminus == "pluss"){ sum = number1 + number2; } if(plusorminus == "minus"){ sum = number1 - number2; } System.out.println(sum); } } Takker for svar Endret 2. mars 2011 av Ferd!s Lenke til kommentar
geir__hk Skrevet 2. mars 2011 Del Skrevet 2. mars 2011 Uten å ha sett veldig nøye på koden. Å bruke dobbelt likhetstegn for å sammenlikne stringverdier er en metode som ofte ikke fungerer. Prøv heller med: if (string1.equals(string2)) Står beskrevet mer på denne siden. Lenke til kommentar
Ferdizz Skrevet 2. mars 2011 Forfatter Del Skrevet 2. mars 2011 (endret) Uten å ha sett veldig nøye på koden. Å bruke dobbelt likhetstegn for å sammenlikne stringverdier er en metode som ofte ikke fungerer. Prøv heller med: if (string1.equals(string2)) Står beskrevet mer på denne siden. Tusen takk! Funket nå EDIT: Nå får jeg opp følgende feilmelding når jeg enten summerer eller subtraherer: "Exception in thread "main" java.lang.NumberFormatException: For input string: "Error! You have to write plus or minus at the beginning!" at sun.misc.FloatingDecimal.readJavaFormatString(Unknown Source) at java.lang.Double.parseDouble(Unknown Source) at plussogminus.main(plussogminus.java:15)" Programkode: import java.util.Scanner; public class plussogminus { public static void main(String asgr[]){ Scanner input = new Scanner(System.in); double number1, number2, sum; System.out.println("Plus or minus?"); String plusorminus = input.nextLine(); System.out.println("Enter first number:"); number1 = input.nextDouble(); System.out.println("Enter second number:"); number2 = input.nextDouble(); String error = "Error! You have to write plus or minus at the beginning!"; sum = Double.parseDouble(error); if(plusorminus.equals("plus")){ sum = number1 + number2; } if(plusorminus.equals("minus")){ sum = number1 - number2; } System.out.println(sum); } } Endret 2. mars 2011 av Ferd!s Lenke til kommentar
miXer Skrevet 2. mars 2011 Del Skrevet 2. mars 2011 Det er jo ikke så rart at du får NumerFormatException da du prøver å omgjøre en streng til en double verdi. String error = "Error! You have to write plus or minus at the beginning!"; sum = Double.parseDouble(error); Lenke til kommentar
Cx Skrevet 9. mars 2011 Del Skrevet 9. mars 2011 import java.util.Scanner; public class plussogminus { public static void main(String args[]){ Scanner input = new Scanner(System.in); double number1, number2, sum = 0; System.out.println("Plus or minus?"); String plusorminus = input.nextLine(); System.out.println("Enter first number:"); number1 = input.nextDouble(); System.out.println("Enter second number:"); number2 = input.nextDouble(); if(plusorminus.equals("plus")){ sum = number1 + number2; } else if(plusorminus.equals("minus")){ sum = number1 - number2; } else { System.out.println("Error! You have to write plus or minus at the beginning!"); } System.out.println(sum); } } Uten å ha testet skal dette fungere. Du kan ikke parse en string som ikke inneholder tall til double, som du gjør i denne linjen: sum = Double.parseDouble(error); Lenke til kommentar
iKent Skrevet 3. mai 2011 Del Skrevet 3. mai 2011 Her har du et eksempel på en kalkulator vi har laget tidligere på skolen min. (fjordsemesteret) import java.util.Scanner; public class Oppgave1 { public static void main(String[] args) { Scanner tastatur = new Scanner(System.in); System.out.print("\nSkriv inn det første tallet: ");; double tall1 = tastatur.nextDouble(); System.out.print("Skriv inn det andre tallet: ");; double tall2 = tastatur.nextDouble(); //med utgangspunkt i formel double resultatMultiplikasjon = tall1 * tall2; double resultatDivisjon = tall1 / tall2; //utskrift av beregninger (med formattert skrift) System.out.printf("\n%f * %f = %f", tall1, tall2, resultatMultiplikasjon); System.out.printf("\n%f / %f = %f", tall1, tall2, resultatDivisjon); //løsningsforslag for deloppgave b): System.out.print("\nSkriv inn det første heltallet: ");; int tall3 = tastatur.nextInt(); System.out.print("Skriv inn det andre heltallet: ");; int tall4 = tastatur.nextInt(); //med utgangspunkt i formel int resultatHeltallsmultiplikasjon = tall3 * tall4; int resultatHeltallsdivisjon = tall3 / tall4; //utskrift av beregninger (med formattert skrift) System.out.printf("\n%d * %d = %d", tall3, tall4, resultatHeltallsmultiplikasjon); System.out.printf("\n%d / %d = %d", tall3, tall4, resultatHeltallsdivisjon); } } 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å