If-Anweisung

Status
Nicht offen für weitere Antworten.

babuschka

Top Contributor
Hallo Community,
habe eine Aufgabe vor mir liegen habs zwar programmiert aber funkitoniert nicht einwandfrei. Entweder ich versteh die Frage nicht oder ich habe etwas falsch programmiert.

Die Aufgabe lautet:

Erstellen Sie eine Methode absolut, die als Parameter einen float-Wert erhält und als
Rückgabewert den Absolutwert zurückliefert. Verwenden Sie dazu die IF-Anweisung.

Testen Sie die Funktionalität, indem Sie eine Methode testAbsolut (ohne Rückgabewert)
entwickeln, die unter Verwendung der Input-Klasse einen float-Wert einliest und dann den Absolutwert ausgibt.

Meine Lösung:

Java:
public class Main {

        public static void main(String[] args) {
        System.out.println(absolut(1));
    }
    public static float absolut(float f){
        float i=1;
        float ergebnis=1;

        if(i<f){
        i++;
        
        System.out.println(i+"."+ergebnis);
        }
        ergebnis=Math.abs(f);
        return ergebnis;

        
        }
}

Irgendwie funkitoniert bei mir die ABS() Methode nicht. Außerdem wie soll ich If Schleife oben in der Main Methode ausgeben?Es wird ja nur das ausgegeben,was bei return steht und nicht die Schleife?Was mache ich denn FALSCH? DANKE
 
Zuletzt bearbeitet von einem Moderator:

Verjigorm

Top Contributor
1) if ist keine schleife ...
2) Math.abs() sollst du sicher NICHT benutzen!

Teste mit if auf größer oder kleiner 0, ganz einfach
Jeder Zweig hat seinen eigenen return-wert
 

0x7F800000

Top Contributor
Was mache ich denn FALSCH?
was zum Henker ist das denn?
Java:
        float i=1;
        float ergebnis=1;
 
        if(i<f){
        i++;
        
        System.out.println(i+"."+ergebnis);
        }
30.gif
 

0x7F800000

Top Contributor
Warum denn keine abs() Methode?Da steht doch Absolutwert was ist denn mit Absolutwert gemeint?
Weil es deine Hausaufgabe ist, solltest du sie lösen. Dass die Entwickler von Java wissen, wie man den Betrag einer Zahl rausfindet, brauchst du nicht zu überprüfen.
bin halt anfänger kein wunder oder das sowas rauskommt?
Doch, es ist durchaus ein Wunder... Was sollte dieser code denn ungefähr darstellen? Der muss doch irgendeinen minimalen Sinn haben?? :eek:
 

tfa

Top Contributor
Wenn f kleiner ist als 0, multipliziere f mit -1.0 und gib das als Ergebnis zurück, sonst, gib f als Ergebnis zurück.

So, und da machst du jetzt Java-Code draus.
 

babuschka

Top Contributor
Weil es deine Hausaufgabe ist, solltest du sie lösen. Dass die Entwickler von Java wissen, wie man den Betrag einer Zahl rausfindet, brauchst du nicht zu überprüfen.

ich habe lange versucht seit 2-3 stunden krieg ich es immer noch nicht hin! Was soll ich machen wenn es nicht mehr weiter geht? Außerdem versteh ich die frage nicht!!!
 

babuschka

Top Contributor
Weil es deine Hausaufgabe ist, solltest du sie lösen. Dass die Entwickler von Java wissen, wie man den Betrag einer Zahl rausfindet, brauchst du nicht zu überprüfen.

Doch, es ist durchaus ein Wunder... Was sollte dieser code denn ungefähr darstellen? Der muss doch irgendeinen minimalen Sinn haben?? :eek:

tja ich blicks halt nicht deswegen bin ich ja hier um hilfe zu holen!!!!
 

0x7F800000

Top Contributor
ich habe lange versucht seit 2-3 stunden krieg ich es immer noch nicht hin! Was soll ich machen wenn es nicht mehr weiter geht?
3 Stunden für Betragsfunktion? Ja, keine Ahnung... Schreib die Lösungen von irgendeinem Klassenkameraden ab, mogele dich irgendwie bis zum Abi durch, und vergiss danach, dass du jemals Informatik gehabt hast? :bahnhof: Ist ja nix schlimmes, das muss man bei manchen Fächern eben einfach machen, wenn man mit den absolut *hust* nicht klarkommt. Keine Sorge, im "Alltag" wirst du sowas wohl echt nicht brauchen... :noe:

EDIT: moment, du kennst einfach das Wort "absolut" nicht? Dann ist es wohl was anderes^^

Du solltest einfach eine Methode schreiben, die den Betrag einer Zahl zurückgibt... Du hast doch selbst schon [c]Math.abs()[/c] verwendet, du kannst doch jetzt nicht sagen, dass du nicht weißt was gemeint war???
 
Zuletzt bearbeitet:

babuschka

Top Contributor
Wikipedia zeigt nach 2 Sekunden:



Pseudocode:


Und das Ganze nun in java ;)

Java:
public class Main {


    public static void main(String[] args) {
    System.out.println(absolut(5));
    }

    public static float absolut(float f){

        if(f>0){
            System.out.println(f);
            }
            else{
            return f*-1;
            }
             
    }
}

nun ensteht aber ein fehler undzwar return wird nicht gefunden wie kann ich es aber sonst ausgeben? Parameter ist ja vorhanden so steht es ja auch in der aufgabe nun muss ich es aber mit return ausgeben aber wie und an welcher stelle?
 

tfa

Top Contributor
Du sollst f nicht ausgeben, sondern mit return zurück geben. Genau wie im else-Fall.
 

babuschka

Top Contributor
Du sollst f nicht ausgeben, sondern mit return zurück geben. Genau wie im else-Fall.

Java:
public class Main {

    public static void main(String[] args) {
    System.out.println(absolut(-5));
    }
    public static float absolut(float f){

        if(f>0){
            return f;
            }
            else{
            return f*-1;
            }
             
    }
}

alles klar vielen dank!
 

hdi

Top Contributor
Übrigens ist es ja nicht nötig, 0 mit -1 zu mulitplizieren, bevor du 0 zurückgibst. Also mach aus dem > ein >=
 

hdi

Top Contributor
Andrey, schlägst du das nur aus optischen Gründen vor? Also -f ist doch nicht schneller als f*-1, ich denk mal das macht er ja eh oder? und Dieses ?: (keine Ahnung wie man das nennt^^) ist auch nicht schneller als if-else? Also das ist ne Frage, ich weiss es nicht.

edit: @TO ich würde das aber nicht so stark ändern wie Andrey vorschlägt, denn es ist einigermaßen offensichtlich dass du
a) entweder dich gut mit Java beschäftigst hast und es als Fleißaufgabe noch schöner schreiben wolltest
b) oder es aus einem Forum geklaut hast...

Musst du wissen, ob dir dein Lehrer ersteres abkauft. Sicherheitshalber würde ich es aber so lassen wie du es hast..
 
Zuletzt bearbeitet:

ARadauer

Top Contributor
meint java auch


Java:
**
     * Returns the absolute value of an <code>int</code> value.
     * If the argument is not negative, the argument is returned.
     * If the argument is negative, the negation of the argument is returned. 
     * 
     * <p>Note that if the argument is equal to the value of
     * <code>Integer.MIN_VALUE</code>, the most negative representable
     * <code>int</code> value, the result is that same value, which is
     * negative.
     *
     * @param   a   the argument whose absolute value is to be determined
     * @return  the absolute value of the argument.
     * @see     java.lang.Integer#MIN_VALUE
     */
    public static int abs(int a) {
	return (a < 0) ? -a : a;
    }
 

