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

Moje zadace iz Jave

[es] :: Java :: Moje zadace iz Jave

[ Pregleda: 2493 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

cyber_killer

Član broj: 90634
Poruke: 95
153.5.132.*



Profil

icon Moje zadace iz Jave15.05.2007. u 06:58 - pre 213 meseci
E ovde cu postati svoje zadace koju moram da napravim.I evo imam prvo pitanje.Zadaca je aplet Mjenacnica,koja omogucava pretvaranje iz jedne u drugu valutu.

Code:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.lang.*;

public class Menjalnica extends JApplet implements ActionListener
{
    double[] tecaji={1.6267, 157.78, 0.67115, 7.3557, 1.3137};
    JButton gumb1 = new JButton("EUR v CHF");
    JButton gumb2 = new JButton("EUR v JPY");
    JButton gumb3 = new JButton("EUR v GBP");
    JButton gumb4 = new JButton("EUR v HRK");
    JButton gumb5 = new JButton("EUR v USD");
    JButton gumb6 = new JButton("CHF v EUR");
    JButton gumb7 = new JButton("JPY v EUR");
    JButton gumb8 = new JButton("GBP v EUR");
    JButton gumb9 = new JButton("HRK v EUR");
    JButton gumb10 = new JButton("USD v EUR");

    JLabel naslov = new JLabel("DOBRODOSLI V SPLETNI MENJALNICI");
    JTextField vnosnoPoljeZneska=new JTextField();
    JLabel znesek = new JLabel("VNESI ZNESEK");
    JTextField izpisRezultata=new JTextField();
    JLabel rezultat = new JLabel("REZULTAT");
    JLabel nastaviValute = new JLabel("NASTAVI VREDNOSTI VALUT");
    JLabel nastaviCHF = new JLabel("CHF");
    JLabel nastaviJPY = new JLabel("JPY");
    JLabel nastaviGBP = new JLabel("GBP");
    JLabel nastaviHRK = new JLabel("HRK");
    JLabel nastaviUSD = new JLabel("USD");

    
    JTextField vrednostCHF = new JTextField("1.6267");
    JTextField vrednostJPY = new JTextField("157.78");
    JTextField vrednostGBP = new JTextField("0.67115");
    JTextField vrednostHRK = new JTextField("7.3557");
    JTextField vrednostUSD = new JTextField("1.3137");
    
    
    public void init()
    {
        Container con=this.getContentPane();
        setLayout(null);//Sets the layout manager for this container
        
        
        add(naslov);
        add(vnosnoPoljeZneska);
        add(znesek);
        add(rezultat);
        add(izpisRezultata);
        add(nastaviValute);
    
        add(gumb1);
        add(gumb2);
        add(gumb3);
        add(gumb4);
        add(gumb5);
        add(gumb6);
        add(gumb7);
        add(gumb8);
        add(gumb9);
        add(gumb10);

        add(vrednostCHF);
        add(vrednostJPY);
        add(vrednostGBP);
        add(vrednostHRK);
        add(vrednostUSD);
        
        add(nastaviCHF);
        add(nastaviJPY);
        add(nastaviGBP);
        add(nastaviHRK);
        add(nastaviUSD);

        vnosnoPoljeZneska.setBounds(20,70,100,20);
        naslov.setBounds(20,20,300,30);
        znesek.setBounds(20,45,500,30);
        izpisRezultata.setBounds(150,70,100,20);
        rezultat.setBounds(150,50,70,20);
        
        gumb1.setBounds(20,100,100,30);
        gumb2.setBounds(20,140,100,30);
        gumb3.setBounds(20,180,100,30);
        gumb4.setBounds(20,220,100,30);
        gumb5.setBounds(20,260,100,30);
    
        gumb6.setBounds(150,100,100,30);
        gumb7.setBounds(150,140,100,30);
        gumb8.setBounds(150,180,100,30);
        gumb9.setBounds(150,220,100,30);
        gumb10.setBounds(150,260,100,30);
        
        nastaviValute.setBounds(20,320,400,25);
        nastaviCHF.setBounds(35,350,50,25);
        nastaviJPY.setBounds(100,350,50,25);
        nastaviGBP.setBounds(170,350,50,25);
        nastaviHRK.setBounds(240,350,50,25);
        nastaviUSD.setBounds(310,350,50,25);
        
        vrednostCHF.setBounds(20,380,50,25);
        vrednostJPY.setBounds(90,380,50,25);
        vrednostGBP.setBounds(160,380,50,25);
        vrednostHRK.setBounds(230,380,50,25);
        vrednostUSD.setBounds(300,380,50,25);
        
        gumb1.addActionListener(this);
        gumb2.addActionListener(this);
        gumb3.addActionListener(this);
        gumb4.addActionListener(this);
        gumb5.addActionListener(this);
        gumb6.addActionListener(this);
        gumb7.addActionListener(this);
        gumb8.addActionListener(this);
        gumb9.addActionListener(this);
        gumb10.addActionListener(this);
    }
        public void actionPerformed(ActionEvent e)

        {            
            
            if(e.getSource()==gumb1)
            {
                double vredCHF = Double.parseDouble(vrednostCHF.getText());
                double znesek=Double.parseDouble(vnosnoPoljeZneska.getText());
                double rezultat=znesek*vredCHF;
                izpisRezultata.setText(Double.toString((double)((int)(rezultat*1000))/1000));
            }
            else if(e.getSource()==gumb2)
            {
                double vredJPY=Double.parseDouble(vrednostJPY.getText());
                double znesek=Double.parseDouble(vnosnoPoljeZneska.getText());
                double rezultat=znesek*vredJPY;
                izpisRezultata.setText(Double.toString((double)((int)(rezultat*1000))/1000));
            }
            else if(e.getSource()==gumb3)
            {
                double vredGBP=Double.parseDouble(vrednostGBP.getText());
                double znesek=Double.parseDouble(vnosnoPoljeZneska.getText());
                double rezultat=znesek*vredGBP;
                izpisRezultata.setText(Double.toString((double)((int)(rezultat*1000))/1000));
            }
            else if(e.getSource()==gumb4)
            {
                double vredHRK=Double.parseDouble(vrednostHRK.getText());
                double znesek=Double.parseDouble(vnosnoPoljeZneska.getText());
                double rezultat=znesek*vredHRK;
                izpisRezultata.setText(Double.toString((double)((int)(rezultat*1000))/1000));
            }
            else if(e.getSource()==gumb5)
            {
                double vredUSD=Double.parseDouble(vrednostUSD.getText());
                double znesek=Double.parseDouble(vnosnoPoljeZneska.getText());
                double rezultat=znesek*vredUSD;
                izpisRezultata.setText(Double.toString((double)((int)(rezultat*1000))/1000));
            }
        
            else if(e.getSource()==gumb6)
            {
                double vredEUR = Double.parseDouble(vrednostCHF.getText());
                double znesek=Double.parseDouble(vnosnoPoljeZneska.getText());
                double rezultat=znesek/vredEUR;
                izpisRezultata.setText(Double.toString((double)((int)(rezultat*1000))/1000));
            }
            else if(e.getSource()==gumb7)
            {
                double vredEUR=Double.parseDouble(vrednostJPY.getText());
                double znesek=Double.parseDouble(vnosnoPoljeZneska.getText());
                double rezultat=znesek/vredEUR;
                izpisRezultata.setText(Double.toString((double)((int)(rezultat*1000))/1000));
            }
            else if(e.getSource()==gumb8)
            {
                double vredEUR=Double.parseDouble(vrednostGBP.getText());
                double znesek=Double.parseDouble(vnosnoPoljeZneska.getText());
                double rezultat=znesek/vredEUR;
                izpisRezultata.setText(Double.toString((double)((int)(rezultat*1000))/1000));
            }
            else if(e.getSource()==gumb9)
            {
                double vredEUR=Double.parseDouble(vrednostHRK.getText());
                double znesek=Double.parseDouble(vnosnoPoljeZneska.getText());
                double rezultat=znesek/vredEUR;
                izpisRezultata.setText(Double.toString((double)((int)(rezultat*1000))/1000));
            }
            else if(e.getSource()==gumb10)
            {
                double vredEUR=Double.parseDouble(vrednostUSD.getText());
                double znesek=Double.parseDouble(vnosnoPoljeZneska.getText());
                double rezultat=znesek/vredEUR;
                izpisRezultata.setText(Double.toString((double)((int)(rezultat*1000))/1000));
            }
    }
}


E sa kako bi ja ove if uvjete dao u jednu petlju.I zanima me kako da napravim da se prozor ne more razsirivati nego da je onako kako mu ja postavim mjere.Koda je u slo jeziku,jer sam iz slo i nije se mi dalo prevodi u nas jezik.Valjda se razumije ova koda.Eto to je za sad to.
 
Odgovor na temu

bgd2500

Član broj: 55912
Poruke: 226
*.finsoft.co.yu.



+7 Profil

icon Re: Moje zadace iz Jave15.05.2007. u 12:24 - pre 213 meseci
Recimo ovako
Code:

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.math.*;
import java.text.*;


public class Menjalnica extends JApplet implements ActionListener {

    JButton[] gumb = new JButton[] {
        new JButton("EUR v CHF"),
        new JButton("EUR v JPY"),
        new JButton("EUR v GBP"),
        new JButton("EUR v HRK"),
        new JButton("EUR v USD"),
        new JButton("CHF v EUR"),
        new JButton("JPY v EUR"),
        new JButton("GBP v EUR"),
        new JButton("HRK v EUR"),
        new JButton("USD v EUR")
    };

    JLabel[] nastavi = new JLabel[] {
        new JLabel("CHF"),
        new JLabel("JPY"),
        new JLabel("GBP"),
        new JLabel("HRK"),
        new JLabel("USD")
    };

    JTextField[] vrednost = new JTextField[] {
        new JTextField("1.6267"),    // CHF
        new JTextField("157.78"),    // JPY
        new JTextField("0.67115"),    // GBP
        new JTextField("7.3557"),    // HRK
        new JTextField("1.3137")    // USD
    };

    JLabel naslov = new JLabel("DOBRODOSLI V SPLETNI MENJALNICI");
    JTextField vnosnoPoljeZneska=new JTextField();
    JLabel znesek = new JLabel("VNESI ZNESEK");
    JTextField izpisRezultata=new JTextField();
    JLabel rezultat = new JLabel("REZULTAT");
    JLabel nastaviValute = new JLabel("NASTAVI VREDNOSTI VALUT");
    DecimalFormat df = new DecimalFormat("#######0.00");

    public void init() {
        Container con=this.getContentPane();
        setLayout(null);//Sets the layout manager for this container
        
        add(naslov);
        add(vnosnoPoljeZneska);
        add(znesek);
        add(rezultat);
        add(izpisRezultata);
        add(nastaviValute);
    
        for (int i=0, j=gumb.length; i<j; i++) {
            add(gumb[i]);
            gumb[i].addActionListener(this);
            if (i<nastavi.length) {
                gumb[i].setBounds(20, 100 + i*40, 100, 30);
            } else {
                gumb[i].setBounds(150, 100 + (i-5)*40, 100, 30);
            }
        }

        for (int i=0, j=vrednost.length; i<j; i++) {
            add(vrednost[i]);
            vrednost[i].setBounds(20 + i*70, 380, 50, 25);
        }

        for (int i=0, j=nastavi.length; i<j; i++) {
            add(nastavi[i]);
            nastavi[i].setBounds(30 + i*70, 350, 50, 25);
        }

        vnosnoPoljeZneska.setBounds(20,70,100,20);
        naslov.setBounds(20,20,300,30);
        znesek.setBounds(20,45,500,30);
        izpisRezultata.setBounds(150,70,100,20);
        rezultat.setBounds(150,50,70,20);
        nastaviValute.setBounds(20,320,400,25);

    }

    public void actionPerformed(ActionEvent e) {            
        for (int i=0, j=gumb.length; i<j; i++) {
            if (e.getSource() == gumb[i]) {
                int index = i % nastavi.length;
                BigDecimal vred = new BigDecimal(vrednost[index].getText());
                BigDecimal znesek = new BigDecimal(vnosnoPoljeZneska.getText());
                BigDecimal rezultat = (i < nastavi.length ? znesek.multiply(vred) : znesek.divide(vred, new MathContext(10)));
                izpisRezultata.setText(df.format(rezultat.doubleValue()));
                break;
            }
        }
    }
}


Nego gde su ti dinari ;)
 
Odgovor na temu

cyber_killer

Član broj: 90634
Poruke: 95
*.dial-up.dsl.siol.net.



Profil

icon Re: Moje zadace iz Jave17.05.2007. u 07:17 - pre 213 meseci
Hehe.Dat cu i dinare.Samo jos njesto kod ovog programa jel to u main metodi napravim da ima aplet tocne mjere i da se ne moze razsirivati.Njesto sam probavo sa metodama setSize ali nije islo.

I sad jos njesto.Trebam napraviti program koji pretvara medju arabskim slovima u rimske i obratno.Ja nemam ideje kako to da pocnem.
Evo i znakovi: I za 1, V za 5, X za 10, L za 50, C za 100, D za 500 , M za 1000. I pretvarati trebam brojeve do 5000.
Jel to racunas u petlji ili kako.Ozbiljno ne znam kako da pocnem.Hvala za odgovore.
 
Odgovor na temu

bgd2500

Član broj: 55912
Poruke: 226
*.finsoft.co.yu.



+7 Profil

icon Re: Moje zadace iz Jave17.05.2007. u 15:18 - pre 213 meseci
Aplet u principu nije resize-able, a dimenzije mu setujes u APPLET tagu na HTML stranici (HEIGHT, WIDTH).

Sto se tice konverzije brojeva, zadaj upit na Google-tu pa ces doci na ideju sta i kako.
Jedan nacin je da izgenerises tabelu (mapu) svih rimskih brojeva od 1 do 5000 i da onda samo radis lookup.
Code:

