wahrscheinlich ein kleines Problem

PeterK

Mitglied
Hallo,

ich habe eine Übung die ToolBox heißt. Dabei ist eine passive Klasse zu schreiben, die mit Hilfe eine ausführbaren, bestimmte Werte auf Ihre Richtigkeit prüft. Mein Problem ist, dass in der Methode signum ein int Wert zurückgeliefert werden soll, über den Aktualparameter jedoch ein ein double wert geliefert wird. Natürlich bringt mir der Compiler anschließend die Fehlermeldung ...


Toolbox.java:56: missing return statement
}//end signum
^
So weit so gut, ich weiß nur nicht wie ich es hinbekomme, dass er mir die Werte 0, 1 und -1 zurückliefert. Natürlich könnte ich diese Werte auch über die System.out.println ausgeben, dass würde aber nicht der Aufgabenstellung meines Professors entsprechen und fällt somit auch als Lösung aus.

Ich wäre euch für eine kurze Antwort sehr dankbar. Anbei meine Quellcodes.


public class ToolBox
{

final double i = -10e-6;
final double j = 10e-6;



public boolean istNull(double dwert)
{
if ((dwert>=i)&&(dwert<=j))
{
return true;
}//end if
else
{
return false;
}//end else


}//end istNull



public boolean istGueltig(int iwert)
{
if ((iwert>9)&&(iwert<100)&&(iwert%4==0))
{
return true;
}//end if

else
{
return false;
}

}//end istGueltig

public int signum(double dwert)
{
if (dwert>0.0)
{
System.out.println("
}

if(dwert==0.0)
{
return 0;
}

if(dwert<0.0)
{
return -1;
}
}//end signum

public boolean istHexZiffer(char cwert)
{
if((cwert>='0')&&(cwert<='9'))
{
return true;
}

else if((cwert>= 'a')&&(cwert<='f'))
{
return true;
}
if((cwert>='A')&&(cwert<='F'))
{
return true;
}
else
{
return false;
}


}//end istHexZiffer




}//end class


//////////////////////////////////////////////////////////////////////////////////////////////////


public class ToolBoxTest
{

public static void main (String [] args)
{
int iwert =88;
double dwert =0.000002;
ToolBox tool_ref = new ToolBox();

if (tool_ref.istNull(dwert))
System.out.println("Wer:" + dwert + "ist innerhalb der Toleranz");

else
System.out.println("Wer:" + dwert + "ist außerhalb der Toleranz");

if (tool_ref.istGueltig(iwert))
System.out.println(iwert + "ist ein gueltiger Wert!");

else
System.out.println(iwert + "ist ein ungueltiger Wert!");



System.out.println(tool_ref.istHexZiffer('F'));
System.out.println(tool_ref.istHexZiffer('g'));
System.out.println(tool_ref.istHexZiffer('H'));
System.out.println(tool_ref.istHexZiffer('5'));



}//end main


}//end ToolBoxTest
 

darekkay

Bekanntes Mitglied
benutze bitte die Java-Tags hier im Forum...

Zu deinem Problem: deine Methode muss immer etwas zurückgeben. Das mach die Signum Methode aber nicht. Du fragst alles ab ("gilt das, dann return bla"). Und was, wenn das alles nicht zutrifft?
Lösung: zwischen dem letzten if und der schließenden Klammer das hier einfügen: return 1; (optional mit "else" davor, aber ist in dem fall nicht notwendig)
 

Der Müde Joe

Top Contributor
In dieser Methode:
Java:
public int signum(double dwert)
{
if (dwert>0.0)
{
System.out.println("");
}

if(dwert==0.0)
{
return 0;
}

if(dwert<0.0)
{
return -1;
}
}//end signum

Auch wenn es denn anschein macht (der Compiler weiss nicht das alle Fälle abgegolten sind ;-)

EDIT:
könntest einfach
if (grösser null)
else if (kleiner null)
else

dann klappts auch mit dem compiler..
 

PeterK

Mitglied
benutze bitte die Java-Tags hier im Forum...

Zu deinem Problem: deine Methode muss immer etwas zurückgeben. Das mach die Signum Methode aber nicht. Du fragst alles ab ("gilt das, dann return bla"). Und was, wenn das alles nicht zutrifft?
Lösung: zwischen dem letzten if und der schließenden Klammer das hier einfügen: return 1; (optional mit "else" davor, aber ist in dem fall nicht notwendig)

Sorry, wegen des Codes. Bin noch relativ neu hier und wusste nicht das es diese Möglichkeit gibt. Werde es aber definitiv beim nächsten mal so machen.

Bezüglich der Antwort komme ich aber trotzdem nicht ganz klar. Mir ist ja bewusst, dass ich immer auf jede Abfrage eine Antwort bringen muss, aber ich dachte das wäre gegeben, da ich ja immer die Abfrage mache und durch return einen Intwert zurückgebe. Es gibt ja nur die Möglichkeit dwert>0.0, dwert<0.0 und dwert==0. Verstehe nicht warum ich das nicht mit den drei If-Anweisungen lösen kann. Wahrscheinlich stehe ich auch voll auf dem Schlauch, aber bitte versucht mir das noch mal näher zu bringen.

Danke
 

andiv

Bekanntes Mitglied
Der müde Joe hat das eigentlich schon gesagt, der Compiler kann nicht erkennen dass du alle Möglichkeiten abgedeckt hast. Für den Compiler sieht das aus wie:
Java:
public int signum(double wert) {
    if(bedingung1) {
        return 1;
    }
    if(bedingung2) {
        return 0;
    }
    if(bedingung3) {
        return -1;
    }
    // Und was wird hier zurückgegeben?
}
 

Der Müde Joe

Top Contributor
Wie schon erwähnt: Für dich macht es den Anschein, dass alle Fälle abgegolten sind.
klar: grösser null, kleiner null, oder gleich null.
Der Compiler sieht aber nur
Wenn so..dann das
Wenn so..dann das
Wenn so..dann das.
...und was sonst? --> kein return?

Drum
Java:
if (x < 0 ) {

} else if (x > 0) {

} else {

}
Jetzt sieht der compiler
wenn kleiner ..so
wenn grösser ..so
sonst...immer das
 

PeterK

Mitglied
Wie schon erwähnt: Für dich macht es den Anschein, dass alle Fälle abgegolten sind.
klar: grösser null, kleiner null, oder gleich null.
Der Compiler sieht aber nur
Wenn so..dann das
Wenn so..dann das
Wenn so..dann das.
...und was sonst? --> kein return?

Drum
Java:
if (x < 0 ) {

} else if (x > 0) {

} else {

}
Jetzt sieht der compiler
wenn kleiner ..so
wenn grösser ..so
sonst...immer das

Ah ok, jetzt bin ich auch dabei. Hab hier so ein Java Buch das dieses Problem nicht beschreibt, aber als Lösungsweg eine Option mit drei if-Anweisungen hintereinander aufzeigt. Mit anderen Worten muss ich...
Java:
if (dwert>0.0)
		{
		return  1;
		}
			