0x7F800000

Top Contributor
Andrey, schlägst du das nur aus optischen Gründen vor? Also -f ist doch nicht schneller als f*-1, ich denk mal das macht er ja eh oder? und Dieses ?: (keine Ahnung wie man das nennt^^) ist auch nicht schneller als if-else? Also das ist ne Frage, ich weiss es nicht.
Am ende dürfte es vollkommen egal sein, der compiler wird wohl beide Version 1:1 in dasselbe übersetzen. Aber wenn eine Methode höchstens eine zeile verdient, dann kriegt sie auch nur eine, und nicht 9^^:
Java:
public static float abs(float x){ return x>=0?x:-x; }
Hab mich schon so sehr an Scala-Konvention gewöhnt, würde ich hier sogar die Klammern in dieselbe Zeile quetschen (das mach ich bei nervigen gettern/settern eh schon seit längerem)...
Final_Striker hat gesagt.:
ich denke mal, für anfänger ist seine eigene lösung verständlicher als diese abkürzende schreibweise.
Der ist seit über 8 Monaten registriert :autsch:
Ich weiß nicht, ob er selbst dran schuld ist, dass er in info-unterricht reingeraten ist, oder das bescheuerte Schulsystem, das einem irgendwelche lästigen Sachen aufzwingt: jedenfalls ist das genau diese Art von unnötigen Konflikten, über die ich mich immer wieder so gerne aufrege :(
 
Zuletzt bearbeitet:

ARadauer

Top Contributor
der Kern der Lösung des Anfängers war

Java:
ergebnis=Math.abs(f);

Sicher besser und gültig wenn die Aufgabe es war eine Funktion zu schreiben die den Absolutwert zurück liefert...
 

0x7F800000

Top Contributor
Sicher besser und gültig wenn die Aufgabe es war eine Funktion zu schreiben die den Absolutwert zurück liefert...
Aha, und der Sinn von 2 jahre java in der Schule + 5 jahre java an der Uni besteht dann wohl ausschließlich darin, 10000 mal das wrappen der methoden aus dem Fremdcode zu üben, d.h. ausschließlich einzeilige weiterleit-methoden zu schreiben? :rolleyes:
 

Landei

Top Contributor
Java:
public static double abs(double d) { return Math.sqrt(d*d); }
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
T If anweisung Java Basics - Anfänger-Themen 5
C Scanner und If-Anweisung in Kombi Java Basics - Anfänger-Themen 3
Fats Waller Compiler-Fehler Kann ich einen String und die Summe zweier Char Werte mittels der println Anweisung ausgeben Java Basics - Anfänger-Themen 4
AlexVo String zu Java Anweisung getString("*** java code ***") Java Basics - Anfänger-Themen 19
R Wie würde hier die if-Anweisung aussehen? Java Basics - Anfänger-Themen 18
B break Anweisung Java Basics - Anfänger-Themen 13
C Wie kann ich einen User Input mit einer If-Anweisung verbinden? Java Basics - Anfänger-Themen 5
T Not a Statement/Illegal Start of expression bei for Anweisung Java Basics - Anfänger-Themen 6
H Cäsar chiffrierung ohne if-Anweisung Java Basics - Anfänger-Themen 5
D kann man vor dem CSVRecord, replace Anweisung anwenden ? Java Basics - Anfänger-Themen 2
B Erste Schritte if Anweisung mit Wert Übernahme Java Basics - Anfänger-Themen 3
C Anweisung Java Basics - Anfänger-Themen 11
C HashMap - alle keys haben values der letzten put-Anweisung Java Basics - Anfänger-Themen 3
W Warum funktioniert meine if Anweisung nicht? Java Basics - Anfänger-Themen 8
K if Anweisung Java Basics - Anfänger-Themen 3
W Erste Schritte Warum funktioniert mein Programm nicht ? ~if Anweisung~ Java Basics - Anfänger-Themen 4
V Erste Schritte Warum geht meine continue Anweisung nicht? Java Basics - Anfänger-Themen 8
DaCrazyJavaExpert [SQL] SQL als Anweisung mit Spezial-Fall EclipseEclipse Java Basics - Anfänger-Themen 8
J If Anweisung in Schleife einbinden Java Basics - Anfänger-Themen 7
JavaNewbie2.0 Zur Anweisung zurück Java Basics - Anfänger-Themen 13
J Erste Schritte Vorsicht Spaghetti-Code! Wie verschachtel ich meine If-Anweisung??? Java Basics - Anfänger-Themen 4
L if-Anweisung Java Basics - Anfänger-Themen 5
DontFeedTheTroll Erste Schritte Verständnisfrage zu If-Anweisung Java Basics - Anfänger-Themen 7
P Erste Schritte Taschenrechner mit if-else Anweisung Java Basics - Anfänger-Themen 6
Q Variablen If Anweisung, kleiner fehler Java Basics - Anfänger-Themen 8
M Probleme mit Anzeigen von String in GUI und if-Anweisung Java Basics - Anfänger-Themen 9
L If Anweisung mit ArrayList Probleme Java Basics - Anfänger-Themen 6
OlafHD String in einer If-Anweisung Vergleichen Java Basics - Anfänger-Themen 2
N Rekursion mit if-Anweisung Java Basics - Anfänger-Themen 10
P if anweisung Java Basics - Anfänger-Themen 8
L Frage zur while Anweisung Java Basics - Anfänger-Themen 10
F Return-Anweisung Java Basics - Anfänger-Themen 2
B If-anweisung per ja eingabe. Java Basics - Anfänger-Themen 2
C Variablen if Anweisung falsch gesetzt Java Basics - Anfänger-Themen 4
1 Bei if-Anweisung: Syntax error on token Java Basics - Anfänger-Themen 5
A for-Schleife, if-Anweisung Java Basics - Anfänger-Themen 4
A if - Anweisung Java Basics - Anfänger-Themen 6
R Erste Schritte Schleife erzeugen (mit If Anweisung) Java Basics - Anfänger-Themen 3
P Bei Switch-Anweisung wird default-Anweisung angezeigt Java Basics - Anfänger-Themen 4
M if, else Anweisung Java Basics - Anfänger-Themen 3
O This in switch anweisung Java Basics - Anfänger-Themen 5
M Throws Anweisung innerhalb eines Methodenkopfes unklar Java Basics - Anfänger-Themen 4
F Erste Schritte Switch case vs. Verschachtelte If Anweisung Java Basics - Anfänger-Themen 11
M If-Anweisung (Objekt nachdem es gegessen wurde, mehrmals auftauchen lassen) Java Basics - Anfänger-Themen 3
F Fehler in der Swich-Anweisung aber Warum? Java Basics - Anfänger-Themen 4
A if-Anweisung zwischen zwei Punkten Java Basics - Anfänger-Themen 1
T Problem mit IF-Anweisung. Java Basics - Anfänger-Themen 3
B Erste Schritte Addition von double in switch-Anweisung Java Basics - Anfänger-Themen 2
W return-Anweisung gibt nichts aus Java Basics - Anfänger-Themen 5
H Leere Anweisung Java Basics - Anfänger-Themen 24
S Methoden Return Anweisung beendet Methode nicht, stattdessen wird diese zweimal durchlaufen Java Basics - Anfänger-Themen 3
F Reset in der switch Anweisung Java Basics - Anfänger-Themen 3
V Frage zur IF Anweisung Java Basics - Anfänger-Themen 40
Bluedaishi Klassen Thread über if Anweisung starten und von anderer Klassen über Button Beenden Java Basics - Anfänger-Themen 34
H Worauf bezieht sich die erste else-Anweisung Java Basics - Anfänger-Themen 9
H Verständnisfrage für oder Anweisung Java Basics - Anfänger-Themen 8
D Denkfehler in der If-Anweisung Java Basics - Anfänger-Themen 3
K if anweisung Java Basics - Anfänger-Themen 13
M Erste Schritte Break-Anweisung bei if-else Java Basics - Anfänger-Themen 6
T Erste Schritte switch case Anweisung und if else Verzweigungen? Java Basics - Anfänger-Themen 6
S probleme mit der return anweisung Java Basics - Anfänger-Themen 20
K Methoden while Anweisung Java Basics - Anfänger-Themen 81
D Frage zu der import Anweisung in Java Java Basics - Anfänger-Themen 15
K Wann genau brauche ich die Anweisung gleich null? Java Basics - Anfänger-Themen 10
W "switch" Anweisung - Rechenzeichen? Java Basics - Anfänger-Themen 5
I Methoden Wochenkalendar switch anweisung fehlt Java Basics - Anfänger-Themen 4
D Verschachtelte IF-Anweisung Java Basics - Anfänger-Themen 10
C If-Anweisung Java Basics - Anfänger-Themen 22
C Switch Anweisung Frage Java Basics - Anfänger-Themen 8
M Bedingte Anweisung mit Boolean Java Basics - Anfänger-Themen 2
Luk10 Frage zu Switch-Anweisung Java Basics - Anfänger-Themen 11
C Umgebungsvariable import anweisung gibt fehlermeldung Java Basics - Anfänger-Themen 2
A if Anweisung in Schleife Java Basics - Anfänger-Themen 10
C Erste Schritte switch Anweisung geht nicht Java Basics - Anfänger-Themen 3
R fif-Anweisung funktioniert nicht wie erwartet Java Basics - Anfänger-Themen 11
B IF-Anweisung hat einen Fehler Java Basics - Anfänger-Themen 5
C unklare anweisung Java Basics - Anfänger-Themen 11
F if Anweisung mit Rückgabewert? Java Basics - Anfänger-Themen 4
C Problem bei if-anweisung Java Basics - Anfänger-Themen 8
J print-Anweisung verschluckt Java Basics - Anfänger-Themen 3
K return-Anweisung am Beispiel eines Palindroms Java Basics - Anfänger-Themen 18
F Problem bei if-Anweisung Java Basics - Anfänger-Themen 5
J Switch mit if anweisung kombinieren Java Basics - Anfänger-Themen 2
D Frage zu Exceptions und der import Anweisung Java Basics - Anfänger-Themen 12
R Return Anweisung übergibt Variablen nicht Java Basics - Anfänger-Themen 4
W Problem While-Anweisung Java Basics - Anfänger-Themen 6
S import - Anweisung; Setzen der Classpath Java Basics - Anfänger-Themen 2
E IF Anweisung mit logischen Operatoren Java Basics - Anfänger-Themen 18
B problem mit der return anweisung Java Basics - Anfänger-Themen 11
M '-1' in switch anweisung Java Basics - Anfänger-Themen 2
B import Anweisung Java Basics - Anfänger-Themen 2
A Super-Anweisung in abstrakter Klasse Java Basics - Anfänger-Themen 12
T Schleife mit return Anweisung Java Basics - Anfänger-Themen 3
S OOP This anweisung Java Basics - Anfänger-Themen 6
B fehlende return anweisung? Java Basics - Anfänger-Themen 17
A Return Anweisung von Methoden Java Basics - Anfänger-Themen 15
L Verstehe den Wert nicht! If-Anweisung Java Basics - Anfänger-Themen 5
J Was genau davon ist Anweisung, was Deklaration? Java Basics - Anfänger-Themen 2
S SQL Anweisung mittels PreparedStatement Java Basics - Anfänger-Themen 15
L if else anweisung Java Basics - Anfänger-Themen 2

Ähnliche Java Themen


Oben