# gerade und ungerade Zahl ermitteln



## mercury87 (25. Jan 2005)

Man soll eine beliebige natürliche zahl eingeben können und die maschiene soll feststellen ob es eine gerad zahl ist oder nicht.wenn ja sie ausgeben,wenn nein eine fehlermeldung bringen.
habe mir überlegt jeweils immer durch 2 zu teilen wenn der datentyp der zahl "integer" ist soll er sie ausgeben wenn sie "double" ist fehlermeldung...aber wie realisiere ich das??sitz jetzt schon paar stunden und bekomme es nicht hin...need help!THX

_Edit von L-ectron-X: Titel aussagekräftiger gemacht._


----------



## bygones (25. Jan 2005)

tipp: schau dir den modulo operator an %


----------



## jptc.org (25. Jan 2005)

Naja Eingabe einlesen; neuen Integer anlegen; wenn kein int Wert eingegeben wurde, dann fliegt eine Exception. Diese Exception fangen und eigene Fehlermeldung ausgeben. Wenn Integer erzeugt dann intValue geben lassen und das Ergebnis von Wert mod 2 (Wert % 2) sich anschauen, wenn Ergebnis ungleich 0 dann wars wohl keine gerade Zahl. So das wars.

Ich hoffe der Telegrammstil ist ausreichend. Zu den einzelnen Themen (Integer anlegen...) findest Du in diesem Forum schon millionen Beiträge  :###


----------



## bygones (25. Jan 2005)

Der Telegramstil ist meiner Ansicht nach vollkommen ausreichend - ist ja schon fast Pseudcode ;=)


----------



## blink999 (25. Jan 2005)

Hi leute hab eigentlich das gleiche problem wie Mercury 87,hab mit euren antworten bisschen was ausprobiert,komm aber irgendwie zu keinem ergebnis...
wenn es nicht all zuviel arbeit ist könnte dann jemand von euch JavaPros*g* mal nen JavaCode entwerfen?Wäre cool!


----------



## Illuvatar (25. Jan 2005)

Mehr als jpct wird dir hier, glaube(hoffe) ich, keiner helfen. Außer du hättest schon einen Ansatz.


----------



## kopfsalat (25. Jan 2005)

Bei ints kannst Du auch gucken, ob das rechteste Bit gesetzt ist (dann ungerade, sonst gerade)


----------



## Sum999 (25. Jan 2005)

```
import java.io.*;
public class Rechteck 
{
	
	public static void main(String args[])
	throws IOException
	{
	int Geben_sie_eine_Zahl_ein, i;
        
           
        double Ergebnis, j;
        
         
         BufferedReader  br = new BufferedReader(
                       new InputStreamReader(System.in));
         
         
         System.out.println("Geben sie eine Zahl ein");
		Geben_sie_eine_Zahl_ein=Integer.parseInt(br.readLine());
                
                Ergebnis=Geben_sie_eine_Zahl_ein/2;
                
              if("Ergebnis"+"2"=="i") System.out.println();
                                                        
                System.out.println("Ergebnis: "+ Ergebnis); 
         
	}
}
```



----
das is mein ansatz... :roll:


----------



## Roar (25. Jan 2005)

jptc.org hat gesagt.:
			
		

> Wert mod 2 (Wert % 2) wenn Ergebnis ungleich 0 dann wars wohl keine gerade Zahl.


----------



## mic_checker (25. Jan 2005)

btw. wenn du in deinen Programmen immer solche Variablennamen verwendest wie "Geben_sie_eine_Zahl_ein" kannst du dich schon mal freuen 

Variablennamen sollten schon etwas kürzer sein...Ansonsten wurde in dem Thread schon alles gesagt.

1 % 2 = 1
2 % 2 = 0


----------



## kopfsalat (26. Jan 2005)

Herr, erbarme Dich unser.  :gaen: 


```
import java.io.*;
class IstGerade
{
    public static void main (String [] args)
    {
        System.out.println("Mit modulo-operator %");
        for (int zahl = -10; zahl <= 10; zahl++)
        {
            boolean istGerade = (zahl % 2 == 0);
            System.out.println(zahl + "  ist gerade: " + istGerade);
        }
        
        System.out.println("\n\nMit Bit-Testen");
        for (int zahl = -10; zahl <= 10; zahl++)
        {
            boolean istGerade = ((zahl & 1) == 0);
            System.out.println(zahl + "  ist gerade: " + istGerade);
        }
        
    }
}
```


----------



## mic_checker (26. Jan 2005)

Da fällt mir ein, man könnte das ganze ja auch über wechselseitige Rekursion lösen 

Also eine Methode istGerade und eine istUngerade....aber das wäre wohl mit Kanonen auf Spatzen geschossen


----------

