einer Variable KEINEN Wert zuweisen?

Status
Nicht offen für weitere Antworten.

Sowiedu

Mitglied
Hi, ich bin's nochmal ;-)

Habe ein Programm zur Mitternachtsformel geschrieben, für die die's noch nicht wissen, und habe nun folgendes Problem:

(erst der Code, zum verstehen:)

Code:
import java.util.*;
/**
  *
  * Programm zum berechnen von x1 und x2
  * mit der Mitternachtsformel
  *
  * @version 0.1 vom 08.12.2006
  * @P.P
  */

public class Mitternachtsformel {

  public static void main(String[] args) {
    Scanner eingabe = new Scanner(System.in);
    //Variablen
    double a, b, c, xeins, xzwei, xnull;
    //Begruessung
    System.out.println("Herzlich Willkommen zum Mitternachtsberechner 0.1");
    System.out.println();
    System.out.println("Bite geben Sie a, b und c ein: ");
    System.out.print("a: ");
    a = eingabe.nextDouble();
    System.out.print("b: ");
    b = eingabe.nextDouble();
    System.out.print("c: ");
    c = eingabe.nextDouble();
    System.out.println();
    //Verarbeitung
    if (b*b-4*a*c < 0) {

      //Ausgabe fuer Diskriminante < 0
      System.out.println("Wurzel ist negativ! --> Keine Loesung");
      
    }
    else if (b*b-4*a*c == 0) {
      xnull = (-b)/(2*a);
      //Ausgabe fuer Diskriminante == 0
      System.out.print("Wurzel ist genau 0! --> Eine Loesung: "+xnull);
      
    }
    else
    xeins = (-b+Math.sqrt(b*b-4*a*c))/(2*a);
    xzwei = (-b-Math.sqrt(b*b-4*a*c))/(2*a);
    //Endausgabe für alles andere
    System.out.println("x1 = "+xeins);
    System.out.println("x2 = "+xzwei);

    
    
    
  }
}


Also der Compiler bringt folgenden Error:
Mitternachtsformel.java:45: variable xeins might not have been initialized
System.out.println("x1 = "+xeins);
__________________^

1 error


Nun weiss ich ja, dass es vorkommen KANN, dass xeins kein wert zugewiesen werden kann.
Aber wie genau kann das passieren? und wenn es passieren kann, dann müsste ich ja theoretisch in den ersten beiden IF-Teilen einfach sagen, dass weder xeins, noch xzwei ein Wert zugewiesen wird.
Geht das irgendwie? Kann ich sagen

xnull = (nix, aber wie drück ich das aus? ^^)
 
S

SlaterB

Gast
jetzt rechnest du
b*b-4*a*c
schon viermal aus, schaue bitte nochmal in den vorherigen Thread..

du könntest
xeins =0;
am Anfang schreiben,
dann hast du einen Ausgangswert,
wenn der Wert anders werden soll dann musst du ihn ändern?!
 

Sowiedu

Mitglied
??? naja ich rechne den wert eben je nach fall aus.
Das mit dem xein = 0 setzen (z.B.) hab ich schon probiert, aber dann gibt er mir am ende aus "...blabla hat keine lösung", aber er gibt mir dann eben trotzdem noch

xeins = 0
xzwei = NaN

aus, kann man das nicht irgendwie eleganter lösen?
 

Yzebär

Bekanntes Mitglied
Wenn du im if- und else if-Zweig nach deiner Ausgabe ein "return" machst, sollte der Compiler auch nicht mehr meckern. Ansonsten beherzige den Ratschlag von Kollege Wildcard!

EDIT: Den Ratschlag des EHRENWERTEN Kollegen SlaterB!!!
 
S

SlaterB

Gast
ich muss jetzt Fernsehen (bin danach erstmal nicht mehr da)

und du musst
1.)
NOCH MAL DEN VORHERIGEN THREAD LESEN,
da steht am Ende was zum Vermeiden von '4x das gleiche ausrecnen'

2.)
genau sagen was du willst und was nicht geht,

die Fehlermeldung kommt, weil du einer Variablen nie einen Wert zugewiesen hast,
das ist verboten, nimm also immer irgendeinen Wert am Anfang, z.B. 0,
oder weise der Variablen in jedem else-Fall einen Wert zu oder oder

--------

was du sonst noch an Werten haben willst ist mir unklar,
beschreibe ganz genau was wann passieren soll,
aber eigentlich hast du ja nur ein einfaches Program mit einer if-Verzweigung,
da ist es doch nicht schwer in jedem Falle jeder Variablen das zuzuweisen was du möchtest..

edit

> Ratschlag von Kollege Wildcard

damit bin hoffentlich nicht ich gemeint ;)
obwohl, eine Ehre ;)
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
N Was Passiert mit dem Namen einer Variable, wenn man diese einer Liste Hinzufügt Java Basics - Anfänger-Themen 16
T Variable von Objekten in einer Methode überprüfen Java Basics - Anfänger-Themen 26
stormyark Fehler beim überschreiben einer Variable Java Basics - Anfänger-Themen 1
M Variable in einer Schleife initialisieren Java Basics - Anfänger-Themen 46
M Methoden Wert einer Variable geht verloren? Java Basics - Anfänger-Themen 6
Ameise04 Variablen Inhalt einer Variable im Code verwenden? Java Basics - Anfänger-Themen 9
Vivien Auf eine Variable von einer anderen Klasse aus zugreifen Java Basics - Anfänger-Themen 3
K Übergabe des Wertes einer Variable aus main() in eine Klassenmethode Java Basics - Anfänger-Themen 8
V Variablen statische Variable einer Objektvariable zuordnen Java Basics - Anfänger-Themen 3
L Variable von einer Methode zu einer anderen Methode inkl. einer "Zwischenmethode" Java Basics - Anfänger-Themen 1
A Wie zwei zahlen in einer Variable speichern? Java Basics - Anfänger-Themen 7
A OOP Variable in anderer Klasse durch Methode aufrufen und einer anderen Variable gleichsetzen Java Basics - Anfänger-Themen 2
J Ungewollte Wertveränderung einer Variable Java Basics - Anfänger-Themen 9
L Variable aus einer Klasse in einer anderen Klasse nutzen Java Basics - Anfänger-Themen 6
P Methode soll Variable einer anderen Klasse ändern. Wie? Java Basics - Anfänger-Themen 1
S Wie erstelle ich eine Vorbedingung für eine Variable einer Methode ? Java Basics - Anfänger-Themen 5
S Warum kann ich nicht mehr als eine Variable in einer for Schleife deklarieren ? Java Basics - Anfänger-Themen 1
J Wert eines Arrays einer Variable zuweisen, sobald der Wert eines anderen Arrays eintritt Java Basics - Anfänger-Themen 2
F Variablen If else: Einer Variable einen Wert hinzufügen oder so? Java Basics - Anfänger-Themen 6
D Aufruf einer statischen Variable Java Basics - Anfänger-Themen 1
D Einer Variable automatisch Zahlen hinzuaadieren Java Basics - Anfänger-Themen 3
H Innerhalb einer Methode eine Variable der aufrufenden Methode ändern? Java Basics - Anfänger-Themen 2
J Erste Schritte Problem mit einer bool-Variable in einem Bot-Programm Java Basics - Anfänger-Themen 1
H Variable einer anderen Klasse importieren Java Basics - Anfänger-Themen 2
OlafHD Variable aus einer anderen Klasse Verwenden Java Basics - Anfänger-Themen 11
J Wert einer Variable erhöhen Java Basics - Anfänger-Themen 5
F Inhalt einer Variable auswerten, die sich immer wieder ändert Java Basics - Anfänger-Themen 1
K Veränderung einer Variable von einer anderen Klasse aus Java Basics - Anfänger-Themen 12
S Umgebungsvariable Wert einer Variable global nutzen Java Basics - Anfänger-Themen 3
Z Greenfoot Variable in einer Datei und nicht in einem Objekt/World speichern Java Basics - Anfänger-Themen 1
Shams Synchronized-Schlüsselwort bei Inkrementierung einer statischen Variable Java Basics - Anfänger-Themen 13
W Klassen Variable einer anderen Klasse ändern (Threads) Java Basics - Anfänger-Themen 3
fLooojava Probleme bei der Übergabe einer Variable Java Basics - Anfänger-Themen 14
J Methode ".charAt()" einer "int" variable zuschreiben Java Basics - Anfänger-Themen 3
A Variablen Übergeben des Inhalts einer Variable in einen String Java Basics - Anfänger-Themen 17
M Auf die Variable einer anderen Klasse zugreifen Java Basics - Anfänger-Themen 9
M Variable aus einer anderen Klasse aktualisieren Java Basics - Anfänger-Themen 2
D Name einer Variable als String nutzen Java Basics - Anfänger-Themen 13
D Wert einer Variable in paint-Methode verwenden Java Basics - Anfänger-Themen 2
D JTextField verwenden ohne Eingabe einer Variable Java Basics - Anfänger-Themen 4
MiMa Mehrere Daten in einer Variable? Java Basics - Anfänger-Themen 25
I Variablen Wie initialisiert man in Java eine Variable ohne das Setzen von 0 oder einer anderen Zahl? Java Basics - Anfänger-Themen 8
P Kapselung Variable innerhalb einer inneren Klasse ansprechen ohne ein Objekt erzeugen zu müssen? Java Basics - Anfänger-Themen 6
D Wert einer Variable aus Klasse A mit Klasse B ändern Java Basics - Anfänger-Themen 11
W Klassen Kann eine Variable nicht aus einer Klasse bekommen Java Basics - Anfänger-Themen 9
L Variable einer ListenerKlasse nutzen Java Basics - Anfänger-Themen 3
C Sichbarkeit einer Variable Java Basics - Anfänger-Themen 31
E Methoden Variable aus einer anderen Methode in einer Methode aufrufen Java Basics - Anfänger-Themen 7
D Von einer Methode auf eine lokale Variable in der Main zugreifen? Java Basics - Anfänger-Themen 15
S Variable aus einer anderen Klasse verwenden Java Basics - Anfänger-Themen 3
B Werte der Variable aus Klasse JTextArea in einer Datei der Klasse RandomAcessFile speichern Java Basics - Anfänger-Themen 10
T Referenz einer Variable übergeben Java Basics - Anfänger-Themen 3
S Wert einer Variable printen Java Basics - Anfänger-Themen 2
B Wert einer Variable mit Listener ueberwachen Java Basics - Anfänger-Themen 3
B Wert einer String Variable an andere String Variable in anderer Klasse uebergeben Java Basics - Anfänger-Themen 5
B Datentypen Sichbarkeit einer Variable? Java Basics - Anfänger-Themen 3
E Variable aus einer Methode heraus in eine andere Klasse übergeben Java Basics - Anfänger-Themen 13
C FileWriter mit einer Variable Java Basics - Anfänger-Themen 8
B Variable einer Klasse in einer anderen Klasse nutzen Java Basics - Anfänger-Themen 14
R Stellen einer Variable auslesen Java Basics - Anfänger-Themen 4
S Wie überprüfe ich eine Zahl (in einer Char-Variable) auf einstelligkeit? Java Basics - Anfänger-Themen 8
D Funktionenübergreifender Transport einer Variable Java Basics - Anfänger-Themen 2
E Ein Objekt von zwei möglichen Klassen in einer Variable Java Basics - Anfänger-Themen 5
F Inhalt einer Variable per Code herausfinden? Java Basics - Anfänger-Themen 9
B einlesen einer variable im laufenden programm Java Basics - Anfänger-Themen 5
C Variable Zeichenkette innerhalb einer Schleife ersetzen Java Basics - Anfänger-Themen 4
F Verändern einer Variable im ActionListener Java Basics - Anfänger-Themen 14
N Wert einer Variable aus einem Javaproramm auslesen. Java Basics - Anfänger-Themen 2
C Variable dem Konstruktor einer Klasse übergeben Java Basics - Anfänger-Themen 8
D Variable einer Methode in anderer Methode aufrufen Java Basics - Anfänger-Themen 19
F Variable in einer Methode Java Basics - Anfänger-Themen 2
G Überschreiben einer Variable umgehen Java Basics - Anfänger-Themen 6
R JSP: Ausgabe einer entfernten Webseite in Variable einlesen Java Basics - Anfänger-Themen 2
N private variable vom typ einer klasse Java Basics - Anfänger-Themen 20
F Einer char-Variable "leeren" Inhalt zuweisen Java Basics - Anfänger-Themen 4
I VisualClass: Ausgabe einer Variable Java Basics - Anfänger-Themen 2
F Kann man den Namen einer Variable in ein String Konvertieren Java Basics - Anfänger-Themen 2
A Wert einer Variable an eine Methode in einer anderen Klasse. Java Basics - Anfänger-Themen 4
L Speicherort einer Variable Java Basics - Anfänger-Themen 8
M Übergeben einer Variable an actionPerformed(ActionEvent e)? Java Basics - Anfänger-Themen 5
L Auf aktualisierte Variable einer anderen Methode zugreifen Java Basics - Anfänger-Themen 15
P Instanz in einer Variable speichern ? Java Basics - Anfänger-Themen 4
M Ausgabe einer ArrayList ensteht nur als Hashcode, nicht als Objekt Java Basics - Anfänger-Themen 16
D 2 ArrayListen gleich sortieren bzw. eine Liste anhand einer anderen Sortieren Java Basics - Anfänger-Themen 6
ixChronos Letzten 4 Ziffern einer großen Zahl ausgeben Java Basics - Anfänger-Themen 3
P Objekt einer Methode eines anderen Objektes übergeben Java Basics - Anfänger-Themen 5
L Variablenwerte aus einer Methode übergeben Java Basics - Anfänger-Themen 2
E Arrays in einer ArrayList miteinander vergleichen Java Basics - Anfänger-Themen 12
Simon16 Java ArrayListe von einer Klasse sortieren Java Basics - Anfänger-Themen 2
Shadowrunner Variablen Gibt es eine Möglichkeit die Ziffern/Stellen einer Zahl fest zu legen? Java Basics - Anfänger-Themen 3
D remove Object von einer Liste von Obejcts Java Basics - Anfänger-Themen 3
FunkyPhil94 Wert in einer Lambda Funktion erhöhen Java Basics - Anfänger-Themen 3
T Aufruf der Methode einer Oberklasse, wenn sie in der Unterklasse überschrieben ist. Polymorphie. Java Basics - Anfänger-Themen 2
B Kommunikation mit Seriellen Schnittstellen + Integration einer lib Java Basics - Anfänger-Themen 1
A Daten aus einer HashMap aus einer DB speichern und mit neuen Werten vergleichen Java Basics - Anfänger-Themen 8
P Welches SDK für das erstellen einer ausführbaren Datei? Java Basics - Anfänger-Themen 4
D Länge einer Liste aufrufen. Java Basics - Anfänger-Themen 19
J Klassen Instanzen einer Klasse in einer anderen unabhängigen Klasse nutzen Java Basics - Anfänger-Themen 4
B Alle Strings bis zu einer Maimallänge aufzählen, die Bedingung erfüllen Java Basics - Anfänger-Themen 13
marcelnedza Finde meinen Fehler in einer Methode nicht, Java Karol Java Basics - Anfänger-Themen 15

Ähnliche Java Themen

Neue Themen


Oben