Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Pomoc oko zavrsetka zadatka u Javi

[es] :: Java :: Pomoc oko zavrsetka zadatka u Javi

[ Pregleda: 1745 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

mehnihma
Zadar

Član broj: 26568
Poruke: 85
*.zg3.cable.xnet.hr.



+4 Profil

icon Pomoc oko zavrsetka zadatka u Javi17.09.2011. u 23:00 - pre 153 meseci
Imam zadatak koji trebam napraviti i napravljen je veci dio jos samo to treba staviti u kucice tj napraviti tablicu i sloziti imena unutra:


Account Name Owner Balance



ovo dobijem na ispisu:

Owner = Fred Balance = 75
Owner = Jane Balance = 40
Owner = Fred Balance = 135
Owner = George Balance = 50



A ne znam kako to tocno izvesti, znam napraviti pravokutnik ali nisam siguran ako dalje


ovo je kod


Code:




class Account_1
{
    String owner;
    int balance;

    public Account_1() 
    {
    } // end constructor Account()

    public void initialise(String name)
    {
        owner = name;
        balance = 0;
    } // end method initialise

    public void deposit (int anAmount)
    {
        balance = balance + anAmount;
    } // end method deposit

    public int withdraw (int anAmount)
    {
        int amountWithdrawn;

        if (anAmount <= balance) 
            amountWithdrawn = anAmount;
        else
            amountWithdrawn = 0;

        balance = balance - amountWithdrawn;

        return amountWithdrawn;
    } // end method withdraw

    public void print()
    {
        System.out.println("Owner = "+ owner +"   Balance = "+balance);
} // end method print

} // end class Account


class Account_2
{
    String owner;
    int balance;

    public Account_2() 
    {
    } // end constructor Account()

    public void initialise(String name)
    {
        owner = name;
        balance = 0;
    } // end method initialise

    public void deposit (int anAmount)
    {
        balance = balance + anAmount;
    } // end method deposit

    public int withdraw (int anAmount)
    {
        int amountWithdrawn;

        if (anAmount <= balance) 
            amountWithdrawn = anAmount;
        else
            amountWithdrawn = 0;

        balance = balance - amountWithdrawn;

        return amountWithdrawn;
    } // end method withdraw

    public void print()
    {
        System.out.println("Owner = "+ owner +"   Balance = "+balance);
} // end method print

} // end class Account


class Account_3
{
    String owner;
    int balance;

    public Account_3() 
    {
    } // end constructor Account()

    public void initialise(String name)
    {
        owner = name;
        balance = 0;
    } // end method initialise

    public void deposit (int anAmount)
    {
        balance = balance + anAmount;
    } // end method deposit

    public int withdraw (int anAmount)
    {
        int amountWithdrawn;

        if (anAmount <= balance) 
            amountWithdrawn = anAmount;
        else
            amountWithdrawn = 0;

        balance = balance - amountWithdrawn;

        return amountWithdrawn;
    } // end method withdraw

    public void print()
    {
        System.out.println("Owner = "+ owner +"   Balance = "+balance);
} // end method print

} // end class Account


public class Account {
        public static void main(String[] args){
        
        Account_1 acc1 = new Account_1();
        Account_2 acc2 = new Account_2();
        Account_3 acc3 = new Account_3();
        acc1.initialise(null);
        acc1.owner="Jane";
        acc1.deposit(100);
        acc1.withdraw(40);    
        acc2.initialise("Fred");
        acc2.deposit(200);
        acc2.withdraw(125);
        acc2.print();
        acc3.initialise("George");
        acc3.deposit(50);
    acc3.withdraw(75);
    acc2.deposit(60);
    acc1.withdraw(20);
    acc1.print();
    acc2.print();
    acc3.print();
   
   
   
   
    }
    }
        
            


bio sam na rubu
sad sam korak dalje...
 
Odgovor na temu

biske86
Ivan Biševac
Zubin Potok

Član broj: 62435
Poruke: 979
*.dynamic.isp.telekom.rs.

Sajt: biske.rs


+39 Profil

icon Re: Pomoc oko zavrsetka zadatka u Javi17.09.2011. u 23:23 - pre 153 meseci
Citat:
mehnihma: Imam zadatak koji trebam napraviti i napravljen je veci dio jos samo to treba staviti u kucice tj napraviti tablicu i sloziti imena unutra:


Account NameOwnerBalance



ovo dobijem na ispisu:

Owner = Fred Balance = 75
Owner = Jane Balance = 40
Owner = Fred Balance = 135
Owner = George Balance = 50



A ne znam kako to tocno izvesti, znam napraviti pravokutnik ali nisam siguran ako dalje


Nisam siguran šta tačno treba da dobiješ, jel ovako nešto?
____________________________
|Owner = Fred | Balance = 75 |
|Owner = Jane | Balance = 40 |
|Owner = Fred | Balance = 135 |
|Owner = George | Balance = 50 |
|______________|_____________|
 
Odgovor na temu

mehnihma
Zadar

Član broj: 26568
Poruke: 85
*.zg3.cable.xnet.hr.



+4 Profil

icon Re: Pomoc oko zavrsetka zadatka u Javi17.09.2011. u 23:32 - pre 153 meseci
da ali u biti bas u tabeli


Gore da pise
Account Name Owner Balance

a ispod njih imena i ostalo

kao u Excelu nesto da sam pisao ajmo reci, (smotan sam za objasniti )



nasao sam kod koji radi to sto mi treba ali nisam siguran kako ga spojiti s account.java tj izvuci varijable


Code:

import java.awt.*;
import javax.swing.*;
public class Table {
    public static void main(String args[])
    {
 
        JFrame frame = new JFrame("Table");
        String columns[] = {"Account Name","Owner","Balance"};
        Object data[][] = {
                {"Tom",new Integer(20),"Male"},
                {"Tina", new Integer(18), "Female"},
                {"Raj",new Integer(19),"Male"}
        };
        JTable table = new JTable(data,columns);
        frame.setVisible(true);
        frame.setBounds(0,0,500,500);
        frame.add(table.getTableHeader(),BorderLayout.PAGE_START);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.add(table);
    }
}



bio sam na rubu
sad sam korak dalje...
 
Odgovor na temu

biske86
Ivan Biševac
Zubin Potok

Član broj: 62435
Poruke: 979
*.dynamic.isp.telekom.rs.

Sajt: biske.rs


+39 Profil

icon Re: Pomoc oko zavrsetka zadatka u Javi18.09.2011. u 00:29 - pre 153 meseci
Isprva sam mislio da samo hoćeš u konzoli da ispišeš ove vrednosti ali da ne znaš kako da ih formatiraš.
Međutim tebi treba GUI tabela. Znači samo sam iz onog tvog izbacio klasu Account pošto nam ona više ne treba (ona je iscrtavala vrednosti na konzoli) i deo koda odatle sam prebacio u klasu Table. Nisam razumeo šta ti je bilo teško da ovde uradiš. Ti si dobro krenuo, u niz columns[] si lepo stavio vrednosti naslova ali nisi popunio vrednosti tj. matricu data[][].
Moraš da naučiš osnovne stvari. Najpre o OOP: http://download.oracle.com/javase/tutorial/java/javaOO.
Što se tiče tabela http://download.oracle.com/jav.../uiswing/components/table.html

Evo koda.

Account_1.java:
Code (java):
class Account_1 {
     String owner;
     int balance;

     public Account_1() {
     } // end constructor Account()

     public void initialise(String name) {
          owner = name;
          balance = 0;
     } // end method initialise

     public void deposit(int anAmount) {
          balance = balance + anAmount;
     } // end method deposit

     public int withdraw(int anAmount) {
          int amountWithdrawn;

          if (anAmount <= balance)
               amountWithdrawn = anAmount;
          else
               amountWithdrawn = 0;

          balance = balance - amountWithdrawn;

          return amountWithdrawn;
     } // end method withdraw

     public void print() {
          System.out.println("Owner = " + owner + "   Balance = " + balance);
     } // end method print

} // end class Account

class Account_2 {
     String owner;
     int balance;

     public Account_2() {
     } // end constructor Account()

     public void initialise(String name) {
          owner = name;
          balance = 0;
     } // end method initialise

     public void deposit(int anAmount) {
          balance = balance + anAmount;
     } // end method deposit

     public int withdraw(int anAmount) {
          int amountWithdrawn;

          if (anAmount <= balance)
               amountWithdrawn = anAmount;
          else
               amountWithdrawn = 0;

          balance = balance - amountWithdrawn;

          return amountWithdrawn;
     } // end method withdraw

     public void print() {
          System.out.println("Owner = " + owner + "   Balance = " + balance);
     } // end method print

} // end class Account

class Account_3 {
     String owner;
     int balance;

     public Account_3() {
     } // end constructor Account()

     public void initialise(String name) {
          owner = name;
          balance = 0;
     } // end method initialise

     public void deposit(int anAmount) {
          balance = balance + anAmount;
     } // end method deposit

     public int withdraw(int anAmount) {
          int amountWithdrawn;

          if (anAmount <= balance)
               amountWithdrawn = anAmount;
          else
               amountWithdrawn = 0;

          balance = balance - amountWithdrawn;

          return amountWithdrawn;
     } // end method withdraw

     public void print() {
          System.out.println("Owner = " + owner + "   Balance = " + balance);
     } // end method print

} // end class Account


Table.java:
Code (java):
import java.awt.*;
import javax.swing.*;

public class Table {
     public static void main(String args[]) {
          Account_1 acc1 = new Account_1();
          Account_2 acc2 = new Account_2();
          Account_3 acc3 = new Account_3();
          acc1.initialise(null);
          acc1.owner = "Jane";
          acc1.deposit(100);
          acc1.withdraw(40);

          acc2.initialise("Fred");
          acc2.deposit(200);
          acc2.withdraw(125);
          acc2.print();

          acc3.initialise("George");
          acc3.deposit(50);
          acc3.withdraw(75);
          acc2.deposit(60);

          acc1.withdraw(20);

          JFrame frame = new JFrame("Table");
          String columns[] = { "Account Name", "Owner", "Balance" };
          Object data[][] = { { "Account_1", acc1.owner, acc1.balance },
                    { "Account_2", acc2.owner, acc2.balance },
                    { "Account_2", acc3.owner, acc3.balance } };
          JTable table = new JTable(data, columns);
          frame.setVisible(true);
          frame.setBounds(0, 0, 500, 500);
          frame.add(table.getTableHeader(), BorderLayout.PAGE_START);
          frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
          frame.add(table);
     }
}



Napomena: Nisi morao da praviš Accounts_1, Accounts_2, Accounts_3, to je loš dizajn. Šta ako budeš imao 1 000 naloga nećeš valjda da praviš 1 000 klasa? Nego si to mogao da staviš u jednu klasu Account koja bi mogla da izgleda ovako:
Code (java):
class Account {
     String accountName;
     String owner;
     int balance;

     public Account() {
     }

     public void initialise(String name) {
          owner = name;
          balance = 0;
     }

     public void deposit(int anAmount) {
          balance = balance + anAmount;
     }

     public int withdraw(int anAmount) {
          int amountWithdrawn;

          if (anAmount <= balance)
               amountWithdrawn = anAmount;
          else
               amountWithdrawn = 0;

          balance = balance - amountWithdrawn;

          return amountWithdrawn;
     }

     public void print() {
          System.out.println("Owner = " + owner + "   Balance = " + balance);
     }

}


Znači novina je promenljiva String accountName.


[Ovu poruku je menjao biske86 dana 18.09.2011. u 01:40 GMT+1]
 
Odgovor na temu

mehnihma
Zadar

Član broj: 26568
Poruke: 85
*.zg3.cable.xnet.hr.



+4 Profil

icon Re: Pomoc oko zavrsetka zadatka u Javi18.09.2011. u 00:38 - pre 153 meseci
da to je to

Hvala na pomoci!

Zbunio sam se oko toga kako da tabela povuce podatke iz accounts.java

nov sam u programiranju pa jos pokusavam skuziti...

Jos trebam staviti linije izmedu u tabeli
bio sam na rubu
sad sam korak dalje...
 
Odgovor na temu

biske86
Ivan Biševac
Zubin Potok

Član broj: 62435
Poruke: 979
*.dynamic.isp.telekom.rs.

Sajt: biske.rs


+39 Profil

icon Re: Pomoc oko zavrsetka zadatka u Javi18.09.2011. u 01:04 - pre 153 meseci
Citat:
mehnihma:
Zbunio sam se oko toga kako da tabela povuce podatke iz accounts.java

nov sam u programiranju pa jos pokusavam skuziti...

Account.java je samo klasa, da bi radio sa podacima treba da napraviš objekat na osnovu te klase. Na primer:
Code (java):
Account acc1 = new Account();

E sad da bi dobio neku vrednost, na primer owner, ti samo pozoveš, kao:
Code (java):
acc1.owner
i to je to.
Mada ovakav direktan način pristupa ne bi trebalo nikada da koristiš, zato što on narušava jedan od osnovnih pravila objektno orijentisanog programranja koje se zove enkapsulacija. Enkapsulacija kaže da samo jedna klasa može da brine o svojim podacima. Ako drugim klasama trebaju ti podaci onda oni trebaju da idu ne direktno preko polja nego preko interfejsa koji im ti ponudiš (u ovom slučaju preko metoda getOwner, setOwner, itd.). Uvek treba promenljive da definišeš kao private (što znači da samo ta klasa može da im pristupa), i da onda obezbediš seter i geter metode. Jedini izuzetak od ovoga su konstante.

Na primer:
Code (java):
class Account {
     private String accountName;
     private String owner;
     private int balance;


     public String getOwner() {
          return owner;
     }

     public void setOwner(String owner) {
          this.owner = owner;
     }
     
     // Ostale metode idu ispod
}

Sada na primer iz klase Table možeš da imaš sledeći poziv:
Code (java):
Object data[][] = { { acc1.getAccountName(), acc1.getOwner(), acc1.getBalance() },
                    { acc2.getAccountName(), acc2.getOwner(), acc2.getBalance() },
                    { acc3.getAccountName(), acc3.getOwner(), acc3.getBalance() } };



Citat:
mehnihma:
Jos trebam staviti linije izmedu u tabeli

Izvini ali stvarno ne razumem šta ti treba, samo malo bolje objasni pa možda neko bude znao da ti pomogne.
 
Odgovor na temu

mehnihma
Zadar

Član broj: 26568
Poruke: 85
*.zg3.cable.xnet.hr.



+4 Profil

icon Re: Pomoc oko zavrsetka zadatka u Javi18.09.2011. u 02:14 - pre 153 meseci
Hvala :)

sad mi je malo jasnije

ovo sa linijama sam skuzio , radim na macu pa nema linija a na windowsima ima kako vidim :D

moram jos prouciti neke stvari

ako mozda znas neki dobar tutorijal ili youtube video gdje bi mogao to pogledati sve, bio bih zahvalan




bio sam na rubu
sad sam korak dalje...
 
Odgovor na temu

biske86
Ivan Biševac
Zubin Potok

Član broj: 62435
Poruke: 979
*.dynamic.isp.telekom.rs.

Sajt: biske.rs


+39 Profil

icon Re: Pomoc oko zavrsetka zadatka u Javi18.09.2011. u 22:52 - pre 153 meseci
Već sam ti ostavio u nekom od prethodnih postova linkove za učenje osnova OOP u Javi, kao i o tabelama. Generalno Sun (sada Orakl) tutorijal za Javu je odličan. Nalazi se na adresi: http://download.oracle.com/javase/tutorial/

Ako više voliš video tutorijale pogledao sam svojevremeno par snimaka od thenewboston korisnika na youtube.com pa pogledaj možda ti bude odgovaralo. Početni snimak je: http://www.youtube.com/watch?v=Hl-zzrqQoSE
 
Odgovor na temu

[es] :: Java :: Pomoc oko zavrsetka zadatka u Javi

[ Pregleda: 1745 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.