Java의 계산기는 덧셈, 뺄셈, 곱셈, 나눗셈, 계수, 거듭제곱 등을 계산하는 데 사용됩니다. 일반 Java 스위치 케이스와 Java Swing 독립 실행형 애플리케이션을 사용하여 이 계산기 작업을 수행할 수 있습니다. Plain Java 계산기 연산에서는 별도의 라이브러리가 필요하지 않지만, 스윙 애플리케이션의 경우 java.awt.event가 필요합니다.*, javax.swing.*, java.awt.*packages.
광고 이 카테고리에서 인기 있는 강좌 JAVA MASTERY - 전문 분야 | 78 코스 시리즈 | 15가지 모의고사계산기 스윙 방법:
두 가지 방법으로 계산기를 만들 수 있습니다.
1단계: 사용자가 작업을 수행하려는 문자를 입력합니다 “+”, “-”, “*”, “/”, “%”, “^” 등
2단계: 스위치 케이스 내에서 각 문자에 대한 논리를 구현했습니다.
3단계: 덧셈, 뺄셈, 곱셈, 나눗셈, 모듈러스(나머지 찾기), 거듭제곱 등의 문자 연산을 기반으로 합니다.
구문:
public class CalculatorSwitchCase { //Ask input from user switch(character) { case '+'://addition operation case '-'://subtraction operation case '*'://multiplication operation case '/'://division operation case '%'://modulus operation case '^'://power operation } //display output }
코드:
package com.calculator; import java.util.Scanner; public class CalculatorSwitchCase { public static void main(String[] args) { // declaring varibales double firstNumber, secondNumber; double result_operation_output; // Creating scanner for object for allow input Scanner scannerObject = new Scanner(System.in); do { System.out.println("=============================================="); System.out.println("1. + for ADDITION"); System.out.println("2. - for SUBTRACTION"); System.out.println("3. * for MULTIPLICATION"); System.out.println("5. 4. / for DIVISION"); System.out.println("6. % for REMAINDER"); System.out.println("7. ^ for POWER"); System.out.println("8. Q for QUIT"); System.out.println("=============================================="); // ask the user to enter first number System.out.print("Enter your first number:\n"); firstNumber = scannerObject.nextDouble(); // ask the user to enter second number System.out.print("Enter your second number:\n"); secondNumber = scannerObject.nextDouble(); System.out.print("Enter an operators like (+, -, *, /, %, ^) only:\n "); // storing the operator in char object char operator = scannerObject.next().charAt(0); switch (operator) { case '+': result_operation_output = firstNumber + secondNumber; break; case '-': result_operation_output = firstNumber - secondNumber; break; case '*': result_operation_output = firstNumber * secondNumber; break; case '/': result_operation_output = firstNumber / secondNumber; break; case '%': result_operation_output = firstNumber % secondNumber; break; case '^': result_operation_output = Math.pow(firstNumber, secondNumber); break; case 'Q': System.exit(0); default: System.out.printf("Please enter specified operator only"); return; } System.out.println(firstNumber + " " + operator + " " + secondNumber + " is : " + result_operation_output); } while (result_operation_output != 'Q'); scannerObject.close(); } }
출력:
덧셈과 뺄셈을 위한 o/p
곱셈과 나눗셈을 위한 o/p
나머지와 거듭제곱을 위한 o/p
1단계: 클래스를 생성하고 JFrame, ActionerListener에서 확장합니다.
2단계: 0~9의 숫자와 +, -, *, *, % 등의 문자 버튼 만들기
3단계: 모든 버튼에 대한 액션 리스너를 작성합니다.
4단계: 이 모든 구성요소를 화면에 추가하세요.
코드:
package com.calculator.swing; //Java program to create a simple calculator //with basic +, -, /, * using java swing elements import java.awt.Color; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JTextField; import javax.swing.UIManager; @SuppressWarnings("serial") public class CalculatorSwing extends JFrame implements ActionListener { // create a frame static JFrame frameToDisplay; // create a textfield static JTextField labeTextField; // it store the operands and operators String string0, string1, string2; // constructor CalculatorSwing() { string0 = string1 = string2 = ""; } // main function to java application public static void main(String args[]) { // create the frame to display the screen frameToDisplay = new JFrame("My Calculator"); try { // used to set the look and feel for the application UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); } catch (Exception exception) { System.err.println(exception.getMessage()); } // create the class object CalculatorSwing calculatorSwing = new CalculatorSwing(); // create text field labeTextField = new JTextField(16); // set to the non editable labeTextField.setEditable(false); // declaring numbers buttons and operators buttons JButton button_0, button_1, button_2, button_3, button_4, button_5, button_6, button_7, button_8, button_9, button_add, button_subtract, button_div, button_mul, button_dot, button_equal1, button_equal2; // creating numbers buttons button_0 = new JButton("0"); button_1 = new JButton("1"); button_2 = new JButton("2"); button_3 = new JButton("3"); button_4 = new JButton("4"); button_5 = new JButton("5"); button_6 = new JButton("6"); button_7 = new JButton("7"); button_8 = new JButton("8"); button_9 = new JButton("9"); // creating equals buttons button_equal2 = new JButton("="); // creating operators like +,-,*,/ buttons button_add = new JButton("+"); button_subtract = new JButton("-"); button_div = new JButton("/"); button_mul = new JButton("*"); button_equal1 = new JButton("C"); // creating dot(.) buttons button_dot = new JButton("."); // creating panel JPanel jPanel = new JPanel(); // adding action listeners to the buttons button_mul.addActionListener(calculatorSwing); button_div.addActionListener(calculatorSwing); button_subtract.addActionListener(calculatorSwing); button_add.addActionListener(calculatorSwing); button_9.addActionListener(calculatorSwing); button_8.addActionListener(calculatorSwing); button_7.addActionListener(calculatorSwing); button_6.addActionListener(calculatorSwing); button_5.addActionListener(calculatorSwing); button_4.addActionListener(calculatorSwing); button_3.addActionListener(calculatorSwing); button_2.addActionListener(calculatorSwing); button_1.addActionListener(calculatorSwing); button_0.addActionListener(calculatorSwing); button_dot.addActionListener(calculatorSwing); button_equal1.addActionListener(calculatorSwing); button_equal2.addActionListener(calculatorSwing); // add all elements to the panel jPanel.add(labeTextField); jPanel.add(button_add); jPanel.add(button_1); jPanel.add(button_2); jPanel.add(button_3); jPanel.add(button_subtract); jPanel.add(button_4); jPanel.add(button_5); jPanel.add(button_6); jPanel.add(button_mul); jPanel.add(button_7); jPanel.add(button_8); jPanel.add(button_9); jPanel.add(button_div); jPanel.add(button_dot); jPanel.add(button_0); jPanel.add(button_equal1); jPanel.add(button_equal2); // set background of the panel jPanel.setBackground(Color.darkGray); // add the panel to the frame frameToDisplay.add(jPanel); frameToDisplay.setSize(210, 230); frameToDisplay.show(); } //action listener implementation public void actionPerformed(ActionEvent e) { String input = e.getActionCommand(); // check if the given value is number if ((input.charAt(0) >= '0' && input.charAt(0) <= '9') || input.charAt(0) == '.') { // if operand is present then add to second no if (!string1.equals("")) string2 = string2 + input; else string0 = string0 + input; // set the value to the text labeTextField.setText(string0 + string1 + string2); } else if (input.charAt(0) == 'C') { // clearing string0 = string1 = string2 = ""; // set the value of the text labeTextField.setText(string0 + string1 + string2); } else if (input.charAt(0) == '=') { double equalsInput; // store the value in the first index if (string1.equals("+")) equalsInput = (Double.parseDouble(string0) + Double.parseDouble(string2)); else if (string1.equals("-")) equalsInput = (Double.parseDouble(string0) - Double.parseDouble(string2)); else if (string1.equals("/")) equalsInput = (Double.parseDouble(string0) / Double.parseDouble(string2)); else equalsInput = (Double.parseDouble(string0) * Double.parseDouble(string2)); // set the value of the text labeTextField.setText(string0 + string1 + string2 + "=" + equalsInput); // converting int to string string0 = Double.toString(equalsInput); string1 = string2 = ""; } else { // if no operand is there if (string1.equals("") || string2.equals("")) string1 = input; else { double te; // store the value in the first index if (string1.equals("+")) te = (Double.parseDouble(string0) + Double.parseDouble(string2)); else if (string1.equals("-")) te = (Double.parseDouble(string0) - Double.parseDouble(string2)); else if (string1.equals("/")) te = (Double.parseDouble(string0) / Double.parseDouble(string2)); else te = (Double.parseDouble(string0) * Double.parseDouble(string2)); // converting int to string string0 = Double.toString(te); // put the operator string1 = input; // take the operand as blank string2 = ""; } // set the value of the text labeTextField.setText(string0 + string1 + string2); } } }
출력:
Java 계산기는 덧셈, 뺄셈, 나눗셈, 곱셈, 모듈러스, 거듭제곱과 같은 연산을 계산하는 데 사용됩니다. 이는 스위치 케이스 문을 사용하는 방법과 스윙 API를 사용하는 두 가지 방법으로 수행할 수 있습니다.
위 내용은 자바 계산기의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!