Rumah >Java >javaTutorial >Kalkulator dalam Java

Kalkulator dalam Java

王林
王林asal
2024-08-30 15:40:49668semak imbas

Kalkulator dalam Java digunakan untuk mengira penambahan, penolakan, pendaraban, pembahagian, modulus, kuasa nombor, dll. Kita boleh melakukan operasi kalkulator ini menggunakan bekas suis Java biasa dan menggunakan aplikasi kendiri Java swing. Dalam operasi kalkulator Java Biasa, kami tidak memerlukan sebarang perpustakaan tambahan, tetapi kami mesti memerlukan java.awt.event dalam kes aplikasi swing.*, javax.swing.*, java.awt.*pakej.

IKLAN Kursus Popular dalam kategori ini JAVA MASTERY - Pengkhususan | 78 Siri Kursus | 15 Ujian Olok-olok

Kaedah

Kaedah ayunan untuk kalkulator:

  • tambah(Komponen komponen): Ia digunakan untuk menambah komponen pada bekas.
  • setSize(int x, int y): Ia digunakan untuk menetapkan saiz bekas mengikut dimensi tertentu.
  • setText(String string): Ia digunakan untuk menetapkan teks rentetan.
  • getText(): Ia digunakan untuk mendapatkan teks bekas.
  • addActionListenerListener(ActionListener actionListener): Ia digunakan untuk menetapkan tindakan kepada bekas.
  • setBackground(Warna warna) : Ia digunakan untuk menetapkan warna latar belakang.

Bagaimana untuk Mencipta Kalkulator dalam Java?

Kita boleh mencipta kalkulator dalam 2 cara:

  • Menggunakan Pernyataan Kes Suis.
  • Menggunakan grafik Swing.

1. Menggunakan Pernyataan Kes Suis

Langkah 1: Pengguna memasukkan aksara yang operasi ingin lakukan seperti “+”, “-”, “*”, “/”, “%”, “^” dsb.

Langkah 2: Dalam sarung suis, kami telah melaksanakan logik untuk setiap aksara.

Langkah 3: Berdasarkan operasi aksara yang dilakukan seperti penambahan, penolakan, pendaraban, pembahagian, modulus (mencari baki) dan kuasa nombor.

Sintaks:

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
}
Contoh #1 – Tukar Kefungsian Kalkulator Sarung

Kod:

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();
	}
}

Output:

o/p untuk penambahan dan penolakan

Kalkulator dalam Java

o/p untuk pendaraban dan pembahagian

Kalkulator dalam Java

o/p untuk baki dan kuasa

Kalkulator dalam Java

2. Menggunakan Grafik Swing

Langkah1: Buat kelas dan lanjutkan daripada JFrame, ActionerListener.

Langkah2: Membuat butang untuk nombor daripada 0-9 dan butang aksara seperti +, -, *, *, % dll.

Langkah3: Tulis pendengar Tindakan untuk semua butang.

Langkah4: Tambahkan semua komponen ini pada Skrin.

Contoh 2 – Kalkulator Ayunan

Kod:

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);
		}
	}
}

Output:

Kalkulator dalam Java

Kalkulator dalam Java

Kalkulator dalam Java

Kesimpulan

Kalkulator Java digunakan untuk mengira operasi seperti penambahan, penolakan, pembahagian, pendaraban, modulus dan kuasa. Ini boleh dilakukan dalam 2 cara dengan menggunakan pernyataan kes suis dan dengan menggunakan API swing.

Atas ialah kandungan terperinci Kalkulator dalam Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:Kamus JawaArtikel seterusnya:Kamus Jawa