Matematické Fórum

Nevíte-li si rady s jakýmkoliv matematickým problémem, toto místo je pro vás jako dělané.

Nástěnka
22. 8. 2021 (L) Přecházíme zpět na doménu forum.matweb.cz!
04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
23.10.2013 (Jel.) Zkuste před zadáním dotazu použít některý z online-nástrojů, konzultovat použití můžete v sekci CAS.

Nejste přihlášen(a). Přihlásit

#1 25. 11. 2010 21:16

case_fcs
Příspěvky: 101
Reputace:   -1 
 

java semestralka

ahoj prosim moc o pomoc, mam zadanou semestralku z javy, ale sem uplne ztracena, nevim jak zacit, tohle je moje zadani:

Burza cenných papírů

Systém bude fungovat jako jednoduchá burza cenných papírů.

Případy užití:

    *
      Zobrazení portfolia
    *
      Nákup akcií
    *
      Prodej akcií
    *
      Zobrazení aktivních příkazů
    *
      Zobrazení provedených obchodů
    *
      Výběr burzy
    *
      Přehled burzovního indexu
    *
      Objemy obchodů
    *
      Největší změny kurzů
    *
      Prodejní příkaz

*Zobrazení akcií

Systém zobrazí tabulku s informacemi o akciích, které lze obchodovat na burze. Pro každou akcii jsou zobrazeny tyto informace: identifikace akcie, aktuální cena, množství zobchodované při posledním obchodu a datum a čas posledního obchodu.
Zobrazení portfolia

Systém zobrazí tabulku s informacemi o akciích uživatele. Pro každou akcii jsou zobrazeny tyto informace: identifikace akcie, množství a nákupní cena.

*Nákup akcií

Uživatel vybere, že chce nakoupit akcie, zadá identifikaci akcie, množství, limitní cenu a stiskne tlačítko. Po stisku tlačítka systém zkontroluje, zda je příkaz validní a buď vloží příkaz do obchodního systému nebo jej odmítne.
Prodej akcií

*Prodej akcii

Uživatel vybere, že chce prodat akcie, zadá identifikaci akcie, množství, limitní cenu a stiskne tlačítko. Po stisku tlačítka systém zkontroluje, zda je příkaz validní a buď vloží příkaz do obchodního systému nebo jej odmítne.
Zobrazení aktivních příkazů

*Zobrazení aktivních příkazů

Systém zobrazí seznam aktivních příkazů daného zákazníka. Aktivní příkazy jsou příkazy, které dosud nebyly zcela uspokojeny. Pokud byl příkaz uspokojen částečně, zobrazí se příkaz, který odpovídá dosud neuspokojené části.
Zobrazení provedených obchodů

*Zobrazení provedených obchodů

Systém zobrazí seznam provedených obchodů daného zákazníka.

*Výběr burzy
    Systém zobrazí tabulku s přehledem, na kterých burzách lze v současnosti obchodovat a uživatel stisknutím tlačítka u vybrané burzy vstoupí na burzu.

*Přehled burzovního indexu
    Systém opět zobrazí tabulku s přehledem burz, na kterých lze obchodovat a u každé burzy bude tlačítko po jehož stisknutí se grafem zobrazí ukazatel vývoje trhu za poslední rok v jednotlivých měsících.

*Objemy obchodů
    Tabulka, ve které budou tři sloupce. V prvním sloupci bude o jaký trh se jedná (hlavní, volný), druhý sloupec obsahuje objemy obchodů s akciemy v miliardách Kč, EUR a USD a třetí sloupec obsahuje objemy ochodů s dluhopisy.

*Největší změny kurzů
    Tabulka u které bude možno překliknout zobrazení mezi růsty a poklesy kurzů. Tabulka má 3 sloupce - název společnosti, změna kurzu v % a objem změny kurzu v tisících Kč.
   
*Prodejní příkaz
    U každé akcie, kterou bude uživatel vlastnit bude tlačítko, po jehož stistknutí se uživateli zobrazí tabulka s prázdným polem, do kterého se bude psát hodnota, pod kterou akcie nesmí jít a tlačítka pro potvrzení či zrušení tohoto příkazu. Pokud hodnota akcie klesne pod tuto částku, systém automaticky tuto akcii nabídne k prodeji.


