Einfache Java-Rechner
Erstens dies ist keine Hausaufgaben Frage. Ich bin üben meine Kenntnisse über java. Ich dachte, ein guter Weg, dies zu tun ist, zu schreiben, ein einfaches Programm ohne Hilfe. Leider hat mein compiler sagt mir Fehler, die ich nicht wissen, wie Sie zu beheben. Ohne änderung viel Logik und den code, könnte mir jemand freundlicherweise zeigen, wo einige meiner Fehler? Dank
import java.lang.*;
import java.util.*;
public class Calculator
{
private int solution;
private int x;
private int y;
private char operators;
public Calculator()
{
solution = 0;
Scanner operators = new Scanner(System.in);
Scanner operands = new Scanner(System.in);
}
public int addition(int x, int y)
{
return x + y;
}
public int subtraction(int x, int y)
{
return x - y;
}
public int multiplication(int x, int y)
{
return x * y;
}
public int division(int x, int y)
{
solution = x / y;
return solution;
}
public void main (String[] args)
{
System.out.println("What operation? ('+', '-', '*', '/')");
System.out.println("Insert 2 numbers to be subtracted");
System.out.println("operand 1: ");
x = operands;
System.out.println("operand 2: ");
y = operands.next();
switch(operators)
{
case('+'):
addition(operands);
operands.next();
break;
case('-'):
subtraction(operands);
operands.next();
break;
case('*'):
multiplication(operands);
operands.next();
break;
case('/'):
division(operands);
operands.next();
break;
}
}
}
Welche Fehler sind Sie immer?
Vielen Dank für die Veröffentlichung Ihres Codes. Jedoch, es hilft auch, eine Menge, wenn man den text posten der Fehlermeldungen, die Sie bekommen, von der compiler - dies macht es einfacher für Menschen, um schnell das problem zu identifizieren (ohne Lesen Sie den gesamten code oder kompilieren Sie es selbst).
Vielen Dank für die Veröffentlichung Ihres Codes. Jedoch, es hilft auch, eine Menge, wenn man den text posten der Fehlermeldungen, die Sie bekommen, von der compiler - dies macht es einfacher für Menschen, um schnell das problem zu identifizieren (ohne Lesen Sie den gesamten code oder kompilieren Sie es selbst).
InformationsquelleAutor dukevin | 2010-04-29
Du musst angemeldet sein, um einen Kommentar abzugeben.
Diese arbeiten
InformationsquelleAutor gmhk
operands
undoperators
sind out-of-scope für main. Deklarieren Sie lokale Variablen im Konstruktor, so dass, wenn Sie verlassen Sie den ctor Sie sind dazu berechtigt, die für die GC gegangen.Haben Sie Kompilierungsfehler - 10.
Duke: Sie können keine Felder hinzufügen einer Klasse zur Laufzeit in der Sprache. Sie müssen angeben, dass Sie in der Taschenrechner, wie Sie angegeben Lösung und Betreiber. Main auch nicht "dieses", wie es muss statisch sein.
InformationsquelleAutor duffymo
Weiteres Problem ist die Zeile
ist der Versuch auf der Stelle ein
String
zurück vonScanner.next()
in der eine variabley
die als ein Typ deklariert istint
.Den
Scanner.nextInt()
Methode kann verwendet werden, um zu versuchen, wieder eineint
.InformationsquelleAutor coobird
InformationsquelleAutor Shashank T
Zusätzlich zu den anderen Antworten, Ihre main () - Methode muss statisch sein, um ein Programm zu sein, Einstiegspunkt. In main (), die Sie benötigen, um erstellen Sie Ihre eigene Rechner-Objekt und rufen Methoden auf, die.
InformationsquelleAutor Yann Ramin
Dies ist alles toll, aber welches Programm verwenden Sie, um schreiben Sie Ihre java?
Vielleicht solltest du erwägen Sie die Verwendung einer IDE wie Eclipse, so kann es erkennt Fehler automatisch und fügt auch die Importe. (Ich bin mir nicht sicher, wenn Ihr dies tut) Es sagt Ihnen auch, was das problem mit Ihrem Programm "in Englisch".
Überlegen Sie auch, diese Klasse als vielleicht ein einfacher und unkomplizierter Weg, das zu tun, ein Taschenrechner:
}
Und als eine Sache der Gewohnheit, anstatt das zu tun:
ist es besser zu tun:
Dies ist wahrscheinlich nicht viel Unterschied hier, aber wenn Sie ein viel größeres Programm zu importieren das ganze von java.util wird erheblich verlangsamen Ihr Programm.
Hoffe, das hilft!
Tut mir Leid, dass. Es ist nur, ich habe gehört, Tonnen von Menschen, die sagen, wie der Import der gesamten java-Bibliotheken verlangsamt das Programm. Oder habe ich mishear?
Ich vermute, Sie hat nicht mishear-es gibt nur eine Tonne von Fehlinformationen Umgebung. Werfen Sie einen Blick auf diese Frage.
InformationsquelleAutor Dan299
Ihre main-Methode deklariert werden muss, wie diese:
Außerdem, es scheint, dass Sie nur versorgt ein argument für Sie, alle Ihre arithmetischen Methoden (addition, Subtraktion usw.), obwohl Sie benötigen zwei.
Kann nicht aufgerufen werden, mit
addition(operands)
, das ist nur ein argument, und das argument den falschen Typ (die Methode muss zweiint
Sie geben ihm eineScanner
). Das gleiche gilt für alle diese Methoden. Müssen Sie zum extrahieren derint
s aus derScanner
. Sie können tun, dass mitScanner.nextInt()
.InformationsquelleAutor Lars Andren
InformationsquelleAutor Waruna Wishwanath Usgoda
Sie fordern den Benutzer zur Eingabe in ganzen zahlen, sondern setzen Sie die Anweisung
operands.next();
wie die Eingabe. Versuchen Sie, konsistent mit Ihren Variablen und Benutzereingaben, so ändern Sie ihn aufoperands.nextInt()
helfen würde.InformationsquelleAutor Lopes_CP_113013
Nur als Tipp, es ist in der Regel nicht eine gute Idee zu Beginn werfen
in Ihrem Programm, da es macht das Programm unnötig groß und langsam. Alles was Sie dazu brauchen, ist
Wenn ich richtig bin, die meisten, wenn nicht alles in java.lang ist bereits importiert für Sie.
InformationsquelleAutor Jazzy Josh