Monday, 6 March 2017

Thursday, 2 March 2017

amit kumar iwp

my name amit kumar and studen of jetking i do the work in iwp delhi in vikash puri 

java ascpn

01import java.awt.*;
002import javax.swing.*;
003import java.awt.event.*;
004 
005public class Calculator extends JFrame implements ActionListener {
006     
007    JPanel[] row = new JPanel[5];
008    JButton[] button = new JButton[19];
009    String[] buttonString = {"7", "8", "9", "+",
010                             "4", "5", "6", "-",
011                             "1", "2", "3", "*",
012                             ".", "/", "C", "√",
013                             "+/-", "=", "0"};
014    int[] dimW = {300,45,100,90};
015    int[] dimH = {35, 40};
016    Dimension displayDimension = new Dimension(dimW[0], dimH[0]);
017    Dimension regularDimension = new Dimension(dimW[1], dimH[1]);
018    Dimension rColumnDimension = new Dimension(dimW[2], dimH[1]);
019    Dimension zeroButDimension = new Dimension(dimW[3], dimH[1]);
020    boolean[] function = new boolean[4];
021    double[] temporary = {0, 0};
022    JTextArea display = new JTextArea(1,20);
023    Font font = new Font("Times new Roman", Font.BOLD, 14);
024     
025    Calculator() {
026        super("Calculator");
027        setDesign();
028        setSize(380, 250);
029        setResizable(false);
030        setDefaultCloseOperation(EXIT_ON_CLOSE);
031        GridLayout grid = new GridLayout(5,5);
032        setLayout(grid);
033         
034        for(int i = 0; i < 4; i++)
035            function[i] = false;
036         
037        FlowLayout f1 = new FlowLayout(FlowLayout.CENTER);
038        FlowLayout f2 = new FlowLayout(FlowLayout.CENTER,1,1);
039        for(int i = 0; i < 5; i++)
040            row[i] = new JPanel();
041        row[0].setLayout(f1);
042        for(int i = 1; i < 5; i++)
043            row[i].setLayout(f2);
044         
045        for(int i = 0; i < 19; i++) {
046            button[i] = new JButton();
047            button[i].setText(buttonString[i]);
048            button[i].setFont(font);
049            button[i].addActionListener(this);
050        }
051         
052        display.setFont(font);
053        display.setEditable(false);
054        display.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT);
055        display.setPreferredSize(displayDimension);
056        for(int i = 0; i < 14; i++)
057            button[i].setPreferredSize(regularDimension);
058        for(int i = 14; i < 18; i++)
059            button[i].setPreferredSize(rColumnDimension);
060        button[18].setPreferredSize(zeroButDimension);
061         
062        row[0].add(display);
063        add(row[0]);
064         
065        for(int i = 0; i < 4; i++)
066            row[1].add(button[i]);
067        row[1].add(button[14]);
068        add(row[1]);
069         
070        for(int i = 4; i < 8; i++)
071            row[2].add(button[i]);
072        row[2].add(button[15]);
073        add(row[2]);
074         
075        for(int i = 8; i < 12; i++)
076            row[3].add(button[i]);
077        row[3].add(button[16]);
078        add(row[3]);
079         
080        row[4].add(button[18]);
081        for(int i = 12; i < 14; i++)
082            row[4].add(button[i]);
083        row[4].add(button[17]);
084        add(row[4]);
085         
086        setVisible(true);
087    }
088     
089    public void clear() {
090        try {
091            display.setText("");
092            for(int i = 0; i < 4; i++)
093                function[i] = false;
094            for(int i = 0; i < 2; i++)
095                temporary[i] = 0;
096        } catch(NullPointerException e) { 
097        }
098    }
099     
100    public void getSqrt() {
101        try {
102            double value = Math.sqrt(Double.parseDouble(display.getText()));
103            display.setText(Double.toString(value));
104        } catch(NumberFormatException e) {
105        }
106    }
107     
108    public void getPosNeg() {
109        try {
110            double value = Double.parseDouble(display.getText());
111            if(value != 0) {
112                value = value * (-1);
113                display.setText(Double.toString(value));
114            }
115            else {
116            }
117        } catch(NumberFormatException e) {
118        }
119    }
120     
121    public void getResult() {
122        double result = 0;
123        temporary[1] = Double.parseDouble(display.getText());
124        String temp0 = Double.toString(temporary[0]);
125        String temp1 = Double.toString(temporary[1]);
126        try {
127            if(temp0.contains("-")) {
128                String[] temp00 = temp0.split("-", 2);
129                temporary[0] = (Double.parseDouble(temp00[1]) * -1);
130            }
131            if(temp1.contains("-")) {
132                String[] temp11 = temp1.split("-", 2);
133                temporary[1] = (Double.parseDouble(temp11[1]) * -1);
134            }
135        } catch(ArrayIndexOutOfBoundsException e) {
136        }
137        try {
138            if(function[2] == true)
139                result = temporary[0] * temporary[1];
140            else if(function[3] == true)
141                result = temporary[0] / temporary[1];
142            else if(function[0] == true)
143                result = temporary[0] + temporary[1];
144            else if(function[1] == true)
145                result = temporary[0] - temporary[1];
146            display.setText(Double.toString(result));
147            for(int i = 0; i < 4; i++)
148                function[i] = false;
149        } catch(NumberFormatException e) {
150        }
151    }
152     
153    public final void setDesign() {
154        try {
155            UIManager.setLookAndFeel(
156                    "com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel");
157        } catch(Exception e) {  
158        }
159    }
160     
161    @Override
162    public void actionPerformed(ActionEvent ae) {
163        if(ae.getSource() == button[0])
164            display.append("7");
165        if(ae.getSource() == button[1])
166            display.append("8");
167        if(ae.getSource() == button[2])
168            display.append("9");
169        if(ae.getSource() == button[3]) {
170            //add function[0]
171            temporary[0] = Double.parseDouble(display.getText());
172            function[0] = true;
173            display.setText("");
174        }
175        if(ae.getSource() == button[4])
176            display.append("4");
177        if(ae.getSource() == button[5])
178            display.append("5");
179        if(ae.getSource() == button[6])
180            display.append("6");
181        if(ae.getSource() == button[7]) {
182            //subtract function[1]
183            temporary[0] = Double.parseDouble(display.getText());
184            function[1] = true;
185            display.setText("");
186        }
187        if(ae.getSource() == button[8])
188            display.append("1");
189        if(ae.getSource() == button[9])
190            display.append("2");
191        if(ae.getSource() == button[10])
192            display.append("3");
193        if(ae.getSource() == button[11]) {
194            //multiply function[2]
195            temporary[0] = Double.parseDouble(display.getText());
196            function[2] = true;
197            display.setText("");
198        }
199        if(ae.getSource() == button[12])
200            display.append(".");
201        if(ae.getSource() == button[13]) {
202            //divide function[3]
203            temporary[0] = Double.parseDouble(display.getText());
204            function[3] = true;
205            display.setText("");
206        }
207        if(ae.getSource() == button[14])
208            clear();
209        if(ae.getSource() == button[15])
210            getSqrt();
211        if(ae.getSource() == button[16])
212            getPosNeg();
213        if(ae.getSource() == button[17])
214            getResult();
215        if(ae.getSource() == button[18])
216            display.append("0");
217    }
218     
219    public static void main(String[] arguments) {
220        Calculator c = new Calculator();
221    }
222}