C# Taschenrechner Rechenoperatoren?
Guten Morgen!
Ich bin relativ neu was Sachen programmieren angeht und stoße auf folgendes Problem bei einem Taschenrechner.
Die beiden Integer werden nicht miteinander verrechnet sondern einfach aneinander gehangen. Wenn ich - eingebe kommt gar kein Ergebnis raus.
Außerdem weiß ich nicht warum "ergebnis" unterstrichen ist ^^
Was muss ich anders machen damit die Zahlen berechnet werden?
Danke im Vorraus!
4 Antworten
Moin,
"ergebnis" ist einfach nicht initialisiert. Weise am besten einfach einen Wert zu.
(Innerhalb der main)
int ergebnis = 0;
Statisch könntest du es auch noch machen, der Fehler bedeutet aber einfach, dass das Programm nicht weiß, was es tun soll, wenn kein Wert in "ergebnis" ist.
Deine Ausgabe passt mit dem Code nicht zusammen.
Das passiert aber, wenn du als String die Integer aneinander anfügst.
LG
//Nachtrag - innerhalb der main, da diese eine statische Methode ist und nicht auf das instanzabhängige ergebnis zugreifen kann.
Entweder du machst ergebnis statisch (static int ergebnis) oder aber du packst die Variable in die Main Function, welches wohl die beste Variante sein sollte.
Es gibt einen Grund dafür, warum ergebnis rot unterkringelt ist.
Solltest du die Variable später irgendwie anderweitig brauchen in anderen Funktionen, kannst du sie auch schlicht übergeben...
Also entweder
using System;
class Program {
static int ergebnis;
static void Main(string[] args) {
...
oder
using System;
class Program{
static void Main(string[] args) {
int ergebnis;
...
funktionieren wie gewünscht.
Ergebnis ist nur int daher eine lokale variable. Pack daher das int ergebnis in die Main Funktion.
//EDIT, passt schon. Wenn die Methode statisch ist, können wir natürlich nicht drauf zugreifen.
Alles gut.
Ergebnis ist nicht static, mach das mal static, dann sollte es gehen
Stimmt, das auch noch. Kommt davon wenn man während der Arbeit 'rüber schaut 😅
Das muss nicht passieren - wir befinden uns in der selben Klasse. Das heißt, die Variable ist auch in der Methode gültig.