Twoje PC  
Zarejestruj się na Twoje PC
TwojePC.pl | PC | Komputery, nowe technologie, recenzje, testy
B O A R D
   » Board
 » Zadaj pytanie
 » Archiwum
 » Szukaj
 » Stylizacja

 
M E N U
  0
 » Nowości
0
 » Archiwum
0
 » Recenzje / Testy
0
 » Board
0
 » Rejestracja
0
0
 
Szukaj @ TwojePC
 

w Newsach i na Boardzie
 
OBECNI NA TPC
 
 » Shark20 02:49
 » MARC 02:08
 » RoBakk 01:51
 » Rybeck 01:27
 » Martens 01:06
 » rainy 00:57
 » spidi 00:42
 » Paweł27 00:36
 » m&m 00:35
 » rzymo 00:35

 Dzisiaj przeczytano
 41109 postów,
 wczoraj 25974

 Szybkie ładowanie
 jest:
włączone.

 
ccc
TwojePC.pl © 2001 - 2024
A R C H I W A L N A   W I A D O M O Ś Ć
    

Początki z Javą i problem typu musi działać, a nie chce , laciak88 18/03/09 16:15
Witam!
Przejde od razu do rzeczy. Eclipse pluje sie o 2 klamry (nie mam pojecia dlaczego, bo wydaje mi sie dobrze :)), a po poprawieniu tych klamr wywala mi takie cos:

java.lang.NoSuchMethodError: main
Exception in thread "main"


Kod programu wyglada nastepujaco:

import java.io.*;

class Utwor
{
public String utwor,wykonawca;
public double czas_trwania;
}

class CD
{
static String tytul_albumu, nazwa_wykonawcy, nazwa_wydawcy;
static int rok_wydania, cena_plyty;
static String str;
static Utwor tablica[]=new Utwor[25];
}

class kolekcja
{
static CD tablicap[]=new CD[10];
}

public static void wypelnij() throws IOException
{
InputStreamReader StrumienWejsciowy = new InputStreamReader(System.in);
BufferedReader BuforWejsciowy = new BufferedReader(StrumienWejsciowy);
for(int licznik=0;licznik<2;licznik++)
{
System.out.println("Podaj tytul albumu");
tablicap[licznik].tytul_albumu=BuforWejsciowy.readLine();
System.out.println("Podaj wykonawce");
tablicap[licznik].nazwa_wykonawcy=BuforWejsciowy.readLine();
System.out.println("Podaj wydawce");
tablicap[licznik].nazwa_wydawcy=BuforWejsciowy.readLine();
System.out.println("Podaj rok wydania plyty");
tablicap[licznik].rok_wydania=Integer.parseInt(BuforWejsciowy.readLine());
System.out.println("Podaj cene plyty");
tablicap[licznik].cena_plyty=Integer.parseInt(BuforWejsciowy.readLine());

for(int licznik2=0;licznik2<2;licznik2++)
{
System.out.println("Podaj utwor:");
tablicap[licznik].tablica[licznik2].utwor=BuforWejsciowy.readLine();
System.out.println("Podaj wykonawce");
tablicap[licznik].tablica[licznik2].wykonawca=BuforWejsciowy.readLine();
System.out.println("Podaj czas trwania");
tablicap[licznik].tablica[licznik2].czas_trwania=Double.parseDouble(BuforWejsciowy.readLine());
}
}
}

public static void wypisz()
{
for(int licznik=0;licznik<2;licznik++)
{
System.out.println("Tytul albumu"+"["+licznik+"]"+"="+tablicap[licznik].tytul_albumu);
System.out.println("Nazwa wykonawcy"+"["+licznik+"]"+"="+tablicap[licznik].nazwa_wykonawcy);
System.out.println("Wydawca"+"["+licznik+"]"+"="+tablicap[licznik].nazwa_wydawcy);
System.out.println("Rok wydania"+"["+licznik+"]"+"="+tablicap[licznik].rok_wydania);
System.out.println("Cena"+"["+licznik+"]"+"="+tablicap[licznik].cena_plyty);

for(int licznik2=0;licznik2<2;licznik2++)
{
System.out.println("Utwor"+"["+licznik2+"]"+"="+tablicap[licznik].tablica[licznik2].utwor);
System.out.println("Wykonawca"+"["+licznik2+"]"+"="+tablicap[licznik].tablica[licznik2].wykonawca);
System.out.println("Czas trwania"+"["+licznik2+"]"+"="+tablicap[licznik].tablica[licznik2].czas_trwania);
}
}
}

