Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //KLASA DO TWORZENIA OKNA
- import java.awt.event.ActionEvent;
- import java.awt.event.ActionListener;
- import javax.swing.ButtonGroup;
- import javax.swing.JCheckBox;
- import javax.swing.JFrame;
- import javax.swing.JOptionPane;
- import javax.swing.JRadioButton;
- import javax.swing.JTextField;
- import javax.swing.JLabel;
- import javax.swing.JButton;
- import javax.swing.JList;
- import javax.swing.JMenuItem;
- import java.awt.List;
- import javax.swing.JMenu;
- import java.awt.Choice;
- import javax.swing.JComboBox;
- import javax.swing.SwingConstants;
- import java.awt.Color;
- import java.awt.Font;
- public class Kalkulator extends JFrame implements ActionListener
- {
- private JTextField tdane,twynik;
- //private Choice mm,cm,dm,m,km,Ar,Ha,dkg,g,kg,Tona,mm3,kg3,ml,l;
- private JComboBox we,wy;
- double dane,wynik;
- private JButton btnPrzelicz,btnWyjście;
- private JCheckBox jkwadrat;
- public Kalkulator()
- {
- setResizable(false);
- setSize(400,250);
- setLocation(600,300);
- setTitle("Kalkulator podstawowych jednostek SI");
- getContentPane().setLayout(null);
- JLabel lblWynik = new JLabel("Wynik:");
- lblWynik.setBounds(10, 112, 46, 14);
- getContentPane().add(lblWynik);
- JLabel lblWprowadzoneDane = new JLabel("Wprowadzone Dane:");
- lblWprowadzoneDane.setBounds(10, 11, 129, 14);
- getContentPane().add(lblWprowadzoneDane);
- JLabel lblJednostkaDanychWejciowych = new JLabel("Jednostka");
- lblJednostkaDanychWejciowych.setBounds(281, 11, 171, 14);
- getContentPane().add(lblJednostkaDanychWejciowych);
- JLabel lblJednostkaWyniku = new JLabel("Jednostka wyniku");
- lblJednostkaWyniku.setBounds(281, 112, 151, 14);
- getContentPane().add(lblJednostkaWyniku);
- btnPrzelicz = new JButton("Przelicz");
- btnPrzelicz.setBounds(10, 166, 89, 23);
- getContentPane().add(btnPrzelicz);
- btnPrzelicz.addActionListener(this);
- JLabel lblVerB = new JLabel("ver. b2.0.5");
- lblVerB.setFont(new Font("Tahoma", Font.BOLD, 11));
- lblVerB.setForeground(new Color(0, 0, 0));
- lblVerB.setHorizontalAlignment(SwingConstants.CENTER);
- lblVerB.setBounds(311, 182, 69, 14);
- getContentPane().add(lblVerB);
- btnWyjście = new JButton("Wyjście");
- btnWyjście.setBounds(109, 166, 89, 23);
- getContentPane().add(btnWyjście);
- btnWyjście.addActionListener(this);
- tdane = new JTextField();
- tdane.setToolTipText("Podaj watro\u015B\u0107 liczby do przeliczenia przecinek zast\u0105p kropk\u0105");
- tdane.setBounds(10, 33, 261, 23);
- getContentPane().add(tdane);
- tdane.setColumns(10);
- tdane.addActionListener(this);
- twynik = new JTextField();
- twynik.setToolTipText("Tutaj otrzymasz wynik przeliczenia");
- twynik.setBounds(10, 132, 261, 23);
- getContentPane().add(twynik);
- twynik.setColumns(10);
- we = new JComboBox();
- we.setToolTipText("Wybierz jednostk\u0119");
- we.setBounds(281, 31, 99, 25);
- getContentPane().add(we);
- we.addItem("mm");
- we.addItem("cm");
- we.addItem("dm");
- we.addItem("m");
- we.addItem("km");
- we.addItem("Ar");
- we.addItem("Ha");
- we.addItem("g");
- we.addItem("dkg");
- we.addItem("kg");
- we.addItem("Tona");
- //we.addItem("mm3");
- //we.addItem("ml");
- //we.addItem("l");
- //we.addItem("kg3");
- we.addActionListener(this);
- wy = new JComboBox();
- wy.setToolTipText("Wybierz jednostk\u0119 wyniku");
- wy.setBounds(281, 132, 99, 23);
- getContentPane().add(wy);
- wy.addItem("mm");
- wy.addItem("cm");
- wy.addItem("dm");
- wy.addItem("m");
- wy.addItem("km");
- wy.addItem("Ar");
- wy.addItem("Ha");
- wy.addItem("g");
- wy.addItem("dkg");
- wy.addItem("kg");
- wy.addItem("Tona");
- jkwadrat = new JCheckBox("Jednostki kwadratowe");
- jkwadrat.setToolTipText("Zaznacz je\u015Bli chcesz korzysta\u0107 z jednostek kwadratowych");
- jkwadrat.setBounds(20, 65, 171, 23);
- getContentPane().add(jkwadrat);
- jkwadrat.addActionListener(this);
- //wy.addItem("mm3");
- //wy.addItem("ml");
- //wy.addItem("l");
- //wy.addItem("kg3");
- wy.addActionListener(this);
- }
- @Override
- public void actionPerformed(ActionEvent e)
- {
- Object s = e.getSource();
- String rozwiazanie;
- if (s == btnPrzelicz || s == tdane || s == we || s == wy)
- {
- String jd = (String) we.getSelectedItem();
- String jw = (String) wy.getSelectedItem();
- double dane = Double.parseDouble(tdane.getText());
- Rozwiaz rownanie = new Rozwiaz(jd,jw,dane);
- if (jkwadrat.isSelected() == true)
- {
- rozwiazanie = rownanie.rozwiaz2().toString();
- }
- else
- {
- rozwiazanie = rownanie.rozwiaz().toString();
- }
- twynik.setText(rozwiazanie);
- }
- else if (s == btnWyjście)
- {
- dispose();
- }
- }
- public static void main(String[] args)
- {
- Kalkulator kalkulator = new Kalkulator();
- kalkulator.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- kalkulator.setVisible(true);
- }
- }
- //KLASA PRZELICZAJĄCA
- import static java.lang.Math.pow;
- import static java.lang.Math.round;
- import java.math.BigDecimal;
- import java.math.BigInteger;
- import javax.swing.JOptionPane;
- public class Rozwiaz
- {
- double dane,wynik,cos;
- String jd,jw;
- public Rozwiaz(String jd, String jw, double dane)
- {
- this.dane = dane;
- this.jw = jw;
- this.jd = jd;
- }
- public String rozwiaz()
- {
- String swynik = "";
- if(jd.equals(jw))
- {
- swynik = "" + dane ;
- }
- else if (jd.equals("mm"))
- {
- if (jw.equals("cm") )
- {
- dane = dane * 0.1;
- swynik = String.format("%.7f", + dane);
- }
- else if (jw.equals("dm") )
- {
- dane = dane * 0.01;
- swynik = String.format("%.7f", + dane) ;
- }
- else if (jw.equals("m"))
- {
- dane = dane * 0.001;
- swynik = String.format("%.7f", + dane) ;
- }
- else if (jw.equals("km"))
- {
- dane = dane * pow(10, -6);
- swynik = String.format("%.15f", + dane) ;
- }
- }
- else if (jd.equals("cm") )
- {
- if (jw.equals("mm"))
- {
- dane = dane * 10;
- swynik = String.format("%.7f", + dane) ;
- }
- else if (jw.equals("dm") )
- {
- dane = dane * 0.1;
- swynik = String.format("%.7f", + dane) ;
- }
- else if (jw.equals("m") )
- {
- dane = dane * 0.01;
- swynik = String.format("%.7f", + dane) ;
- }
- else if (jw.equals("km") )
- {
- dane = dane * pow(10, -5);
- swynik = String.format("%.7f", + dane) ;
- }
- }
- else if (jd.equals("dm") )
- {
- if (jw.equals("mm") )
- {
- dane = dane * 100;
- swynik = String.format("%.7f", + dane) ;
- }
- else if (jw.equals("cm") )
- {
- dane = dane * 10;
- swynik = String.format("%.7f", + dane) ;
- }
- else if (jw.equals("m") )
- {
- dane = dane * 0.1;
- swynik = String.format("%.7f", + dane) ;
- }
- else if (jw.equals("km"))
- {
- dane = dane * pow(10, -4);
- swynik = String.format("%.7f", + dane) ;
- }
- }
- else if (jd.equals("m") )
- {
- if (jw.equals("mm"))
- {
- dane = dane * 1000;
- swynik = String.format("%.7f", + dane) ;
- }
- else if (jw.equals("dm") )
- {
- dane = dane * 10;
- swynik = String.format("%.7f", + dane) ;
- }
- else if (jw.equals("cm"))
- {
- dane = dane * 100;
- swynik = String.format("%.7f", + dane) ;
- }
- else if (jw.equals("km"))
- {
- dane = dane * 0.001;
- swynik = String.format("%.7f", + dane) ;
- }
- }
- else if (jd.equals("km") )
- {
- if (jw.equals("mm") )
- {
- dane = dane * pow(10 ,6);
- swynik = String.format("%.7f", + dane) ;
- }
- else if (jw.equals("dm") )
- {
- dane = dane * pow(10 ,4);
- swynik = String.format("%.7f", + dane) ;
- }
- else if (jw.equals("m") )
- {
- dane = dane * 1000;
- swynik = String.format("%.7f", + dane) ;
- }
- else if (jw.equals("cm") )
- {
- dane = dane * pow(10 ,5);
- swynik = String.format("%.7f", + dane) ;
- }
- }
- else if (jd.equals("g"))
- {
- if (jw.equals("dkg"))
- {
- dane = dane * 0.1;
- swynik = String.format("%.7f", + dane) ;
- }
- else if (jw.equals("kg"))
- {
- dane = dane * 0.001;
- swynik = String.format("%.7f", + dane) ;
- }
- else if (jw.equals("Tona"))
- {
- dane = dane * pow(10, -6);
- swynik = String.format("%.7f", + dane) ;
- }
- }
- else if ( jd.equals("dkg"))
- {
- if (jw.equals("g"))
- {
- dane = dane * 10;
- swynik = String.format("%.7f", + dane) ;
- }
- else if (jw.equals("kg"))
- {
- dane = dane * 0.01;
- swynik = String.format("%.7f", + dane) ;
- }
- else if (jw.equals("Tona"))
- {
- dane = dane * pow(10, -5);
- swynik = String.format("%.7f", + dane) ;
- }
- }
- else if (jd.equals("kg"))
- {
- if (jw.equals("g"))
- {
- dane = dane * 1000;
- swynik = String.format("%.7f", + dane) ;
- }
- else if (jw.equals("dkg"))
- {
- dane = dane * 100;
- swynik = String.format("%.7f", + dane) ;
- }
- else if (jw.equals("Tona"))
- {
- dane = dane * 0.001;
- swynik = String.format("%.7f", + dane) ;
- }
- }
- else if (jd.equals("Tona"))
- {
- if (jw.equals("g"))
- {
- dane = dane * pow(10 ,6);
- swynik = String.format("%.7f", + dane) ;
- }
- else if (jw.equals("kg"))
- {
- dane = dane * 1000;
- swynik = String.format("%.7f", + dane) ;
- }
- else if (jw.equals("dkg"))
- {
- dane = dane * pow(10 ,5);
- swynik = String.format("%.15f", + dane) ;
- }
- }
- if ( (jd.equals("mm") || jd.equals("cm") || jd.equals("dm") || jd.equals("m") || jd.equals("km")) && (jw.equals("g") || jw.equals("dkg") || jw.equals("kg") || jw.equals("Tona")))
- {
- JOptionPane.showMessageDialog(null, "ZŁY TYP JEDNOSTKI", "Błąd",JOptionPane.ERROR_MESSAGE);
- swynik = "Error";
- }
- else if ( (jd.equals("g") || jd.equals("dkg") || jd.equals("kg") || jd.equals("Tona")) && (jw.equals("mm") || jw.equals("cm") || jw.equals("dm") || jw.equals("m") || jw.equals("km")))
- {
- JOptionPane.showMessageDialog(null, "ZŁY TYP JEDNOSTKI", "Błąd",JOptionPane.ERROR_MESSAGE);
- swynik = "Error";
- }
- if (jd.equals("Ar") || jd.equals("Ha") && (jw.equals("mm") || jw.equals("cm") || jw.equals("dm") || jw.equals("m") || jw.equals("km") || jw.equals("mm") || jw.equals("cm") || jw.equals("dm") || jw.equals("m") || jw.equals("km")))
- {
- JOptionPane.showMessageDialog(null, "ZAZNACZ POLE JEDNOSTEK KWADRATOWCYH", "Błąd",JOptionPane.ERROR_MESSAGE);
- swynik = "Error";
- }
- else if ( (jd.equals("cm") || jd.equals("dm") || jd.equals("m") || jd.equals("km") || jd.equals("mm") || jd.equals("cm") || jd.equals("dm") || jd.equals("m") || jd.equals("km")) && (jw.equals("Ar") || jw.equals("Ha")) )
- {
- JOptionPane.showMessageDialog(null, "ZAZNACZ POLE JEDNOSTEK KWADRATOWCYH", "Błąd",JOptionPane.ERROR_MESSAGE);
- swynik = "Error";
- }
- return swynik;
- }
- public String rozwiaz2()
- {
- String swynik = "";
- if(jd.equals(jw))
- {
- swynik = "" + dane ;
- }
- else if (jd.equals("mm"))
- {
- if (jw.equals("cm") )
- {
- dane = dane * pow(0.1,2);
- swynik = String.format("%.15f", + dane);
- }
- else if (jw.equals("dm") )
- {
- dane = dane * pow(0.01,2);
- swynik = String.format("%.15f", + dane) ;
- }
- else if (jw.equals("m"))
- {
- dane = dane * pow(0.001,2);
- swynik = String.format("%.15f", + dane) ;
- }
- else if (jw.equals("km"))
- {
- dane = dane * pow(pow(10, -6),2);
- swynik = String.format("%.15f", + dane) ;
- }
- else if (jw.equals("Ar"))
- {
- dane = dane * pow(10, -8);
- swynik = String.format("%.15f", + dane) ;
- }
- else if (jw.equals("Ha"))
- {
- dane = dane * pow(10, -10);
- swynik = String.format("%.15f", + dane) ;
- }
- }
- else if (jd.equals("cm") )
- {
- if (jw.equals("mm"))
- {
- dane = dane * pow(10,2);
- swynik = String.format("%.15f", + dane) ;
- }
- else if (jw.equals("dm") )
- {
- dane = dane * pow(0.1,2);
- swynik = String.format("%.15f", + dane) ;
- }
- else if (jw.equals("m") )
- {
- dane = dane * pow(0.01,2);
- swynik = String.format("%.15f", + dane) ;
- }
- else if (jw.equals("km") )
- {
- dane = dane * pow(pow(10, -5),2);
- swynik = String.format("%.15f", + dane) ;
- }
- else if (jw.equals("Ar"))
- {
- dane = dane * pow(10, -6);
- swynik = String.format("%.15f", + dane) ;
- }
- else if (jw.equals("Ha"))
- {
- dane = dane * pow(10, -8);
- swynik = String.format("%.15f", + dane) ;
- }
- }
- else if (jd.equals("dm") )
- {
- if (jw.equals("mm") )
- {
- dane = dane * pow(100,2);
- swynik = String.format("%.15f", + dane) ;
- }
- else if (jw.equals("cm") )
- {
- dane = dane * pow(10,2);
- swynik = String.format("%.15f", + dane) ;
- }
- else if (jw.equals("m") )
- {
- dane = dane * pow(0.1,2);
- swynik = String.format("%.15f", + dane) ;
- }
- else if (jw.equals("km"))
- {
- dane = dane * pow(pow(10, -4),2);
- swynik = String.format("%.15f", + dane) ;
- }
- else if (jw.equals("Ar"))
- {
- dane = dane * pow(10, -4);
- swynik = String.format("%.15f", + dane) ;
- }
- else if (jw.equals("Ha"))
- {
- dane = dane * pow(10, -6);
- swynik = String.format("%.15f", + dane) ;
- }
- }
- else if (jd.equals("m") )
- {
- if (jw.equals("mm"))
- {
- dane = dane * pow(1000,2);
- swynik = String.format("%.15f", + dane) ;
- }
- else if (jw.equals("dm") )
- {
- dane = dane * pow(10,2);
- swynik = String.format("%.15f", + dane) ;
- }
- else if (jw.equals("cm"))
- {
- dane = dane * pow(100,2);
- swynik = String.format("%.15f", + dane) ;
- }
- else if (jw.equals("km"))
- {
- dane = dane * pow(0.001,2);
- swynik = String.format("%.15f", + dane) ;
- }
- else if (jw.equals("Ar"))
- {
- dane = dane * pow(10, -2);
- swynik = String.format("%.15f", + dane) ;
- }
- else if (jw.equals("Ha"))
- {
- dane = dane * pow(10, -4);
- swynik = String.format("%.15f", + dane) ;
- }
- }
- else if (jd.equals("km") )
- {
- if (jw.equals("mm") )
- {
- dane = dane * pow(pow(10 ,6),2);
- swynik = String.format("%.15f", + dane) ;
- }
- else if (jw.equals("dm") )
- {
- dane = dane * pow(pow(10 ,4),2);
- swynik = String.format("%.15f", + dane) ;
- }
- else if (jw.equals("m") )
- {
- dane = dane * pow(1000,2);
- swynik = String.format("%.15f", + dane) ;
- }
- else if (jw.equals("cm") )
- {
- dane = dane * pow(pow(10 ,5),2);
- swynik = String.format("%.15f", + dane) ;
- }
- else if (jw.equals("Ar"))
- {
- dane = dane * pow(10, 4);
- swynik = String.format("%.15f", + dane) ;
- }
- else if (jw.equals("Ha"))
- {
- dane = dane * pow(10, 3);
- swynik = String.format("%.15f", + dane) ;
- }
- }
- else if (jd.equals("Ar") )
- {
- if (jw.equals("mm") )
- {
- dane = dane * pow(10,8);
- swynik = String.format("%.15f", + dane) ;
- }
- else if (jw.equals("dm") )
- {
- dane = dane * pow(10,4);
- swynik = String.format("%.15f", + dane) ;
- }
- else if (jw.equals("m") )
- {
- dane = dane * pow(10,2);
- swynik = String.format("%.15f", + dane) ;
- }
- else if (jw.equals("cm") )
- {
- dane = dane * pow(10,6);
- swynik = String.format("%.15f", + dane) ;
- }
- else if (jw.equals("Ha"))
- {
- dane = dane * pow(10,-2);
- swynik = String.format("%.15f", + dane) ;
- }
- }
- else if (jd.equals("Ha") )
- {
- if (jw.equals("mm") )
- {
- dane = dane * pow(10,10);
- swynik = String.format("%.15f", + dane) ;
- }
- else if (jw.equals("dm") )
- {
- dane = dane * pow(10,6);
- swynik = String.format("%.15f", + dane) ;
- }
- else if (jw.equals("m") )
- {
- dane = dane * pow(10,4);
- swynik = String.format("%.15f", + dane) ;
- }
- else if (jw.equals("cm") )
- {
- dane = dane * pow(10,8);
- swynik = String.format("%.15f", + dane) ;
- }
- else if (jw.equals("Ar"))
- {
- dane = dane * pow(10,2);
- swynik = String.format("%.15f", + dane) ;
- }
- }
- else if (jd.equals("g"))
- {
- if (jw.equals("dkg"))
- {
- dane = dane * pow(0.1,2);
- swynik = String.format("%.15f", + dane) ;
- }
- else if (jw.equals("kg"))
- {
- dane = dane * pow(0.001,2);
- swynik = String.format("%.15f", + dane) ;
- }
- else if (jw.equals("Tona"))
- {
- dane = dane * pow(pow(10, -6),2);
- swynik = String.format("%.15f", + dane) ;
- }
- }
- else if ( jd.equals("dkg"))
- {
- if (jw.equals("g"))
- {
- dane = dane * pow(10,2);
- swynik = String.format("%.15f", + dane) ;
- }
- else if (jw.equals("kg"))
- {
- dane = dane * pow(0.01,2);
- swynik = String.format("%.15f", + dane) ;
- }
- else if (jw.equals("Tona"))
- {
- dane = dane * pow(pow(10, -5),2);
- swynik = String.format("%.15f", + dane) ;
- }
- }
- else if (jd.equals("kg"))
- {
- if (jw.equals("g"))
- {
- dane = dane * pow(1000,2);
- swynik = String.format("%.15f", + dane) ;
- }
- else if (jw.equals("dkg"))
- {
- dane = dane * pow(100,2);
- swynik = String.format("%.15f", + dane) ;
- }
- else if (jw.equals("Tona"))
- {
- dane = dane * pow(0.001,2);
- swynik = String.format("%.15f", + dane) ;
- }
- }
- else if (jd.equals("Tona"))
- {
- if (jw.equals("g"))
- {
- dane = dane * pow(pow(10 ,6),2);
- swynik = String.format("%.15f", + dane) ;
- }
- else if (jw.equals("kg"))
- {
- dane = dane * pow(1000,2);
- swynik = String.format("%.15f", + dane) ;
- }
- else if (jw.equals("dkg"))
- {
- dane = dane * pow(pow(10 ,5),2);
- swynik = String.format("%.30f", + dane) ;
- }
- }
- if ( (jd.equals("mm") || jd.equals("cm") || jd.equals("dm") || jd.equals("m") || jd.equals("km") || jd.equals("Ar") || jd.equals("Ha")) && (jw.equals("g") || jw.equals("dkg") || jw.equals("kg") || jw.equals("Tona") ))
- {
- JOptionPane.showMessageDialog(null, "ZŁY TYP JEDNOSTKI", "Błąd",JOptionPane.ERROR_MESSAGE);
- swynik = "Error";
- }
- else if ( (jd.equals("g") || jd.equals("dkg") || jd.equals("kg") || jd.equals("Tona")) && (jw.equals("mm") || jw.equals("cm") || jw.equals("dm") || jw.equals("m") || jw.equals("km") || jw.equals("Ar") || jw.equals("Ha") ))
- {
- JOptionPane.showMessageDialog(null, "ZŁY TYP JEDNOSTKI", "Błąd",JOptionPane.ERROR_MESSAGE);
- swynik = "Error";
- }
- return swynik;
- }
- public static void main(String[] args)
- {
- Rozwiaz rownanie = new Rozwiaz("mm","g",0.00789);
- System.out.println((rownanie.rozwiaz()));
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement