www.vorhilfe.de
Vorhilfe

Kostenlose Kommunikationsplattform für gegenseitige Hilfestellungen.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
Navigation
 Startseite...
 Neuerdings beta neu
 Forum...
 vorwissen...
 vorkurse...
 Werkzeuge...
 Nachhilfevermittlung beta...
 Online-Spiele beta
 Suchen
 Verein...
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
Forum "Softwaretechnik und Programmierung" - Java Switch-case
Java Switch-case < Softwaretechnik+Pro < Praktische Inform. < Hochschule < Informatik < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Softwaretechnik und Programmierung"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Java Switch-case: logische Operatoren
Status: (Frage) beantwortet Status 
Datum: 11:23 Di 09.10.2012
Autor: Maurizz

Aufgabe
Zahlenraten

Starte ich das Programme kommt:
error: incompatible types
case eingabe < 0
required int
found boolean

Von C kenne ich das er einfach vergleicht und ausführt. Hab ich nicht mit Integer.parseInt bereits zu int konvertiert? wegen der Fehlermeldung "required int". Oder muss ich noch eine boolean Variable definieren und in die switch Anweiung einfügen und jedes mal mit "falls true/false" etc. arbeiten?

import javax.swing.JOptionPane;

public class Zahlenraten
{
public static void main(String[] args)
{
int zahl = 6;
int eingabe;

eingabe = Integer.parseInt(JOptionPane.showInputDialog("Geben sie eine Zahl zwischen 0 und 10 ein: "));

switch (eingabe)
{
case eingabe < 0:
JOptionPane.showMessageDialog(null ,"Die Zahl ist kleiner 0...");
case eingabe > 0:
JOptionPane.showMessageDialog(null ,"Die Zahl ist größer 0...");
case eingabe == zahl:
JOptionPane.showMessageDialog(null ,"Richtige Zahl!");
case eingabe < zahl:
JOptionPane.showMessageDialog(null ,"Daneben.");
case eingabe > zahl:
JOptionPane.showMessageDialog(null ,"Daneben.");
break;
}
}
}

        
Bezug
Java Switch-case: Antwort
Status: (Antwort) fertig Status 
Datum: 13:44 Di 09.10.2012
Autor: felixf

Moin!

> Zahlenraten
>  Starte ich das Programme kommt:
>  error: incompatible types
>  case eingabe < 0
>  required int
>  found boolean
>  
> Von C kenne ich das er einfach vergleicht und ausführt.
> Hab ich nicht mit Integer.parseInt bereits zu int
> konvertiert? wegen der Fehlermeldung "required int". Oder
> muss ich noch eine boolean Variable definieren und in die
> switch Anweiung einfügen und jedes mal mit "falls
> true/false" etc. arbeiten?

Das Problem ist nicht das parseInt. Es liefert immer einen int zurueck, und schmeisst eine Exception falls es die Eingabe nicht versteht.

Das Problem ist die switch-Anweisung, genauer gesagt die case-Faelle. Schau dir mal genau an, wie so ein case-Fall aussehen darf. Bei dir hast du hinter case einen Vergleich, dessen Ergebnis nunmal ein Wahrheitswert ist - also ein boolean. Ein case braucht aber eine ganze Zahl (int).

Das ist genauso wie in C.

LG Felix


Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Softwaretechnik und Programmierung"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
www.mathebank.de
[ Startseite | Forum | Wissen | Kurse | Mitglieder | Team | Impressum ]