Suche Fehler bei Programm

Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Habe ein Problem mit folgendem Code. Ich bekomme immer folgende Fehlermeldung, obwohl, die entsprechenden Variablen deklariert und initialisiert sind (zumindest in meinen Augen).


Code:
import java.io.*;

class K13A1_Internet_Delikatessen
{
public static void main(String[]args) throws IOException
{
BufferedReader buff = new BufferedReader(new InputStreamReader(System.in));


String ArtikelSt, PreisSt, ExpressversandtSt;
Double PreisDb, ExpressversandtDb, VersandtDb, ZuschlagDb;

//------------------------------------------------

System.out.println("Internet Delikatessen v.01");
System.out.println("");

System.out.print("Geben Sie den Artikel ein: ");
ArtikelSt = buff.readLine();

System.out.print("Geben Sie den Preis ein: ");
PreisSt = buff.readLine();
PreisDb = Double.parseDouble(PreisSt);


System.out.print("Expressversandt (0==nein, 1==ja): ");
ExpressversandtSt = buff.readLine();
ExpressversandtDb = Double.parseDouble(ExpressversandtSt);



System.out.println("");

//------------------------------------------------

if (PreisDb < 10)
    {
     PreisDb = PreisDb+2;
     VersandtDb = 2.0;
    }

if (PreisDb >= 10)
    {
     PreisDb = PreisDb+3;
     VersandtDb = 3.0;
    }

if (ExpressversandtDb == 1)
    {
     PreisDb = PreisDb+5;
     ZuschlagDb = 5.0;
    }
//------------------------------------------------

System.out.println("Rechnung");


System.out.println(ArtikelSt+": $"+PreisDb +" ($" +VersandtDb +" Versandt)");

if (ExpressversandtDb == 1)
System.out.print("Mit $" +ZuschlagDb +"Expresszuschlag");


}
}


C:\Dokumente und Einstellungen\Christopher\Java\1T>javac K13A1_Internet_Delikate
ssen.java
K13A1_Internet_Delikatessen.java:58: variable VersandtDb might not have been ini
tialized
System.out.println(ArtikelSt+": $"+PreisDb +" ($" +VersandtDb +" Versandt)");
^
K13A1_Internet_Delikatessen.java:61: variable ZuschlagDb might not have been ini
tialized
System.out.print("Mit $" +ZuschlagDb +"Expresszuschlag");
^
2 errors
 

sliwalker

Top Contributor
Hi,

ganz klar.
Eigentlich meine ich, dass es nur eine Warnung sein sollte, aber egal. In Deinen if-Abfragen weist Du die Double-Variablen sich selbst, plus einen Wert zu. Es könnte aber sein, dass der User gar nichts eingegeben hat. Damit würden Deine Werte sinnfrei werden.

Punkt 1:
Initialisiere Deine Variablen in der korrekten Weise.

Punkt 2:
Wenn Du mit Double arbeiten willst. Dann verwende bei allen Zuweisungen, Rechnungen usw. immer das Format:
Code:
	double d1 = 0.0d;
	double d2 = 1.5d;
		
	System.out.println("Erg: " + (d1+d2));

Punkt 3:
Der richtige Datentyp für Deine Variablen heißt "double" nicht "Double". "Double" sind Wrapperklassen, die Dir zB erweiterte Funktionen mit dem handling von "double"-Variablen bieten. Zum rechnen nimm lieber Kleindouble ;)
(Deine parsen ist aber trotzdem richtig, denn hier nutzt Du tatsächlich die Wrapperklasse "Double")

greetz
SLi
[/code]
 
L

Leroy42

Gast
sliwalker hat gesagt.:
In Deinen if-Abfragen weist Du die Double-Variablen sich selbst, plus einen Wert zu. Es könnte aber sein, dass der User gar nichts eingegeben hat. Damit würden Deine Werte sinnfrei werden.

Das stimmt nicht: Er erhöht nur PreisDb und das war bereits vor den if-Abfragen initialisiert.

Abgesehen davon, daß sliwalker natürlich Recht hat was Double==>double betrifft sind es
zwei Probleme

1. ZuschlagDb wird tatsächlich nur gesetzt, wenn die dritte if-Abfrage true ergibt. Es muß
vorher mit 0 initialisiert werden.
2. VersandtDb (Wo kommt eigentlich das klein t her? Süss :D ) wird zwar innerhalb
einer der beiden ersten if-Abfragen immer gesetzt, der Compiler ist aber nicht smart
genug, daß zu erkennen. Ich vermute mal sowieso, daß die ersten beiden Abfragen nicht
richtig sind. Ist z.B. PreisDb gleich 9 dann wird es in der ersten Abfrage um 2 erhöht und, da
es jetzt mit 11 auch größergleich 10 ist, wird es nocheinmal um 3 erhöht ???:L
Ersetze

Code:
if (PreisDb < 10)
    {
     PreisDb = PreisDb+2;
     VersandtDb = 2.0;
    }

