Verständnisfrage

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Verständnisfrage

    Guten Tag,

    ich bin ein ziemlicher Anfänger in Java und habe folgenden Text vorgesetzt bekommen. Die Sache soll eine lineareGleichung lösen, allerdings verstehe ich nicht ganz die Zusammenhänge in der Fallunterscheidung, bitte um Erklärung :( .


    Quellcode

    1. /**
    2. * Löst eine lineare Gleichung der Form: b*x + c = 0
    3. *
    4. * @author (x)
    5. * @version (x)
    6. */
    7. import java.applet.*;
    8. import java.awt.*;
    9. public class LinGlei
    10. {
    11. public void LinGlei()
    12. {
    13. float b, c;
    14. b = SimpleInput.getFloat("b = ");
    15. c = SimpleInput.getFloat("c = ");
    16. if ( b == 0 ){
    17. if ( c == 0 ){
    18. System.out.println("Diese Gleichung ist für alle reellen Zahlen richtig.");
    19. }
    20. else {
    21. System.out.println("Diese Gleichung ist für alle reellen Zahlen falsch.");
    22. }
    23. }
    24. else {
    25. System.out.println("x = "+ -c/b);
    26. }
    27. }
    28. }
    Alles anzeigen
  • wo genau ist das Problem?

    Der Code sagt:
    * wenn b & c null sind, dann ist die Lösung für alle Zahlen in R korrekt
    * wenn b null ist und c nicht, dann gibt es keine Lösung in R
    * ansonsten ist die Lösung - (c/b)

    Nochmal übersichtlicher geklammert

    Quellcode

    1. if(b == 0 && c == 0) {
    2. System.out.println("Diese Gleichung ist für alle reellen Zahlen richtig.");
    3. } else if(b == 0 && c != 0) {
    4. System.out.println("Diese Gleichung ist für alle reellen Zahlen falsch.");
    5. } else {
    6. System.out.println("x = "+ -c/b);
    7. }
  • Ich denke mal, das ist der Trick an der Sache, dass der Code so nicht richtig eingerückt ist.

    So sollte es sein:

    Quellcode

    1. if ( b == 0 )
    2. if ( c == 0 )
    3. System.out.println("Diese Gleichung ist für alle reellen Zahlen richtig.");
    4. else
    5. System.out.println("Diese Gleichung ist für alle reellen Zahlen falsch.");
    6. else
    7. System.out.println("x = "+ -c/b);



    btw, ohne klammern ists übersichtlicher :D