私は青いJでの問題、問題のコードは モデルクラスJavaオブジェクト、インターフェース
import java.util.*;
import java.awt.*;
import javax.swing.*;
import javax.swing.border.*;
import java.awt.event.*;
public class CalcModel extends Observable
{
private JTextArea JDisplay;
private JTextField JScreen;
private OperandEntry eState;
private String sScreen, sDisplay;
private Operation operation;
private double dOperand1,dOperand2;
private void ClearData(boolean bAll)
{
sScreen = "";
int a= 1;
if (bAll == true)
{
sDisplay = ("");
a= 3;
eState = OperandEntry.First;
operation = null;
}
SetUpdate(iChange);
JScreen.setText("");
}
private void ProcessOpr()
{
dOperand2 = Double.parseDouble(sScreen);
dOperand1 = objOpr.execute(dOperand1,dOperand2);
sDisplay(dOperand2+ " = " + dOperand1+ " ");
SetUpdate(x);
}
private Operation add = new Operation()
{ public double execute(double d1,double d2)
{ return d1 + d2;
SetUpdate(x);
}
};
private Operation Div = new Operation()
{
public double execute(double d1,double d2)
{
return d1 /d2;
SetUpdate(x);
}
};
private Operation sub = new Operation()
{
public double execute(double d1,double d2)
{ return d1 -d2;
SetUpdate(x);
}
};
private Operation Multi = new Operation()
{
public double execute(double d1,double d2)
{
return d1 * d2;
SetUpdate(x);
}
};
private Operation Mag = new Operation()
{
public double execute(double d1,double d2)
{
if((int)d1 != d2 || (int)d1 != d1)
{
d1=(int)d1;
d2=(int)d2;
MsgInfo("Assuming Integers;" + d1 + " %" +d2);
}
return d1 % d2;
SetUpdate(x);
}
};
public void SetUpdate(ObservableState o)
{
setChanged();
notifyObservers(o);
}
}
public interface Oparation
{
public double execute(double d1,double d2);
}
public enum OperandEntry{
First, Second,ResultFirst
};
public enum ObservableState{ Screen,Display,Both};
質問を緊急としてマークすると、より速い回答が得られません。実際、それは私のような人々を、あなたを助ける傾向がなくなります。緊急の前にこれを始めたはずです。あなたが時間を使い果たしているのは私たちの問題ではありません。 – Falmarri