Gå til innhold

Pluss og minus kalkulator funker ikke


Anbefalte innlegg

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 av Ferd!s
Lenke til kommentar
Videoannonse
Annonse

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 av Ferd!s
Lenke til kommentar

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
  • 1 måned senere...

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

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...