Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
hi leute, ich hoffe ihr könnt mir bei diesem kleinen problem lösen.
eclipse bringt mir immer die meldung, das "endBetrag" und "lieferKosten" nicht initialisiert wurden, dabei ich, ich hätte es getan...woran könnte das liegen??? vielen dank im voraus, claudio
Java:
//Klasse Scanner importieren
import java.util.Scanner;
public class TarifWarenRechnungSymKons {
static final double MWST_PROZENT = 8.4;
static final double Tarif = 0.015;
static double berechnung(int anzahl, double preis, double meter) {
double betragExkl = (preis * anzahl);
double mwst = (betragExkl / 100 * MWST_PROZENT);
double lieferKosten = meter * Tarif;
double endBetrag = betragExkl + mwst + lieferKosten;
return betragExkl + mwst + lieferKosten;
}
public static void main(String[] args) {
// Einen Scanner deklarieren und instanzieren
Scanner scanner = new Scanner(System.in);
// lokale Variablen deklarieren
String artikel;
int anzahl;
double preis;
double meter;
double endBetrag;
double lieferKosten;
//double betragExkl;
//double berechnung = betragExkl + mwst + lieferKosten;
//double mwst;
// Daten jeweils nach Prompt einlesen
System.out.print("Bitte Artikel angeben: ");
artikel = scanner.nextLine();
System.out.print("Bitte Anzahl angeben: ");
anzahl = scanner.nextInt();
System.out.print("Bitte Preis angeben: ");
preis = scanner.nextDouble();
//System.out.println("bitte angeben ob eine lieferung stattfand ---> J/N);
System.out.print("Bitte angeben wie lange der Lieferweg war:");
meter = scanner.nextDouble();
// Daten ausgeben
System.out.println(anzahl + " x " + artikel + "=" +[COLOR="Red"]endBetrag[/COLOR]);
System.out.println("+");
System.out.println([COLOR="Red"]lieferKosten[/COLOR] + "Fr.- Lieferkosten");
System.out.println("=");
System.out.println();
System.out.println([COLOR="Red"]endBetrag[/COLOR]);
System.out.println();
System.out.println();
System.out.println("Zu zahlender Betrag inkl. MWST: " + berechnung(anzahl, preis, meter) + "Fr.-");
eclipse bringt mir immer die meldung, das "endBetrag" und "lieferKosten" nicht initialisiert wurden, dabei ich, ich hätte es getan...woran könnte das liegen???
Es liegt schlicht einfach daran, dass Du Du sie NICHT initialisiert hast
Du deklarierst die Varibalen zwar, weist ihnen aber keine Werte zu !!
Java:
double endBetrag;
double lieferKosten;
Du kannst diese nicht initialisierten Variablen nicht einfach mit println() ausgeben !!
Vermutlich fehlt die Berechnung !!
lieferKosten und endBetrag sind in dieser Methode nur lokale Variablen, deren Wert nie zurückgegeben wird. In der main-Methode legst du dann noch einmal lokale Variablen an, die genauso heißen und die aber (wie andere schon schrieben) eben nie initialisiert werden.
Bitte lies doch den Beitrag von Haave. Du musst dir mal den unterschied von globalen Variablen (Klassenvariablen) und lokalen Variablen zu Gemüte führen.
danke das hab ich schon alles kapiert...aber wie muss ich es dann schreiben, damit ich einen innerhalb einer methode errechneten wert, ausserhalb der methode wiederverwenden kann...nur ein einfaches beispiel, damit ich das prinzip verstehe... danke