public static void main(String []arg) throws IOException
{
wypelnij();
wypisz();
}


Pewnie jakis glupi blad robie, ale nie mam pojecia o co chodzi, takze prosze o pomoc.
Pozdrawiam!

"To Alcohol! The cause of, and solution to, all of
life's problems."

  1. niezle advanced programownie , biEski 18/03/09 16:44
    gosciu to nie pascal, strasznie kaleczysz jave
    Zdefiniuj jakies metody print na obiekcie CD

    pozatym nie mozesz miec kilka klas w jednym pliku, o ile to nie sa podklasy klasy a u ciebie raczej nie sa

    wywal ta klamre po definicji pol dla klasy utwor

    1. pierwszy raz pisze w javie , laciak88 18/03/09 17:09
      i prosilbym o rozwiniecie.
      Co to sa metody print na cd?
      Dlaczego nie moge miec kilku klas? Taki kod dziala:


      import java.io.*;

      class Utwor
      {
      public String utwor,wykonawca;
      public double czas_trwania;
      }

      class CD
      {
      static String tytul_albumu, nazwa_wykonawcy, nazwa_wydawcy;
      static int rok_wydania, cena_plyty;
      static String str;
      static Utwor tablica[]=new Utwor[25];

      public static void main(String []a)
      {
      wypelnij();
      wypisz();
      }

      public static void wypelnij()
      {
      InputStreamReader StrumienWejsciowy = new InputStreamReader(System.in);
      BufferedReader BuforWejsciowy = new BufferedReader(StrumienWejsciowy);
      for(int licznik=0;licznik<2;licznik++)
      {
      tablica[licznik]= new Utwor();
      try
      {
      System.out.println("Podaj utwor:");
      str=BuforWejsciowy.readLine();
      tablica[licznik].utwor=str;
      System.out.println("Podaj wykonawce");
      str=BuforWejsciowy.readLine();
      tablica[licznik].wykonawca=str;
      System.out.println("Podaj czas trwania");
      str=BuforWejsciowy.readLine();
      tablica[licznik].czas_trwania=Double.parseDouble(str);
      }
      catch(IOException e)
      {
      e.printStackTrace();
      return;
      }
      }
      }

      public static void wypisz()
      {
      System.out.println("Zawartosc");
      for(int licznik=0;licznik<2;licznik++)
      {
      System.out.println("Utwor"+"["+licznik+"]"+"="+tablica[licznik].utwor);
      System.out.println("Wykonawca"+"["+licznik+"]"+"="+tablica[licznik].wykonawca);
      System.out.println("Czas trwania"+"["+licznik+"]"+"="+tablica[licznik].czas_trwania);
      }
      }

      }



      Z jakiego powodu mam wywalac ta klamre? Piszac to wzorowalem sie na skladni z C, bo robilem kiedys podobny program

      "To Alcohol! The cause of, and solution to, all of
      life's problems."

    2. poprawilem troche , laciak88 18/03/09 18:06
      zaczal sie kompilowac, ale jakis problem byl. Usunalem problem, ale blad wyskakuje. Jest podzielony na pliki. Oto blad:
      java.lang.NoSuchMethodError: main
      Exception in thread "main"

      Co mam z tym zrobic?

      "To Alcohol! The cause of, and solution to, all of
      life's problems."

      1. brakuje tu klasy , RaPToRR 18/03/09 18:13
        w ktorej definiujesz funkcje main z tego co widzę. taka klasa musi miec nazwe taką samą jak nazwa pliku *.java i w niej wpisz funkcję main i inne niepowiazane z innymi klasami.

        http://www.krzysztofwasko.pl

        1. mam main , laciak88 18/03/09 18:23
          w pliku xxx, a jak dokleje do klasy CD, to dopiero przestaje sapac :|. Co znaczy "w niej wpisz funkcję main i inne niepowiazane z innymi klasami"?


          plik xxx:


          import java.io.*;



          class xxx
          {

          public static void wypelnij() throws IOException
          {
          InputStreamReader StrumienWejsciowy = new InputStreamReader(System.in);
          BufferedReader BuforWejsciowy = new BufferedReader(StrumienWejsciowy);
          for(int licznik=0;licznik<2;licznik++)
          {
          CD.tablicap[licznik]= new CD();
          System.out.println("Podaj tytul albumu");
          CD.tablicap[licznik].tytul_albumu=BuforWejsciowy.readLine();
          System.out.println("Podaj wykonawce");
          CD.tablicap[licznik].nazwa_wykonawcy=BuforWejsciowy.readLine();
          System.out.println("Podaj wydawce");
          CD.tablicap[licznik].nazwa_wydawcy=BuforWejsciowy.readLine();
          System.out.println("Podaj rok wydania plyty");
          CD.tablicap[licznik].rok_wydania=Integer.parseInt(BuforWejsciowy.readLine());
          System.out.println("Podaj cene plyty");
          CD.tablicap[licznik].cena_plyty=Integer.parseInt(BuforWejsciowy.readLine());

          for(int licznik2=0;licznik2<2;licznik2++)
          {
          Utwor.tablica[licznik2]= new Utwor();
          System.out.println("Podaj utwor:");
          Utwor.tablica[licznik2].utwor=BuforWejsciowy.readLine();
          System.out.println("Podaj wykonawce");
          Utwor.tablica[licznik2].wykonawca=BuforWejsciowy.readLine();
          System.out.println("Podaj czas trwania");
          Utwor.tablica[licznik2].czas_trwania=Double.parseDouble(BuforWejsciowy.readLine());
          }
          }
          }

          public static void wypisz()
          {
          for(int licznik=0;licznik<2;licznik++)
          {
          System.out.println("Tytul albumu"+"["+licznik+"]"+"="+CD.tablicap[licznik].tytul_albumu);
          System.out.println("Nazwa wykonawcy"+"["+licznik+"]"+"="+CD.tablicap[licznik].nazwa_wykonawcy);
          System.out.println("Wydawca"+"["+licznik+"]"+"="+CD.tablicap[licznik].nazwa_wydawcy);
          System.out.println("Rok wydania"+"["+licznik+"]"+"="+CD.tablicap[licznik].rok_wydania);
          System.out.println("Cena"+"["+licznik+"]"+"="+CD.tablicap[licznik].cena_plyty);

          for(int licznik2=0;licznik2<2;licznik2++)
          {
          System.out.println("Utwor"+"["+licznik2+"]"+"="+Utwor.tablica[licznik2].utwor);
          System.out.println("Wykonawca"+"["+licznik2+"]"+"="+Utwor.tablica[licznik2].wykonawca);
          System.out.println("Czas trwania"+"["+licznik2+"]"+"="+Utwor.tablica[licznik2].czas_trwania);
          }
          }
          }

          public static void main(String[] args) throws IOException
          {
          wypelnij();
          wypisz();
          }
          }




          plik CD:


          public class CD
          {
          public String tytul_albumu, nazwa_wykonawcy, nazwa_wydawcy;
          public int rok_wydania, cena_plyty;
          static CD tablicap[]=new CD[10];
          }




          plik Utwor:


          public class Utwor
          {
          public String utwor,wykonawca;
          public double czas_trwania;
          static Utwor tablica[]=new Utwor[25];
          }

          "To Alcohol! The cause of, and solution to, all of
          life's problems."

          1. problem rozwiazany , laciak88 18/03/09 19:05
            zaczelo samo chodzic :|

            "To Alcohol! The cause of, and solution to, all of
            life's problems."

  2. poprawiony pierwszy kod , RaPToRR 18/03/09 18:17
    import java.io.*;

    class Utwor
    {
    public String utwor,wykonawca;
    public double czas_trwania;
    }

    class CD
    {
    static String tytul_albumu, nazwa_wykonawcy, nazwa_wydawcy;
    static int rok_wydania, cena_plyty;
    static String str;
    static Utwor tablica[]=new Utwor[25];
    }

    class nowaklasa
    {
    static CD tablicap[]=new CD[10];


    public static void wypelnij() throws IOException
    {
    InputStreamReader StrumienWejsciowy = new InputStreamReader(System.in);
    BufferedReader BuforWejsciowy = new BufferedReader(StrumienWejsciowy);
    for(int licznik=0;licznik<2;licznik++)
    {
    System.out.println("Podaj tytul albumu");
    tablicap[licznik].tytul_albumu=BuforWejsciowy.readLine();
    System.out.println("Podaj wykonawce");
    tablicap[licznik].nazwa_wykonawcy=BuforWejsciowy.readLine();
    System.out.println("Podaj wydawce");
    tablicap[licznik].nazwa_wydawcy=BuforWejsciowy.readLine();
    System.out.println("Podaj rok wydania plyty");
    tablicap[licznik].rok_wydania=Integer.parseInt(BuforWejsciowy.readLine());
    System.out.println("Podaj cene plyty");
    tablicap[licznik].cena_plyty=Integer.parseInt(BuforWejsciowy.readLine());

    for(int licznik2=0;licznik2<2;licznik2++)
    {
    System.out.println("Podaj utwor:");
    tablicap[licznik].tablica[licznik2].utwor=BuforWejsciowy.readLine();
    System.out.println("Podaj wykonawce");
    tablicap[licznik].tablica[licznik2].wykonawca=BuforWejsciowy.readLine();
    System.out.println("Podaj czas trwania");
    tablicap[licznik].tablica[licznik2].czas_trwania=Double.parseDouble(BuforWejsciowy.readLine());
    }
    }
    }

    public static void wypisz()
    {
    for(int licznik=0;licznik<2;licznik++)
    {
    System.out.println("Tytul albumu"+"["+licznik+"]"+"="+tablicap[licznik].tytul_albumu);
    System.out.println("Nazwa wykonawcy"+"["+licznik+"]"+"="+tablicap[licznik].nazwa_wykonawcy);
    System.out.println("Wydawca"+"["+licznik+"]"+"="+tablicap[licznik].nazwa_wydawcy);
    System.out.println("Rok wydania"+"["+licznik+"]"+"="+tablicap[licznik].rok_wydania);
    System.out.println("Cena"+"["+licznik+"]"+"="+tablicap[licznik].cena_plyty);

    for(int licznik2=0;licznik2<2;licznik2++)
    {
    System.out.println("Utwor"+"["+licznik2+"]"+"="+tablicap[licznik].tablica[licznik2].utwor);
    System.out.println("Wykonawca"+"["+licznik2+"]"+"="+tablicap[licznik].tablica[licznik2].wykonawca);
    System.out.println("Czas trwania"+"["+licznik2+"]"+"="+tablicap[licznik].tablica[licznik2].czas_trwania);
    }
    }
    }

    public static void main(String []arg) throws IOException
    {
    wypelnij();
    wypisz();
    }
    }

    bangla, ale mało tutaj programowania obiektowego ;)

    http://www.krzysztofwasko.pl

    1. wiem, ze malo , laciak88 18/03/09 18:25
      bo to dopiero wprowadzenie do javy :). Looknij prosze na powyzszy kod, ten od problemu z mainem

      "To Alcohol! The cause of, and solution to, all of
      life's problems."

  3. poczytaj sobie... , xmac 18/03/09 20:16
    thinking in java a wszystko stanie sie prostsze :_)

    dual&mobile power
    XMAC

    1. a wiesz , laciak88 18/03/09 20:21
      ze gdzies to mam :). Jak znajde chwile, to pewnie zajrze, ale beda musialy mnie do tego zmusic jakies zadania

      "To Alcohol! The cause of, and solution to, all of
      life's problems."

      1. hehe... , xmac 18/03/09 20:43
        ale to nie bylo zlosliwe, ja tak zaczynalem i uwazam, ze ta ksiazka jest swietna
        ps. przeczytalem jeszcze raz twoja wypowiedz i piszac 'a wiesz, ze gdzies to mam' stwierdzam, ze chyba nie chodzilo ci o 'mam to gdzies' ;_P

        dual&mobile power
        XMAC

        1. no raczej , laciak88 18/03/09 20:47
          nie chodzilo :). Zajrzec, zajrze, ale musze miec motywacje i chwile czasu. Programista nie mam zamiaru byc, dlatego na razie motywacja jest niska, ale pewnie troche ode mnie na zaliczenie beda wymagac

          "To Alcohol! The cause of, and solution to, all of
          life's problems."

    2. nie warto , celt 18/03/09 22:09
      lepiej Java Core i zacząć od stron na Sun'ie.
      Kiedyś uważałem TinJ za za..stą książkę - teraz odwrotnie.

      Everything should be made as simple as
      possible, but no simpler

      1. nie wiem, nie znam... , xmac 18/03/09 22:29
        ale thinking in java na poczatek okazalo sie bardzo przydatne

        dual&mobile power
        XMAC

        1. core jest przydatniejszy , biEski 18/03/09 22:49
          tym bardziej ze w podstawach ma szeroko opisane programowanie obiektowe, a to na pewno mu sie przyda

    
All rights reserved ® Copyright and Design 2001-2024, TwojePC.PL