Architektura

Systém se skládá ze dvou částí: klient a server. Klient je aplikace s grafickým uživatelským rozhraním a slouží obchodníkovi s cennými papíry pro obchodování na burze. Server je aplikace, která přijímá příkazy od obchodníků, provádí obchody a o provedených obchodech informuje obchodníky. Všechny informace ukládá server do relační databáze. Předpokládá se, že k serveru bude přistupovat více klientů současně.

Server provede obchod, pokud se setká nabídka s poptávkou. Např. pokud zákazník A chce prodat 100 akcií ČEZ za limitní cenu 800 Kč a zákazník B chce koupit 50 akcií ČEZ za limitní cenu 900 Kč, systém zjistí, že lze provést obchod, určí cenu obchodu jako aritmetický průměr limitních cen nabídky a poptávky a provede tento obchod: zákazník A prodá 50 akcií ČEZ a zákazník B nakoupí 50 akcií ČEZ za cenu 850 Kč. Systém provede obchod ihned po přijetí příkazu, který obchod umožňuje a bezprostředně po provedení obchodu informuje zákazníky. Cena posledního obchodu se stává aktuální cenou akcie.
Implementace

0. fáze: návrh rozhraní a tříd.

1. fáze: klienti a server mají jasně definovaná rozhraní, ale běží v jedné JVM. Data se neukládájí do relační databáze, ale zůstávají v paměti. Server není připraven na souběžný přístup.

2. fáze: klient a server běží v různých JVM a komunikují přes TCP. Data zůstávají stále v paměti.

3. fáze: server podporuje souběžný přístup a ukládá data do relační databáze.


nevim vazne vubec, jak zacit, jestli si mam nejdriv udelat nejaky gui a jestli jo tak jak, jestli to bude vic tech okynek nebo jestli se to vsechno bude delat do jednoho, prosiim potrebuju pomoc, alespon nejaky ten prvni krok poradit

Offline

  • (téma jako vyřešené označil(a) case_fcs)

#2 25. 11. 2010 22:22

VojtechSejkora
Příspěvky: 176
Reputace:   
 

Re: java semestralka

↑ case_fcs:
tak já bych začal gui
ty jednotlivé akcie by se dali vpisovat do JTable...
a nebo si pro to udělat jinou tabulku, JTable je podle mého názoru to nejlepší

ale se zbytkem ti asi moc nepomohu, protože si danu problematiku nedokáži moc představit

Offline

 

#3 26. 11. 2010 01:45

case_fcs
Příspěvky: 101
Reputace:   -1 
 

Re: java semestralka

tak uz sem si to nejak teda rozvrhla v gui a ted bych se chtela zeptat, mam jeden JFrame Form a v tom button a chtela bych nastavit, ze po kliknuti na to tlacitko mi to skoci do druhyho JFrame Formu, jak se to prosim da udelat?

Offline

 

#4 26. 11. 2010 03:22 — Editoval VojtechSejkora (26. 11. 2010 03:24)

VojtechSejkora
Příspěvky: 176
Reputace:   
 

Re: java semestralka

↑ case_fcs:
dejme tomu že to tvé tlačítko se bude jmenovat tlacitko1 (v programu si to pojmenuj dle funkce)

tak napíšeš

Code:

tlacitko1.addActionListener(new ActionListener(){
          @Override
          public void actionPerformed(ActionEvent e){
             // co tam chceš udělat
            // ve tvém případě něco jako
                frame2.setVisible(true);
          }
});

jinak nezapomeň importovat

Code:

import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;

ale to se tedy divím že vám toto neřekli ve škole a pak to po vás chtějí:-o

P.S. doufám že jsem to napsal správně beztak máš nějaké kloudne IDE na to a napovídá ti sintakce, tak by to snadn eměl být problém... ale myslím že to takto je správně, ale jsem jen středoškolák tedy se mýlit mohu:)

navíc toto jsem většinou nechváal na IDE aby mi doplnilo co jsem potřeboval... jakože zbytek textů, protože jsem věděl jaké listenery budu potřebovat atd.
ale to je jedno...

Offline

 

#5 26. 11. 2010 10:47

case_fcs
Příspěvky: 101
Reputace:   -1 
 