import java.util.HashMap;

public class NumberConverter {

    private final int MAX_NUMBER = 5000;
    private final int MAP_SIZE = MAX_NUMBER * 4/3 + 1;
    private HashMap<String, String> mapperToRoman = new HashMap<String, String>(MAP_SIZE);
    private HashMap<String, String> mapperToArabian = new HashMap<String, String>(MAP_SIZE);

    private String[] mills = new String[] {
        "", "M", "MM", "MMM", "MMMM", "MMMMM" 
    };
    private String[] cents = new String[] {
        "", "C", "CC", "CCC", "CD", "D", "DC", "DCC", "DCCC", "CM" 
    };
    private String[] tens = new String[] {
        "", "X", "XX", "XXX", "XL", "L", "LX", "LXX", "LXXX", "XC" 
    };
    private String[] ones = new String[] {
        "", "I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX" 
    };
    
    public NumberConverter() {
        StringBuffer sb = new StringBuffer(20);
        for (int i=0; i<MAX_NUMBER; i++) {
            int j = i;
            sb.append(mills[j/1000]);
            j = j % 1000;
            sb.append(cents[j/100]);
            j = j % 100;
            sb.append(tens[j/10]);
            sb.append(ones[j%10]);

            String key = Integer.toString(i, 10);
            String value = sb.toString().trim();
            mapperToRoman.put(key, value);
            mapperToArabian.put(value, key);
            sb.setLength(0);
        }
    }

    public String toRoman(int arabianNumber) {
        return mapperToRoman.get(Integer.toString(arabianNumber, 10));
    }

    public int toArabian(String romanNumber) {
        String result = mapperToArabian.get(romanNumber);
        return result == null ? -1 : Integer.parseInt(result, 10);
    }

    public static void main(String args[]) {
        NumberConverter nc = new NumberConverter();
        System.out.println("A=3521 R=" + nc.toRoman(3521));
        System.out.println("R=XCII A=" + nc.toArabian("XCII"));
    }
    
}
 
Odgovor na temu

cyber_killer

Član broj: 90634
Poruke: 95
*.dial-up.dsl.siol.net.



Profil

icon Re: Moje zadace iz Jave17.05.2007. u 20:02 - pre 213 meseci
Pa da to sam upravo danas cito o apletima.Ja sam ga obravnao ko java aplikaciju a sad sam ga dao i u html kodu tako da sve radi.Jedino sam malo action listner promjenio.Uf moram si dobro pogledati ovu codu jer nismo jos se ucili o HashMap.Pogledat cu jos malo na google.
I hvala ti na pomoci.
 
Odgovor na temu

[es] :: Java :: Moje zadace iz Jave

[ Pregleda: 2493 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

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