Dividieren mit Bedingung?

asassasa

Mitglied
Ich muss 2 Zahlen einlesen und Zahl1 durch Zahl2 dividieren.
Dabei darf zahl 2 keine 0 sein und eine entsprechende Meldung kommen hab das bisher..
und hier noch ml als Struktogramm dargestellt, beim Code komme ich leider nicht weiter.

ist das überhaupt so bisher richtig ? ^^


Java:
public class PraKTIKUM
{

    public static void main(String[] args)
        throws Exception
    {

        int a = 100;
        int b = 10;
     
    }

Struktogramm22.png
 
Wie würdest du denn "wenn(Bedingung), dann (Aktion)" nach Java übersetzen?

BTW, gemäß des Struktogramms müsste es:
Java:
int number1 = ...;
int number2 = ...;
lauten.
 
jetzt rechnet der das einfach aus.. gibt aber ohne zur prüfen "durch 0 zu dividieren ist nicht erlaubt" wieder.

Das "else" erlaubt er mir nicht.. also wird rot markiert..
Edit;

[CODE lang="java" highlight="11-14"16-16""]public class PraKTIKUM
{

public static void main(String[] args)
throws Exception
{

int number1 = 100;
int number2 = 10;

if (number2 == 0);

{
System.out.println("durch 0 zu dividieren ist nicht erlaubt");
}

else
{ java.lang.System.out.println
( number1/number2 ); }


}
}

[/CODE]

das spuckt er ohne das "else" aus.
durch 0 zu dividieren ist nicht erlaubt
10
 
Zuletzt bearbeitet:
Ein Semikolon beendet eine Anweisung.
Java:
if (number2 == 0); // HIER!
{
    System.out.println("durch 0 zu dividieren ist nicht erlaubt");
}

// das entspricht

if (number2 == 0) {
    // leerer Anweisungsblock
}

System.out.println("durch 0 zu dividieren ist nicht erlaubt");
 
wuhuuuu 😀 hat geklappt danke !!

Java:
public class PraKTIKUM
{

    public static void main(String[] args)
        throws Exception
    {

        int number1 = 100;
        int number2 = 10;
     
       if (number2 == 0)
       {
           System.out.println("durch 0 zu dividieren ist nicht erlaubt");
           }
       else
     
           { java.lang.System.out.println
                ( number1/number2 ); }
       
       
    }
}
 
Aktuell liest du allerdings die beiden Variablen noch nicht ein, falls das für die Erfüllung der Aufgabe wichtig sein sollte.

Außerdem solltest du dringend an deinen Einrückungen arbeiten. Die sind sehr verwirrend. In Java öffnet man die geschweifte Klammer i.d.R. noch in der Zeile der Anweisung. Deine ist die C# Variante. Auch machbar und auch nicht falsch, aber wie gesagt bei Java nicht so üblich und wenn, dann ziehe es auch einheitlich durch.
Java:
public class PraKTIKUM {

    public static void main(String[] args) throws Exception {

       int number1 = 100;
       int number2 = 10;
  
       if (number2 == 0) {
           System.out.println("durch 0 zu dividieren ist nicht erlaubt");
       }
       else {
           java.lang.System.out.println(number1 / number2);
       }
    }
}
Java:
public class PraKTIKUM
{
    public static void main(String[] args) throws Exception
    {
        int number1 = 100;
        int number2 = 10;
       
        if (number2 == 0)
        {
           System.out.println("durch 0 zu dividieren ist nicht erlaubt");
        }
        else
        {
           java.lang.System.out.println(number1 / number2);
        }
    }
}
 
Zuletzt bearbeitet:
Okay was fehlt denn genau beim einlesen, dachte das "int" wäre das einlesen ^^? ja ist wichtig für die Aufgabe, ist es im Struktogramm dann auch falsch?
Danke dir, dann achte ich jetzt auf die Klammern.
 
Okay was fehlt denn genau beim einlesen, dachte das "int" wäre das einlesen ^^? ja ist wichtig für die Aufgabe, ist es im Struktogramm dann auch falsch?
Danke dir, dann achte ich jetzt auf die Klammern.
Du deklarierst zwei Variablen und weist ihnen je einen Wert zu.

Üblicherweise würde man unter "Einlesen" etwas verstehen wie:

Geben Sie die erste Zahl ein:
100
Geben Sie die zweite Zahl ein:
10

wobei die Eingabe während das Programm läuft durch den Nutzer gemacht wird. Das funktioniert z.B. mittels Scanner oder BufferedReader.

Allerdings weiß ich natürlich nicht, ob du schon etwas in diese Richtung gelernt hast. Falls nicht, dann wird deine Lösung so schon passen.
 

Zurück
Oben