Re: java semestralka

mam jeden JFrame Form s názvem Klient a druhý JFrame Form s názvem Portfolio ve formu klient mam tlačítko s názvem button1, po stisknutí tohohle tlačítka ve formu klient se mi zobrazí form Portfolio, takže kam mam napsat ten tvůj kousek kodu? k tomu formu klient někam ke tlačítku button1 nebo někam do formu portfolio? nějak mi to nikam nejde napsat, všude mi to píše chybu

Offline

 

#6 26. 11. 2010 13:26

VojtechSejkora
Příspěvky: 176
Reputace:   
 

Re: java semestralka

↑ case_fcs:
a mohl by jsi vložit sem kousek toho svého kódu?

jinak já bych to napsal cca takto

Code:

void vytvorOkenka(){
JFrame kliet=new JFrame();
JFrame portfolio=new JFrame();
// pak nějaké přidávání do těchto oken
JButton prepinac=new JButton("klient -> portfolio");

prepinac.addActionListener(new java.awt.ActionListener(){
@Override
public void actionPerformed(java.awt.ActionEvent e) {
klient.setVisible(false);
portfolio.setVisible(true);
}
});

klient.add(prepinac);
}

a toto by už určitě mělo fungovat....

Offline

 

#7 27. 11. 2010 13:43

case_fcs
Příspěvky: 101
Reputace:   -1 
 

Re: java semestralka

tak v pohode je to takto:

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
        // TODO add your handling code here:
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new Portfolio().setVisible(true);
            }
        });
}

presto vam vsem moc dekuji za prispevky a pomoc a jeste bych tohle tema nezavirala, myslim, ze pridou jeste dalsi a mnohem vetsi problemy, neni to se mnou jednoduchy :)

Offline

 

#8 27. 11. 2010 14:13

VojtechSejkora
Příspěvky: 176
Reputace:   
 

Re: java semestralka

↑ case_fcs:
taky možnost jak to uděkat:)

GL

Offline

 

#9 29. 11. 2010 11:24

case_fcs
Příspěvky: 101
Reputace:   -1 
 

Re: java semestralka

tak ted mam tak trochu zas problemek, po vytvoreni framu Klient se mi v kodu udelal main vypada takto:

public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
               new Klient().setVisible(true);
            }       
        });
    }

tam se mi vytvori ten frame Klient a nastavi se aby byl videt, takze po spusteni vidim okno, tam mam tlacitko, na ktery kdyz teda kliknu, tak se mi otevre ten dalsi frame (ted je pod nazvem Limit), kod u toho tlacitka je takovyhle:

private void jButton9ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        // TODO add your handling code here:
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new Limit().setVisible(true);
            }
        });
}   

no a ja bych jeste chtela aby se mi pri otevreni toho framu Limit zavrelo okno Klient, jenze nemuzu k tomu tlacitku napsat jenom:
new Klient().setVisible(false); tim vytvarim novy ten objekt, takze mi tam ten starej frame Klient zustane, ale nevim jak to udelat, mam si to pry do neceho ulozit toho klienta, jenze nevim jak a kam, kdyz si to ulozim nejak globalne tak mi to nechce zase vyuzit ten main.... prosim nevite nekdo jak na to? doufam ze sem to popsala aspon nejak na pochopeni

myslela sem nekam naspat treba Klient a = new Klient(); a pak jen do tech metod nebo tak psat a.setVisible(true) a tak, jenze to mi prave potom nejde v tom mainu

Offline

 

#10 29. 11. 2010 12:32

ondrouchd
Příspěvky: 43
Reputace:   
 

Re: java semestralka

Zkus se poradit na adekvatnim foru, treba na www.builder.cz v sekci Java.  Jinak preju uprimnou soustrast, timto stylem deadline nestihnes.

Offline

 

#11 29. 11. 2010 13:02

VojtechSejkora
Příspěvky: 176
Reputace:   
 

Re: java semestralka

↑ ondrouchd:
ta to napiš cca takto

Code:

public static void main(String args[]) {
Klient k=new Klient();

        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
               k.setVisible(true);
            }       
        });
    }

nebo
tam kde máš tu třídu dej
static Klient k=new Klient();

pak ti to už fungovat bude:)

Offline

 

Zápatí

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson