Java: silnia z rekurencją

Bash, C, C++, Java, PHP, Ruby, GTK, Qt i wiele innych - wszystko tutaj.
Awatar użytkownika
xmonx
Piegowaty Guziec
Piegowaty Guziec
Posty: 2
Rejestracja: 07 sty 2010, 16:15
Płeć: Mężczyzna
Wersja Ubuntu: 10.04
Środowisko graficzne: GNOME
Architektura: x86

Java: silnia z rekurencją

Post autor: xmonx »

Witam serdecznie mam problem mianowicie chodzi mi o skrypt rekurencji, kompilację i samo otwarcie programu:

Kod źródłowy:

Kod: Zaznacz cały

import java.util.Scanner;

class Silnia {
   /*
    * Metoda oblicz rekursywnie silnie liczby n
    * @param int n Liczba dla ktorej zostanie obliczona silnia
    * @return int
    */
  public static int silnia(int n) {
     if (n == 1) {
        return 1;
     }
     return n * silnia(n-1);
   }

   /*
    * Metoda main pobiera z pierwszego argumentu wywolania konsolowego
    * liczbe dla ktorej obliczy silnie a nastepnie wypisz wynik na ekran
    * @param String args[]
    * @return void()
    */
  public static void main(String args[]) {
     int n;
     System.out.print("Proszę podać liczbę, dla której ma być obliczona silnia: ");
     Scanner in = new Scanner(System.in);
     n = in.nextInt();
     System.out.print("Twój wynik to: ");
     System.out.print(silnia(n));
    }
} 
po odpaleniu:

Kod: Zaznacz cały

$ java -classpath "." Silnia
błąd:

Kod: Zaznacz cały

Exception in thread "main" java.lang.NoClassDefFoundError: Silnia
Caused by: java.lang.ClassNotFoundException: Silnia
	at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
Could not find the main class: Silnia. Program will exit.
Pomocy?? :cry:
vermer
Serdeczny Borsuk
Serdeczny Borsuk
Posty: 107
Rejestracja: 24 lis 2008, 14:09
Płeć: Mężczyzna
Wersja Ubuntu: 10.10
Środowisko graficzne: GNOME
Architektura: x86_64

Re: Java: silnia z rekurencją

Post autor: vermer »

Hmm tak z konsoli mi też nie chce się odpalić ale po wklejeniu i odpaleniu w NetBeansie działa więc jedyne co mi przychodzi na myśl to odpalaj w NetBeansie:)
Awatar użytkownika
xmonx
Piegowaty Guziec
Piegowaty Guziec
Posty: 2
Rejestracja: 07 sty 2010, 16:15
Płeć: Mężczyzna
Wersja Ubuntu: 10.04
Środowisko graficzne: GNOME
Architektura: x86

Re: Java: silnia z rekurencją

Post autor: xmonx »

Wolałbym z konsoli odpalić jednak ;/

problem rozwiązany:
cd /ściezka/do/katalagou/z/plikiem
javac silnia.java
java -classpath "." Silnia

I działa ;]

To może teraz ma któs POMYSŁ jak napisać wersje bez rekurencji??
Awatar użytkownika
thalcave
Przyjaciel
Przyjaciel
Posty: 821
Rejestracja: 08 lis 2006, 12:17
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: Fluxbox
Architektura: x86

Re: Java: silnia z rekurencją

Post autor: thalcave »

Nie lubię javy więc napisze to ogólnie:
silnia=1
pętla i od 1 do n:
silnia = silnia * i
xfermi
Piegowaty Guziec
Piegowaty Guziec
Posty: 23
Rejestracja: 22 lis 2010, 11:52
Płeć: Mężczyzna
Wersja Ubuntu: 10.10
Środowisko graficzne: GNOME
Architektura: x86_64

Re: Java: silnia z rekurencją

Post autor: xfermi »

Could not find the main class: Silnia. Program will exit.


pisze jak byk


zamiast class Silnia daj Main bo nie uzywasz namespaceów (tzw packages)

inaczej zapakuj to w package np ja.Silnia i pozniej w konsoli

java Silnia ja.Silnia
bigfun
Serdeczny Borsuk
Serdeczny Borsuk
Posty: 109
Rejestracja: 20 mar 2011, 19:08
Płeć: Mężczyzna
Wersja Ubuntu: 11.04
Środowisko graficzne: GNOME
Architektura: x86
Lokalizacja: Warszawa
Kontakt:

Re: Java: silnia z rekurencją

Post autor: bigfun »

@xfermi napisał 2 posty wyżej, że rozwiązał problem.

z drugiej strony do autora tematu - wrzuć "solved" do tytułu i zadaj drugie pytanie w oddzielnym temacie, żeby nie robić bałaganu. (szczególnie, że temat tego postu zawiera słowo kluczowe "rekurencja", a Twoje drugie pytanie jest o coś przeciwnego).
"Never argue with idiot. He will drag you down to his level and then beat with experience."

Nie udzielam pomocy poza forum.
ODPOWIEDZ

Wróć do „Programowanie”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 22 gości