# Java Einsteiger (boolean, if-else etc.)



## DERTUTNIX (14. Nov 2011)

Guten Tag liebe Java- Freunde ,
ich versuche seit Kurzem Java selbstständig zu erlernen, da ich im Kommenden Jahr ein Informatik Studium antreten will und nicht unwissend erscheinen möchte. Bin jetzt an folgenden Aufgaben am bearbeiten und weiss nicht genau weiter . Bitte um Rat.

Graf Zahl hat eine Vorliebe für bestimmte Zahlen. Entwickeln
Sie für jede Teilaufgabe je ein Programm, welches ermittelt ob
die eingegebene Zahl seinen Vorlieben entspricht.
a) Eine schöne Zahl ist durch 2 teilbar (und/)oder negativ.
b) Eine hervorragende Zahl ist entweder durch 2 oder
durch 3 teilbar. Die Zahl 6 ist beispielsweise nicht
hervorragend.
c) Zahlen die geteilt durch 4 einen Rest 1 ergeben und
durch 5 einen Rest von 3 ergeben sind niedlich.
Erstellen Sie ein funktionierendes Java-Programm, welches maximal einen if-else-Block
enthält. Die Ausgabe sollte jeweils true lauten wenn die Zahl den Wünschen von Graf Zahl
entspricht, ansonsten false.

1. Übung Programmierung I : Java - Seite 2 von 2
2. Aufgabe:
Gegeben sei folgender Algorithmus:
Eingabe:
jahr: beliebige ganze Zahl
Verarbeitung:
<<Berechnung des booleans istSchaltjahr, true wenn jahr ein Schaltjahr ist, ansonsten
false>>
Ausgabe:
istSchaltjahr: true oder false
Erstellen Sie ein funktionierendes Java-Programm, welches maximal einen if-else-Block
enthält.
Bedenken Sie:
• Alle 4 Jahre ist ein Schaltjahr (wenn das Jahr ohne Rest durch 4 teilbar ist)
• Alle 100 Jahre ist kein Schaltjahr
• Alle 400 Jahre ist doch ein Schaltjahr
Beispiele:
• 1900 war kein Schaltjahr -> Ausgabe = false
• 1996 war ein Schaltjahr -> Ausgabe = true
• 2000 war auch ein Schaltjahr -> Ausgabe = true

Zu den Aufgaben habe ich folgende Grundgerüste erstellt. ( Kommt im nächsten Kommentar )!


----------



## DERTUTNIX (14. Nov 2011)

zu aufgabe 1A

```
import static inout.InOut.*;

public class GrafZahlA {

    public static void main(String[] args) {
        //Eingabe
        Integer zahl = new Integer(0);
        input(zahl);
        
        //Verarbeitung (ab hier das Programm editieren)
        boolean istSchoen = false;
        
        //Ausgabe (hier nicht mehr editieren)
        System.out.print(zahl);
        System.out.print(" ist eine schöne Zahl: ");
        output(istSchoen);
    }

}
```

zu 1B


```
import static inout.InOut.*;

public class GrafZahlB {

    public static void main(String[] args) {
        //Eingabe
        Integer zahl = new Integer(0);
        input(zahl);
        
        //Verarbeitung (ab hier das Programm editieren)
        boolean istHervorragend = false;
        
        //Ausgabe (hier nicht mehr editieren)
        System.out.print(zahl);
        System.out.print(" ist eine hervorragende Zahl: ");
        output(istHervorragend);
    }

}
```
Zu 1 C

```
import static inout.InOut.*;

public class GrafZahlC {

    public static void main(String[] args) {
        //Eingabe
        Integer zahl = new Integer(0);
        input(zahl);
        
        //Verarbeitung (ab hier das Programm editieren)
        boolean istNiedlich = false;
        
        //Ausgabe (hier nicht mehr editieren)
        System.out.print(zahl);
        System.out.print(" ist eine niedliche Zahl: ");
        output(zahl + " ist eine niedliche Zahl: " + istNiedlich);
    }

}
```
und aufg 2

```
import static inout.InOut.*;

public class Schaltjahr {

    public static void main(String[] args) {
        //Eingabe
        Integer jahr = new Integer(0);
        input(jahr);
        
        //Verarbeitung (ab hier das Programm editieren)
        boolean istSchaltjahr = false;
        
        //Ausgabe (hier nicht mehr editieren)
        output(istSchaltjahr);
    }

    
}
```


----------



## VfL_Freak (14. Nov 2011)

Moin,



DERTUTNIX hat gesagt.:


> Bin jetzt an folgenden Aufgaben am bearbeiten und weiss nicht genau weiter . Bitte um Rat.



Woran genau hapert es denn resp. was ist Deine Frage ???:L

Gruß
Klaus


----------



## Landei (14. Nov 2011)

Zu 1 a):


```
boolean istSchoen = false;

if ( ??? ) {
   istSchoen = true;
}
```

Nun überlege mal, was du bei ??? prüfen musst. Wie würdest du auf eine gerade Zahl testen? Wie auf eine negative Zahl? Wie kann man beide Tests verknüpfen?

Hilfreich ist Galileo Computing :: Java ist auch eine Insel - 2 Imperative Sprachkonzepte


----------



## DERTUTNIX (14. Nov 2011)

also in worte gefasst zu 1a

<<eine  Zahl ist durch 2 teilbar>>

oder

<< die Zahl < 0>>


----------



## Landei (14. Nov 2011)

"a ist durch b teilbar" kann man auch ausdrücken als "a lässt bei Division durch b den Rest 0". Der Rest einer Division lässt sich in Java mit dem Operator % ("modulo") ermitteln. Wie sähe der Test also in Java aus?


----------



## DERTUTNIX (14. Nov 2011)

```
boolean istSchoen = false;
 
if ( zahl % 2) {
   istSchoen = true;
}
```

wie schreibe ich extra dazu dass, modulu rest 0 rauskommen muss?

und der zweite block müsste so sein denke ich dann..


```
if ( zahl < 0) {
   istSchoen = true;
}
```


----------



## langhaar! (14. Nov 2011)

DERTUTNIX hat gesagt.:


> ```
> wie schreibe ich extra dazu dass, modulu rest 0 rauskommen muss?
> ```



Moduloausdruck == 0


----------

