# Taschenrechner , IF-Abfrage



## pc_doctor (5. Aug 2012)

Hallo,
ich bin , wie ihr sicherlich gemerkt habt , neu  hier und muss sagen , dass mir Java echt mehr Spaß macht als Delphi , was wir in der Schule haben 

Bin nach den Ferien ( morgen  ) in der 13.Klasse und habe als Leistungskursfächer Informatik und Mathematik.

Vor den Ferien hatten wir ein bisschen mit Java angefangen und unser Lehrer hatte uns ein Buch empfholen , das ich mir gekauft habe :

Galileo Computing :: Java ist auch eine Insel - index

Ich programmiere mit Eclipse und finde dieses Programm echt genial , zumal es für mich als Anfänger viele Aufgaben übernimmt 

Heute wollte ich als Übung mal einen Taschrenrechner programmieren , doch ich komme nicht mehr weiter , hier erstmal mein Code :


```
public class Calculator {

	/**
	 * @param args
	 */
	public static void main(String[] args)
	{
		

		int ergebnis;
		
		System.out.println( " Wollen Sie Addition, Subtraktion , Multiplikation oder Division?");
		String bestätigung = new java.util.Scanner( System.in ).next();
		
		if (bestätigung == "Addition")
		{
	System.out.println( "Bitte geben Sie zwei Zahlen ein" );
	int zahl1 = new java.util.Scanner( System.in).nextInt();
	int zahl2 = new java.util.Scanner ( System.in ).nextInt();
	ergebnis = zahl1 + zahl2;
	System.out.println("Das Ergebnis lautet wie folgt: "   + ergebnis );
		}

	}

}
```

Im Buch bin ich grad auch bei den Fallunterscheidungen , die Eingaben werden in der Console von Eclipse ( ? ) gemacht.
Sobald ich "Addition" eingebe , macht er nix , ich hoffe , ihr könnt mir helfen.

Vielen Dank im Voraus


----------



## pl4gu33 (5. Aug 2012)

Strings vergleicht man mit equals nicht mit ==

also 
	
	
	
	





```
if (bestätigung.equals("Addition")){
```


----------



## Gast2 (5. Aug 2012)

Strings vergleicht man mit equals.

```
if (bestätigung == "Addition")
```
=>

```
if (bestätigung.equals("Addition"))
```


----------



## pc_doctor (5. Aug 2012)

Alles klar , vielen Dank , jetzt klappt es , im Buch steht bis jetzt nix davon.

Hängt wohl damit zusammen , dass die noch nicht so weit sind.

Dankeee.


----------



## Landei (5. Aug 2012)

Kleiner Tipp: Du kannst einen Scanner auch wiederverwenden:


```
Scanner scanner = new java.util.Scanner(System.in);
...
int x = scanner.nextInt();
...
String y = scanner.next();
```


----------



## pc_doctor (5. Aug 2012)

Vielen Dank für den Tipp.

Leider wird im Buch nicht so richtig erklärt , wie und worauf mit diesem Befehl zugegriffen wird :

new java.util.Scanner(System.in);

Was soll mir das aussagen als Laie ?

Was heißt new in diesem Fall ?

Was wird da "gescannt" ?


----------



## AquaBall (5. Aug 2012)

Das new sollte dir dein Buch erklären.
Der Scanner liest Daten aus den input-Stream, und parsed sie auf dein gewünschtes Format.


----------



## pc_doctor (5. Aug 2012)

Das new erzeugt etwas ( Objekt ? ) , ist das richtig ?


----------



## Gast2 (5. Aug 2012)

Ja, new erstellt immer ein neues Objekt.


----------



## pc_doctor (5. Aug 2012)

Alles klar , danke dafür.


----------



## hüteüberhüte (5. Aug 2012)

pl4gu33 hat gesagt.:


> Strings vergleicht man mit equals nicht mit ==



Ist es eig. so schwierig, Kommata zu setzen? "Strings vergleicht man mit equals nicht, mit ==", war sicher nicht gemeint.

Ansonsten wäre es auch mal interessant, wenn einer von den vielen Taschenrechnern hier im Forum Terme in Infixnotation parsen würde...


----------



## HoaX (5. Aug 2012)

hüteüberhüte hat gesagt.:


> Ist es eig. so schwierig, Kommata zu setzen? "Strings vergleicht man mit equals nicht, mit ==", war sicher nicht gemeint.


Genauso könnte man über dein "eig." meckern, hier ist doch genug Platz, also warum abkürzen?



hüteüberhüte hat gesagt.:


> Ansonsten wäre es auch mal interessant, wenn einer von den vielen Taschenrechnern hier im Forum Terme in Infixnotation parsen würde...



Wegen Infix: http://www.java-forum.org/java-basics-anfaenger-themen/136662-zeichen-strings.html


----------



## hüteüberhüte (5. Aug 2012)

[OT]Ne, über das eig. könnte man nicht meckern, denn jeder weiß, was damit gemeint ist. Wenn eine Formulierung ohne Kommas allerdings zweideutig sein könnte, dann ist das nicht mehr klar. Entweder man kann dann so formulieren, dass Kommas nicht wichtig sind, oder man setzt auch mal eins[/OT]


----------

