Obliczanie silni, silnik java, problem ze składnią

0

Potrzebuje pomocy ze składnią. Potrzebuje programu obliczającego silnie, niestety trafiłem na parę problemów i proszę o pomoc :) Program powinien przyjmować dwa parametry -s liczba gdzie -s jest przełącznikiem którego wystąpienie decyduje o wyliczeniu wartości silni, której parametrem jest liczba. Oraz potrzeba mi aby program był zabezpieczony przed niepoprawnym zachowaniem, jeśli parametry różnią się od oczekiwanych, jeśli użytkownik poda błędne parametry, tylko wtedy powinna pojawić się pomoc w postaci informacji o składni wywołania programu.

public class Test {


long silnia(long i)
{
	if (i==0) return 1;
	else
	return i*silnia(i-1);	
}
	
	public static void main(String[] args) {
	
		try {
			if (args[0].equals("-s")) // silnia
			{
				int x = Integer.parseInt(args[1]);
				System.out.println(silnia(x));				
			}
		}
		finally
		{
			System.out.println("Skladnia: -s <liczba>");
		}							
	}
}
 
1

Przy takiej budowie programu (wszystko w main) funkcja silnia musi być static.

public class Silnia {
 
 
static long silnia(long i)
{
        if (i==0) return 1;
        else
        return i*silnia(i-1);        
}
 
        public static void main(String[] args) 
        {
            boolean ok=(args.length>=2 && args[0].equals("-s"));
            if(ok)
            {  
                try
                {
                    int x = Integer.parseInt(args[1]);
                    System.out.println(silnia(x));                                
                }
                catch(NumberFormatException e)
                {
                    ok=false;
                }
            }
            if(!ok)
                System.out.println("Skladnia: -s <liczba>");
        }
}
0

Dzięki za pomoc

1 użytkowników online, w tym zalogowanych: 0, gości: 1