if (PreisDb >= 10)
    {
     PreisDb = PreisDb+3;
     VersandtDb = 3.0;
    }

einfach durch

Code:
if (PreisDb < 10) {
    PreisDb += 2;
    VersandtDb = 2;
} else {
    PreisDb += 3;
    VersandtDb = 3.0;
}

Noch ein Tip(p): Gewöhn dir langsam an, Bezeichner für Variablen mit kleinem Anfangsbuchstaben zu schreiben[/i]
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Binäre Suche Fehler überall =( Java Basics - Anfänger-Themen 2
C Erste Schritte Bereich angeben bzw Fehler Suche Java Basics - Anfänger-Themen 6
I Reflection: Suche Feld + in Unterklassen Java Basics - Anfänger-Themen 7
LimDul Suche Java Stream Tutorial Java Basics - Anfänger-Themen 2
M Suche Resteasy Example Java Basics - Anfänger-Themen 24
B Beliebiger String gegeben Suche Datum in String Java Basics - Anfänger-Themen 6
M binäre Suche im Intervall Java Basics - Anfänger-Themen 6
M binäre Suche Java Basics - Anfänger-Themen 4
H Suche Java3D 32 bit Java Basics - Anfänger-Themen 20
amelie123456 Lineare Suche / Binäre Suche Java Basics - Anfänger-Themen 2
F Suche nach betreuender Person für eine Jahresarbeit der 12. Klasse. Java Basics - Anfänger-Themen 6
K Warum ist die binäre Suche bei der verketteten Liste nicht so effektiv? Java Basics - Anfänger-Themen 3
H Suche jemanden für kleine Uni-Abgabe/ mit Vergütung Java Basics - Anfänger-Themen 1
RudiRüssel Binäre Suche, unsortiert, lokales Maximum Java Basics - Anfänger-Themen 15
Y Suche von Studenten anhand Ihrer Eigenschaften. Java Basics - Anfänger-Themen 1
F Auf der Suche in π Java Basics - Anfänger-Themen 13
C Suche Nachhilfe in Java Java Basics - Anfänger-Themen 5
T Binärbaum-Suche Implementation Java Basics - Anfänger-Themen 6
A suche dringend Hilfe!! Java Basics - Anfänger-Themen 6
N Operatoren Schreibtischtest der Reihen-Suche nach Aufschluss in die Basics Java Basics - Anfänger-Themen 1
B Suche free SVN Hosting Java Basics - Anfänger-Themen 12
S Binäre-Suche Algorithmus Java Basics - Anfänger-Themen 1
S Java Lineare-Suche Zeitmessung Java Basics - Anfänger-Themen 5
S Java Lineare Suche Java Basics - Anfänger-Themen 1
S Binäre-Suche bei unsortierten Daten Java Basics - Anfänger-Themen 7
E Die richtige Suche in der API Java Basics - Anfänger-Themen 1
S suche nach varible POSITION ... fuer das pixel-maennchen Java Basics - Anfänger-Themen 4
E Weg-Suche-Problem rekursiv Java Basics - Anfänger-Themen 12
B Suche Programme mit Fehlern Java Basics - Anfänger-Themen 9
jaleda100 Component für Suche Java Basics - Anfänger-Themen 4
L Suche ein sampel Projekt Java Basics - Anfänger-Themen 2
P Suche Aufwandsgenerator (o-notation) Java Basics - Anfänger-Themen 1
S Suche aktuelles 2D Grafik Tutorial Java Basics - Anfänger-Themen 5
M Suche hilfe bei Array Java Basics - Anfänger-Themen 4
L Binäre Suche mit Comparator Java Basics - Anfänger-Themen 5
J Methoden Suche effiziente Implementierung für eine Methode Java Basics - Anfänger-Themen 3
D Ich suche nach einer Möglickeit den Webseiten Inhalt per Java zu analysieren Automatisch Java Basics - Anfänger-Themen 3
B String: suche nach Wörter und in List<String> speichern Java Basics - Anfänger-Themen 3
D Erste Schritte Suche Quelltext Java Basics - Anfänger-Themen 7
M Rekursion Minimums Suche Java Basics - Anfänger-Themen 12
J Suche Hilfestellung Java Basics - Anfänger-Themen 10
G Erste Schritte Suche Java Programmierer für kleines Projekt Java Basics - Anfänger-Themen 1
J Suche die Emailadresse Java Basics - Anfänger-Themen 6
H Suche in Text und Markierung Java Basics - Anfänger-Themen 14
H Suche in einem Text Java Basics - Anfänger-Themen 17
H Erste Schritte Binäre Suche Java Basics - Anfänger-Themen 37
J Suche simples Beispiel für die EOFException Java Basics - Anfänger-Themen 1
H Rekursion Binäre Suche Java Basics - Anfänger-Themen 2
L Binäre Suche Java Basics - Anfänger-Themen 2
L Linerae Suche in einem sortierten Array Java Basics - Anfänger-Themen 2
N Array, lineare Suche, binäre Suche, Programm bleibt unerwartet stehen... Java Basics - Anfänger-Themen 6
I Innerhalb einer Methode suchen und hinzufügen. Neues Objekt in Suche dann? Java Basics - Anfänger-Themen 8
B Binäre Suche - Junit Test Java Basics - Anfänger-Themen 6
L Einfache Lineare Suche Java Basics - Anfänger-Themen 7
J Binäre Suche eines Array Java Basics - Anfänger-Themen 5
M Methoden Binäre Suche als rekursive Variante Java Basics - Anfänger-Themen 5
D Suche nach der Anzahl von Zonen zwischen zwei Punkten Java Basics - Anfänger-Themen 2
M Benutzerdefinierte Suche in einem String - outofbounds Java Basics - Anfänger-Themen 7
X Best Practice SUCHE ein gutes Javabuch! (kein Anfang von 0) Java Basics - Anfänger-Themen 5
B Binäre Suche in einem String Array Java Basics - Anfänger-Themen 10
A Heap Space Error bei rekursiver Suche in Dateien trotz nur einer Zeile im Speicher Java Basics - Anfänger-Themen 26
M Rekursive Suche in einem Feld Java Basics - Anfänger-Themen 11
S Suche richtigen Typ für Variabel mit den Werten (neu, gebraucht, beschädigt) Java Basics - Anfänger-Themen 7
M Best Practice Programmierstil Graphen-A*-Suche Java Basics - Anfänger-Themen 5
M Suche Hilfe bei sehr kleinen Quelltexten Java Basics - Anfänger-Themen 2
E Suche Klasse die eine Bedinung prüft und einen von zwei Auswahlwerten zurückgibt... Java Basics - Anfänger-Themen 6
D Erste Schritte suche hilfe für db-anbindung Java Basics - Anfänger-Themen 36
S Java Servlet - Suche Java Basics - Anfänger-Themen 1
P Hashing suche Java Basics - Anfänger-Themen 4
K Suche Hilfe bei einfachem Java Code ( Debuggen ) Java Basics - Anfänger-Themen 1
J Variablen Auf der suche nach einem Befehl Java Basics - Anfänger-Themen 2
Farbenfroh Suche Übungsaufgaben: BinaryTree, Stack Java Basics - Anfänger-Themen 0
D Binärbaum Suche Java Basics - Anfänger-Themen 5
U Vererbung Suche Hilfe anhand eines Bsp. Java Basics - Anfänger-Themen 1
L Suche Programmier-Projekt mit Anleitung Java Basics - Anfänger-Themen 3
A Suche Programmierer für Android App Java Basics - Anfänger-Themen 1
H Suche Vergleichstabelle für die Klassen String und StringBuilder Java Basics - Anfänger-Themen 1
X [SUCHE]Mitentwickler Java Basics - Anfänger-Themen 10
P Methoden suche funktion die char wert ausgibt wenn man numerischen wert und radix angibt Java Basics - Anfänger-Themen 1
D Binare Suche Java Basics - Anfänger-Themen 1
L Suche in dreidimensionalen Arrays Java Basics - Anfänger-Themen 3
P Lineare Suche im Array Java Basics - Anfänger-Themen 5
X verschachtelte suche Java Basics - Anfänger-Themen 8
T Sortieren/Suche klappt nicht ganz (String Array) Java Basics - Anfänger-Themen 2
S Erste Schritte Suche nach einem guten JAVA-Buch (Definition im Thread) Java Basics - Anfänger-Themen 6
G suche den Begriff & wie programmiere ich sowas (ich ändere den Titel dann) Java Basics - Anfänger-Themen 2
M suche/brauche Links über rein GUI Beispielprogramme Java Basics - Anfänger-Themen 4
I Suche Component welches Map ähnelt Java Basics - Anfänger-Themen 11
D Binäre Suche für Integerarray in rekursiver Funktion Java Basics - Anfänger-Themen 5
G Erste Schritte Suche nach Zeichenkette Java Basics - Anfänger-Themen 26
steffomio Suche brauchbares I18N Lib Java Basics - Anfänger-Themen 4
J Suche Tipps zum erstellen von Algorithmen Java Basics - Anfänger-Themen 5
D Artikel-Suche implementieren Java Basics - Anfänger-Themen 7
S suche nach eclipse plug-in Java Basics - Anfänger-Themen 3
W Compiler-Fehler Binäre Suche Java Basics - Anfänger-Themen 2
R Suche Regex Ausdruck für HTML Java Basics - Anfänger-Themen 11
K Suche geeignete Code-Beispiele Java Basics - Anfänger-Themen 4
P Suche Java Programme mit gutem/anfängertauglichem Quellcode Java Basics - Anfänger-Themen 8
I Suche Compiler in Java SDK Java Basics - Anfänger-Themen 5
R String in Strig Suche Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben