Guten Tag,
wir sollen für die Uni einen Code implementieren, welche über die Eingabeaufforderung mit dem Befehl
"java Euclid x y" den größten gemeinsamen Teiler für x und y ausrechnet.
Leider konnte ich das bisher nur über einen Scanner lösen, was die Aufgabe jedoch nicht so wie vorgesehen erfüllt.
Mein Programm sieht wie folgt aus :
import java.util.InputMismatchException;
import java.util.Scanner;
public class Euclid {
public static void main (String[] args) {
try {
Scanner s = new Scanner(System.in);
System.out.println ("Geben sie die erste Zahl ein : ");
int a = s.nextInt();
System.out.println ("Gebend sie die zweite Zahl ein : ");
int b = s.nextInt();
System.out.println("Der größte gemeinsame Teiler ist : " + euclid (a,b));
s.close();
}
catch (InputMismatchException e) {
System.out.println ("Es dürfen nur Zahlen eingegeben werden");
}
catch (IllegalArgumentException e) {
System.out.println("Beide Zahlen müssen positiv sein");
}
}
public static int euclid (int a, int b) {
if (a >= 0 && b >= 0 )
{
if (b == 0) return a;
else return euclid (b, a%b);
}
else
{
throw new IllegalArgumentException();
}
}
}
Leider kann man hier nicht mit dem Befehl "java Euclid x y " arbeiten, sondern nur das Programm aufrufen und in der Eingabeaufforderung selber
Zahlen einfügen und die ausrechnen lassen.
Hat jemand vielleicht ein paar Tipps, wie ich das so implementiert bekomme, dass ich die Aufgabenstellung richtig erfülle ?
wir sollen für die Uni einen Code implementieren, welche über die Eingabeaufforderung mit dem Befehl
"java Euclid x y" den größten gemeinsamen Teiler für x und y ausrechnet.
Leider konnte ich das bisher nur über einen Scanner lösen, was die Aufgabe jedoch nicht so wie vorgesehen erfüllt.
Mein Programm sieht wie folgt aus :
import java.util.InputMismatchException;
import java.util.Scanner;
public class Euclid {
public static void main (String[] args) {
try {
Scanner s = new Scanner(System.in);
System.out.println ("Geben sie die erste Zahl ein : ");
int a = s.nextInt();
System.out.println ("Gebend sie die zweite Zahl ein : ");
int b = s.nextInt();
System.out.println("Der größte gemeinsame Teiler ist : " + euclid (a,b));
s.close();
}
catch (InputMismatchException e) {
System.out.println ("Es dürfen nur Zahlen eingegeben werden");
}
catch (IllegalArgumentException e) {
System.out.println("Beide Zahlen müssen positiv sein");
}
}
public static int euclid (int a, int b) {
if (a >= 0 && b >= 0 )
{
if (b == 0) return a;
else return euclid (b, a%b);
}
else
{
throw new IllegalArgumentException();
}
}
}
Leider kann man hier nicht mit dem Befehl "java Euclid x y " arbeiten, sondern nur das Programm aufrufen und in der Eingabeaufforderung selber
Zahlen einfügen und die ausrechnen lassen.
Hat jemand vielleicht ein paar Tipps, wie ich das so implementiert bekomme, dass ich die Aufgabenstellung richtig erfülle ?