Advertisement
Guest User

Untitled

a guest
Apr 19th, 2018
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.58 KB | None | 0 0
  1.  
  2. public class Euklid
  3. {
  4. public static void main( String[] args )
  5. {
  6. //Bei Programmaufruf müssen genau zwei Argumente übergeben worden sein sonst Fehlermeldung
  7. if( args != null && args.length == 2 && args[0] != null && args[1] != null)
  8. {
  9.  
  10. //Argumente als int-Werte initialisieren
  11. //Der Aufruf von parseInt( String s ) kann NumberFormatException verursachen bei sinnlosem String-Argument
  12. int a = Integer.parseInt( args[0] );
  13. int b = Integer.parseInt( args[1] );
  14.  
  15. //Prüfen, ob Zahlen für die Suche eines ggT(a,b) sinnvoll sind sonst Fehlermeldung
  16. if( a < 1 || b < 1 )
  17. {
  18. throw new IllegalArgumentException( "Falsche Eingabeparameter! Es werden zwei ganze, positive Zahlen als Argumente erwartet!" );
  19. }
  20. else
  21. {
  22. System.out.println("Der groesste gemeinsame Teiler von "+a+" und "+b+" ist "+calculateGcd( a , b ));
  23. }
  24. }
  25. else
  26. {
  27. throw new IllegalArgumentException( "Falsche Eingabeparameter! Es werden zwei ganze, positive Zahlen als Argumente erwartet!" );
  28. }
  29. }
  30.  
  31.  
  32. private static int calculateGcd( int v1, int v2 )
  33. {
  34. if (v1 != 0 & v2 != 0)
  35. {
  36. if ( v1 > v2 )
  37. {
  38. return calculateGcd( v1 % v2, v2);
  39. }
  40. else
  41. {
  42. return calculateGcd( v1, v2 % v1);
  43. }
  44. }
  45. return v1 + v2;
  46. }
  47. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement