Guest User

Untitled

a guest
Apr 19th, 2018
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.33 KB | None | 0 0
  1. class Logarithmus
  2. {
  3.     public static void main (String args[])
  4.     {
  5.         double x;
  6.         double basis;
  7.         double a;
  8.         double b;
  9.  
  10.         if ( args.length == 1)
  11.         {                                   // Ein Argument auf der Kommandozeile
  12.             x = Double.parseDouble(args[0]);
  13.            
  14.             if (x==1)
  15.             {
  16.                 a = 0;
  17.             }
  18.             else if (x==0)
  19.             {
  20.                 System.out.println("ND");
  21.             }
  22.             else
  23.             {
  24.                 a = ln(x);
  25.                 System.out.println(a);
  26.             }
  27.         }
  28.         else if ( args.length == 2)    
  29.         {                                   // Zwei Argumente auf der Kommandozeile
  30.             x = Double.parseDouble(args[0]);
  31.             basis = Double.parseDouble(args[1]);
  32.            
  33.             if (x < 0 || basis < 0)
  34.             {
  35.                 b = Double.NaN;
  36.             }
  37.             else if (x==1 || basis == 1)
  38.             {
  39.                 b=0;
  40.             }
  41.             else if (x==0 || basis == 0)
  42.             {
  43.                 System.out.println("ND");
  44.             }
  45.             else
  46.             {
  47.                 b = logB(x,basis);
  48.                 System.out.println(b);
  49.             }
  50.         }
  51.         else
  52.             System.out.println(" Aufruf : Logarithmus <Wert > [<Basis >]");
  53.     }  
  54.    
  55.     public static double ln(double x)
  56.     {
  57.         double z;
  58.         double sum = 0.0;
  59.    
  60.         z=(x-1)/(x+1);
  61.        
  62.         double term = z;
  63.        
  64.         for (int i = 1; sum < sum + term; i=i+2)
  65.         {
  66.             sum = sum + term;
  67.             term = term*((z*z)/((i+2)/i));
  68.         }
  69.        
  70.         sum = sum * 2;
  71.            
  72.         return sum;
  73.        
  74.     }
  75.    
  76.     public static double logB(double x, double basis)
  77.     {
  78.         double b;
  79.        
  80.         b = (ln(x)/ln(basis));
  81.        
  82.         return b;
  83.     }
  84. }  
  85.     /*/
Add Comment
Please, Sign In to add comment