				if(dwert<0.0) 
				{
				return -1;
				}	
				else 
				{		
				return 0;	
				}
... machen um das Problem zu beseitigen.
 

Der Müde Joe

Top Contributor
Das wäre die 2te Möglichkeit neben dem if.. else if.. else
Es kommt immer zu einem Ende. Spätestens im else..
Der Compiler ist zufrieden ;-)

EDIT:
da gäbs natürlich noch viele Varianten..
Java:
if (x < 0) {
} else {
 if( x > 0) {

 } else{
   // == 0
 }
}
//oder
if (x < 0) {
}
if(x > 0) {
}
return .. //== 0
//oder...
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
U kompilieren geht nicht wg. Formatierung wahrscheinlich Java Basics - Anfänger-Themen 7
G JFreeChart | Plot updaten bei neuem Dataset | wahrscheinlich "Thread-abhängig" Java Basics - Anfänger-Themen 3
D Hab mal eine Frage. ganz leicht wahrscheinlich :D Java Basics - Anfänger-Themen 6
N Wahrscheinlich ganz einfaches Problem, aber unverständlich! Java Basics - Anfänger-Themen 3
D RegEx Probleme - wahrscheinlich zu einfach. Java Basics - Anfänger-Themen 2
S Kleines Java-Projekt; Kassenprogramm Java Basics - Anfänger-Themen 7
Kotelettklopfer Kleines Testprogramm mit Interface und einer Usereingabe Java Basics - Anfänger-Themen 16
E Kleines Java-Projekt für Anfänger Java Basics - Anfänger-Themen 10
Koookie Kleines Frage - Antwort Programm (Anfänger) Java Basics - Anfänger-Themen 5
K Erstes kleines Spieleprojekt - Java GUI in HTML einbinden Java Basics - Anfänger-Themen 3
R Kleines Java Spiel funktioniert nicht. Java Basics - Anfänger-Themen 2
J Kleines Rechenprogramm Java Basics - Anfänger-Themen 13
G Erste Schritte Suche Java Programmierer für kleines Projekt Java Basics - Anfänger-Themen 1
Z Erste Schritte Kleines 2D. Spiel Objekt Bewegung funktioniert nicht Java Basics - Anfänger-Themen 2
B Input/Output Kleines Netzwerkproblem Java Basics - Anfänger-Themen 2
J OOP Kleines Schülerverwaltungsprogramm Java Basics - Anfänger-Themen 9
F Methoden Kleines Problem mit meinem Glücksrad... Java Basics - Anfänger-Themen 9
N ein kleines GUI mit einem hauch XML Java Basics - Anfänger-Themen 5
K Kleines Spiel auf Java programmieren Java Basics - Anfänger-Themen 2
T erstes kleines Programm Java Basics - Anfänger-Themen 17
S Kleines Quiz Programm Java Basics - Anfänger-Themen 4
C Hilfe - Kleines Programm macht mir Schwierigkeiten Java Basics - Anfänger-Themen 2
A Kleines Abbruch-Problem mit Do-While-Schleife Java Basics - Anfänger-Themen 4
K Ein kleines Rätsel Java Basics - Anfänger-Themen 2
E Erstes "kleines" Programm Java Basics - Anfänger-Themen 5
D kleines problem bei system.out.println schreibweise Java Basics - Anfänger-Themen 6
C Kleines Problem mit System.out.print Java Basics - Anfänger-Themen 1
A Best Practice Ideen für kleines Anfängerschulprojekt gesucht Java Basics - Anfänger-Themen 4
J kleines Karteikartenprogramm Java Basics - Anfänger-Themen 3
S Kleines Zeichen berechnen Java Basics - Anfänger-Themen 5
fLooojava kleines Projekt - Verwendung von Youtube Java Basics - Anfänger-Themen 22
E Array zu Liste - kleines Problem Java Basics - Anfänger-Themen 6
fLooojava Passwort generieren - kleines Programm Java Basics - Anfänger-Themen 15
H Kleines Prob Java Basics - Anfänger-Themen 5
J Vererbung Kleines Problem bei Vererbung! Java Basics - Anfänger-Themen 2
O Debug-Funktion mit Slick - Kleines Problem Java Basics - Anfänger-Themen 5
J Flaechen vergleichen/kleines Fehler? Java Basics - Anfänger-Themen 23
H Kleines Problem bei den Schleifen Java Basics - Anfänger-Themen 5
M Kleines Problem mit der Rekursion Java Basics - Anfänger-Themen 20
K Kleines Projekt Java Basics - Anfänger-Themen 2
T Kleines Game mit Kollision Java Basics - Anfänger-Themen 2
J Mal wieder ein kleines Toleranzproblem Java Basics - Anfänger-Themen 20
H kleines Spiel [Processing] Java Basics - Anfänger-Themen 7
T kleines problem mit switch case Java Basics - Anfänger-Themen 11
R Kleines Programm, benötige Hilfe! Java Basics - Anfänger-Themen 6
V Schon wieder ein kleines problem...dieses mal mit do-while loop Java Basics - Anfänger-Themen 9
R Login mit Datenbankabfrage: Kleines Problem! Java Basics - Anfänger-Themen 6
K Kleines Anfänger Problem bei der Abfrage Java Basics - Anfänger-Themen 8
X Kleines JMenuBar Problem Java Basics - Anfänger-Themen 8
D Kleines Abfrageproblem Java Basics - Anfänger-Themen 3
K kleines Rekursionsproblem Java Basics - Anfänger-Themen 7
P RSA Verschlüsselung kleines Problem Java Basics - Anfänger-Themen 5
B Suche kleines Java-Applet Java Basics - Anfänger-Themen 6
P Kleines Problemm mit einer NullPointerException Java Basics - Anfänger-Themen 2
R kleines Kunstprogramm "mkbox" perfektionieren Java Basics - Anfänger-Themen 13
P Kleines Projekt -> Große Überlegungen Java Basics - Anfänger-Themen 2
U Bitte Helfen kleines Spiel Java Basics - Anfänger-Themen 9
K Kleines Spiel / Daten speichern Java Basics - Anfänger-Themen 8
T Kleines Spiel realisieren - wie? Java Basics - Anfänger-Themen 6
H Kleines Problem mit der Polymorphie Java Basics - Anfänger-Themen 2
S "Kleines" Problem mit dem Timer Java Basics - Anfänger-Themen 4
K kleines Array-Problem Java Basics - Anfänger-Themen 6
C Kleines 2D Spiel. Problem. Java Basics - Anfänger-Themen 5
T Kleines Verständnissproblem mit Regex Java Basics - Anfänger-Themen 4
U Kleines Problem mit Konstruktor^^ Java Basics - Anfänger-Themen 7
S Kleines Kartenspiel mit Java Java Basics - Anfänger-Themen 2
D kleines Eclipse-Problem ! Java Basics - Anfänger-Themen 2
I Kleines Program, fehler? Java Basics - Anfänger-Themen 2
S kleines Würfelspiel Java Basics - Anfänger-Themen 10
0 Frage zu Architektur: Server eines kleines Spiels Java Basics - Anfänger-Themen 4
F kleines Programm für ungerade oder gerade Zahl. Java Basics - Anfänger-Themen 18
C kleines Menü erzeugen und anzeigen Java Basics - Anfänger-Themen 11
S Kleines TickTackTou Java Basics - Anfänger-Themen 10
O Kleines Problem mit Konstruktor mit Parametern aus generischer Klasse...oder so ;) Java Basics - Anfänger-Themen 2
M Kleines Problem mit Threads (synchronized) Java Basics - Anfänger-Themen 3
J Java, kleines denkproblem. :) Java Basics - Anfänger-Themen 4
N Kleines Problemchen mit ButtonGroup Java Basics - Anfänger-Themen 2
W ein kleines Projekt! Aber wie beginnen Java Basics - Anfänger-Themen 4
S Kleines Problem... NaN, Infinity? Java Basics - Anfänger-Themen 9
B Drag and Drop fähige Trackliste..nurnoch ein kleines Problem Java Basics - Anfänger-Themen 16
G Kleines Problem mit File Java Basics - Anfänger-Themen 7
O Neuen Blackberry 8800 oder Curve gegen kleines Programm Java Basics - Anfänger-Themen 9
Z kleines projekt Java Basics - Anfänger-Themen 3
G ein kleines java prog - hat aber einen fehler-bitte um hilfe Java Basics - Anfänger-Themen 5
GambaJo Brauche Bewertung + Tipps für mein kleines Projekt Java Basics - Anfänger-Themen 4
N Nur ein kleines Installationsproblem . Java Basics - Anfänger-Themen 5
G Kleines Problem mit Nimmspiel Java Basics - Anfänger-Themen 8
U kleines problem bei ner aufgabe :( Java Basics - Anfänger-Themen 8
G Kleines Problem mit Array Java Basics - Anfänger-Themen 14
S Kleines Programm mit ArrayList Java Basics - Anfänger-Themen 7
M Kleines Programm Java Basics - Anfänger-Themen 5
M DBCP - Kleines Beispiel Java Basics - Anfänger-Themen 3
R Unicode-Wert in Binär und Dezimal umformen - kleines Problem Java Basics - Anfänger-Themen 1
G Kleines Problem Java Basics - Anfänger-Themen 3
D kleines script abhaengig von Ordner Bilder kopieren Java Basics - Anfänger-Themen 11
G Kleines Grundsatzproblem Java Basics - Anfänger-Themen 5
S Ich habe ein kleines Problem mit meinem Übungsprogramm Java Basics - Anfänger-Themen 7
S Hab ein kleines Problem :) Java Basics - Anfänger-Themen 4
K kleines bild ausgeben Java Basics - Anfänger-Themen 4
D noch ein kleines Problem Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben