Tamam Bu hesap makinesiyle ilgili bir sorun yaşıyorum. Projeye atandım ve sadece toplama ve çıkarma işlemlerini kullanabiliyorum. Ödevin ilk kısmı Tarayıcı sınıfı kullanılarak oluşturuldu. Böylece bir döngü oluşturdum ve hesap makinesi çalışıyor ... ama çarpma ve bölme kapalı. Temelde sadece sayıları eklemeye devam ediyor ... 3 * 6 gibi cevaplar 24 olacak ... ama sonra 2 * 1 yapacağım, 26 ya da başka bir şey gibi olacak. Evet, dersleri farklı dosyalar olarak kaydettim. ..can birileri ben 0 olarak geri değerleri geri asla beri deyimleri çalıştırılır eğer onun her senin bu nedenle her deyim aşağı yürütmek devam çünkü eğer imanHesap makinesi Proje Problemi
public class Calculator_part2 extends calculator_gui{
public static void main(String[]args)
{
calculator_gui n = new calculator_gui();
n.gui();
}
}
import javax.swing.*;
import java.awt.FlowLayout;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
public class calculator_gui implements ActionListener
{
JFrame frame = new JFrame(" Calculator ");
JPanel panel = new JPanel(new FlowLayout());
JTextArea text = new JTextArea(1,20);
JButton but1 = new JButton("1");
JButton but2 = new JButton("2");
JButton but3 = new JButton("3");
JButton but4 = new JButton("4");
JButton but5 = new JButton("5");
JButton but6 = new JButton("6");
JButton but7 = new JButton("7");
JButton but8 = new JButton("8");
JButton but9 = new JButton("9");
JButton but0 = new JButton("0");
JButton add = new JButton(" + ");
JButton sub = new JButton(" - ");
JButton multi = new JButton (" * ");
JButton div = new JButton("/");
JButton buteq = new JButton (" = ");
JButton butclear = new JButton("C");
Double number1,number2,result = 0.0,temp = 0.0;
int addc = 0, subc=0,multic=0,divc=0,i = 0;
public void gui()
{
frame.setVisible(true);
frame.setSize(250,200);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.add(panel);
panel.add(text);
panel.add(but1);
panel.add(but2);
panel.add(but3);
panel.add(but4);
panel.add(but5);
panel.add(but6);
panel.add(but7);
panel.add(but8);
panel.add(but9);
panel.add(but0);
panel.add(add);
panel.add(sub);
panel.add(multi);
panel.add(div);
panel.add(buteq);
panel.add(butclear);
but1.addActionListener(this);
but2.addActionListener(this);
but3.addActionListener(this);
but4.addActionListener(this);
but5.addActionListener(this);
but6.addActionListener(this);
but7.addActionListener(this);
but8.addActionListener(this);
but9.addActionListener(this);
but0.addActionListener(this);
add.addActionListener(this);
sub.addActionListener(this);
multi.addActionListener(this);
div.addActionListener(this);
buteq.addActionListener(this);
butclear.addActionListener(this);
}
public void actionPerformed(ActionEvent e)
{
Object source = e.getSource();
if(source == butclear)
{
//number1 = 0.0;
//number2 = 0.0;
text.setText("");
}
if(source == but1)
{
text.append("1");
}
if(source == but2)
{
text.append("2");
}
if(source == but3)
{
text.append("3");
}
if(source == but4)
{
text.append("4");
}
if(source == but5)
{
text.append("5");
}
if(source == but6)
{
text.append("6");
}
if(source == but7)
{
text.append("7");
}
if(source == but8)
{
text.append("8");
}
if(source == but9)
{
text.append("9");
}
if(source == but0)
{
text.append("0");
}
if(source == add)
{
number1 = number_reader();
text.setText("");
addc=1;
subc=0;
multic=0;
divc=0;
}
if(source == sub)
{
number1 = number_reader();
text.setText("");
addc=0;
subc=1;
multic=0;
divc=0;
}
if(source == multi)
{
number1 = number_reader();
text.setText("");
addc=0;
subc=0;
multic=1;
divc=0;
}
if(source == div)
{
number1 = number_reader();
text.setText("");
addc=0;
subc=0;
multic=0;
divc=1;
}
if(source == buteq)
{
number2 = number_reader();
if(addc>0)
{
result = number1 + number2;
text.setText(Double.toString(result));
}
if(subc>0)
{
result = number1 - number2;
text.setText(Double.toString(result));
}
if(multic>0)
{
for( double i = 0;i <number2;i++)
{
result += number1;
}
text.setText(Double.toString(result));
}
if(divc>0)
{
for (i = 0; temp < number1; i++)
{
temp += number2;
}
text.setText(Double.toString(i));
}
}
}
public double number_reader()
{
double num1;
String s;
s = text.getText();
num1 = Double.valueOf(s);
return num1;
}
}
10 ayrı alan yerine Düğme nesneleri için bir Dizi kullanma hakkında nasıl? –