# Java: Switch



## ellegance (24. Jul 2014)

Hallo,
ich habe ein Problem bei dieser Aufgabe.

Erstellen Sie ein Java-Programm mit Hilfe des folgenden Programmgerüst:

import java.io.*;
import java.lang.Integer;

public class Rest
{
  public static void main(String args[]) {
    int i=Integer.parseInt(args[0]);
    int j=Integer.parseInt(args[1]);

    . . .

  }

}

Das Programm erhält als Kommandozeilenparameter zwei int-Werte. Ein Beispielaufruf  könnte wie folgt aussehen:

java Rest 23 44

Vervollständigen Sie den Programmcode durch die Umsetzung der folgenden Bedingungen:

Es soll zunächst der Rest der Division von i durch j berechnet werden (modulo).

Implementieren Sie nun eine switch-Anweisung, die unterscheidet ob die folgenden Bedingungen erfüllt sind:

· der Rest ist null. ("Der Rest ist null")

· der Rest ist eine einstellige Primzahl  ("Der Rest ist eine einstellige Primzahl")

· oder Rest ist ungerade  (aber keine einstellige Primzahl) ("Der Rest ist ungerade")

· keine der Bedingungen trifft zu. ("Keine der Aussagen trifft zu")

In allen Fällen soll der jeweils angegebene Text mittels System.out.println() ausgegeben werden. Nutzen Sie daher insbesondere die break-Anweisung!!!


Meine Lösung:

import java.io.*;
import java.lang.Integer;

public class Rest
{
  public static void main(String args[]) {
    int i=Integer.parseInt(args[0]);
    int j=Integer.parseInt(args[1]);
	int r;
    switch (r= i%j) {
		case 0: System.out.println("Der Rest ist null"); break;
		case 1: System.out.println("Der Rest ist ungerade"); break;
		case 2: System.out.println("Der Rest ist eine einstellige Primzahl"); break;
		default: if (r%2==1){
					if (r<=7)
						System.out.println("Der Rest ist eine einstellige Primzahl");
					else 
						System.out.println("Der Rest ist ungerade");
					}
				 else System.out.println("Keine der Aussagen trifft zu"); }
  }
  }

Mein Problem ist nun dass eclipse ganz oben bei der ersten Zeile ein Fehler sieht.
"The import java.io is never used"
was habe ich denn falsch gemacht? hoffe jmd kann mir da weiter helfen.

LG


----------



## VfL_Freak (24. Jul 2014)

Moin,

bitte *JAVA-Tags* benutzen  !!!!



ellegance hat gesagt.:


> Mein Problem ist nun dass eclipse ganz oben bei der ersten Zeile ein Fehler sieht.
> "The import java.io is never used"


das sollte wohl auch keine Fehlermeldung, sondern allenfalls eine _Warning_ sein!
Sprich der Hinweis darauf, das nicht aus diesem Include verwendet wird!
Du kannt ihn also einfach entfernen oder:
java - How to turn off "The import is never used" warning? - Stack Overflow

Gruß
Klaus


----------



## ellegance (24. Jul 2014)

Moin,

ja wenn ich es lösche und dann ausführe kommt diese Meldung:

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
	at Rest.main(Rest.java:6)


LG


----------



## knilch (24. Jul 2014)

> ja wenn ich es lösche und dann ausführe kommt diese Meldung:
> 
> Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
> at Rest.main(Rest.java:6)


Die Exception hat nichts damit zu tun, dass du den import von java.io gelöscht hast. 

Die Exception sagt aus, dass du auf Array-Element zugreiffen wolltest, das nicht existiert. args ist leer. Daher die Exception.

Versuchst du das mit Eclipse? Wenn ja, musst du Eclipse to Argumente mitgeben: Schau mal hier nach...


----------



## ellegance (26. Jul 2014)

danke


----------

