急急急!求一段用java编写的向量基本运算代码,含加减乘及数乘
2个回答
展开全部
导入java.awt中的*;。
进口java.awt.event中*;。
导入java.lang中的*;。
进口javax.swing中*;。
公共类计数器扩展帧{
/ /声明
网格布局GL1,GL2,GL3 3面板布局;
面板P0,P1,P2, P3;
的JTextField TF1;
TextField的TF2;
按钮B0,B1,B2,B3,B4,B5,B6,B7,B8 ,B9,B10,B11,B12,B13,B14,
B15,B16,B17,B18,B19,B20,B21,B22,B23,B24,B25,B26;
的StringBuffer海峡;/ /显示显示字符串
双的x,y ;/ / x和y是操作数
整数;/ / Z表示操作员点击。 0表示“+”,1“ - ”,2表示“*”,3为“/”
静态双米;/ /
存储器数字
公共计数器() {
GL1 =新的网格布局(1,4,10,0);/ /实例化3面板布局
GL2 =新的网格布局(4,1,0,15);
GL3 =新网格布局(4,5,10,15);
TF1 =新的JTextField(27);/ /显示
TF1。 setHorizontalAlignment(JTextField.RIGHT);
tf1.setEnabled(假);
tf1.setText(“0”);
TF2 =新的TextField(10);/ /显示内存索引值 BR /> tf2.setEditable(假);
/ /实例化所有按钮,设置前景色并注册他们的听众
B0 =新的Button(“退格键”);
b0.setForeground( Color.red);
b0.addActionListener(新的Bt());
B1 =新的Button(“CE”);
b1.setForeground(Color.red);
b1.addActionListener(新的Bt());
B2 =新的Button(“C”);
b2.setForeground(Color.red);
b2.addActionListener(新的Bt()) ;
B3 =新的Button(“MC”);
b3.setForeground(Color.red);
b3.addActionListener(新的Bt()); B4 =新的Button (“MR”);
b4.setForeground(Color.red);
b4.addActionListener(新的Bt());
B5 =新的Button(“MS”);
> b5.setForeground(Color.red);
b5.addActionListener(新的Bt());
B6 =新的Button(“M +”);
b6.setForeground(Color.red );
b6.addActionListener(新的Bt());
B7 =新的Button(“7”);
b7.setForeground(Color.blue);
b7.addActionListener (新的Bt());
B8 =新的Button(“8”);
b8.setForeground(Color.blue);
b8.addActionListener(新的Bt()); B9 =新的Button(“9”);
b9.setForeground(Color.blue);
b9.addActionListener(新的Bt());
B10 =新的Button(“/ “);
b10.setForeground(Color.red);
b10.addActionListener(新的Bt());
B11 =新的Button(”SQRT“);
B11。 setForeground(Color.blue);
b11.addActionListener(新的Bt());
B12 =新的Button(“4”;);
b12.setForeground(Color.blue); BR /> b12.addActionListener(新的Bt());
B13 =新的Button(“10”);
B13。 setForeground(Color.blue);
b13.addActionListener(新的Bt());
B14 =新的Button(“6”);
b14.setForeground(Color.blue); b14.addActionListener(新的Bt());
B15 =新的Button(“*”);
b15.setForeground(Color.red);
b15.addActionListener(新的Bt( ));
B16 =新的Button(“%”);
b16.setForeground(Color.blue);
b16.addActionListener(新的Bt());
B17 =新的Button(“1”);
b17.setForeground(Color.blue);
b17.addActionListener(新的Bt());
B18 =新的Button(“2”); BR /> b18.setForeground(Color.blue);
b18.addActionListener(新的Bt());
B19 =新的Button(“3”); b19.setForeground(Color.蓝色);
b19.addActionListener(新的Bt());
B20 =新的Button(“ - ”);
b20.setForeground(Color.red);
B20。 addActionListener方法(新的Bt());
B21 =新的Button(“1 / X”);
b21.setForeground(Color.blue); b21.addActionListener(新的Bt()) ;
B22 =新的Button(“0”);
b22.setForeground(Color.blue);
b22.addActionListener(新的Bt());
B23 =新的Button (“+ / - ”);
b23.setForeground(Color.blue);
b23.addActionListener(新的Bt());
B24 =新的Button(“。”); BR /> b24.setForeground(Color.blue);
b24.addActionListener(新的Bt());
B25 =新的Button(“+”);
b25.setForeground(Color.红色);
b25.addActionListener(新的Bt());
B26 =新的Button(“=”);
b26.setForeground(Color.red);
B26。 addActionListener方法(新的Bt());
/ /实例化四个小组
P0 =新面板();
P1 =新面板();
P2 =新面板();
P3 =新面板();
/ /创建一个空字符串缓冲区区
海峡=新的StringBuffer();
/ /添加面板P0的组件,并设置其位置和大小的帧
p0.add(TF1); p0.setBounds(10,25,300,40);
/ /添加面板P1组件,并设置其位置和大小的帧
p1.setLayout(GL1); p1.add(TF2);
p1.add(B0);
p1.add (B1);
p1.add(B2);
p1.setBounds(10,65,300,25);
/ /添加组件的面板P2,并设定它的框架位置和大小
p2.setLayout(GL2);
p2.add(B3);
p2.add(B4);
p2.add(B5);
> p2.add(B6);
p2.setBounds(10,110,40,150);
/ /添加组件的面板p3和设置其位置和大小
p3.setLayout (GL3)在帧;/ /设置P3布局
p3.add(B7);
p3.add(B8);
p3.add(B9);
P3新增(B10);
p3.add(B11);
p3.add(B12);
p3.add(B13);
p3.add(B14);
p3.add(B15);
p3.add(B16);
p3.add(B17);
p3.add(B18);
P3。添加(B19);
p3.add(B20);
p3.add(B21);
p3.add(B22);
p3.add(B23); BR /> p3.add(B24);
p3.add(B25);
p3.add(B26);
p3.setBounds(60,110,250,150);的
/ /设置框架布局是留白的布局设计,并添加四个小组的setLayout(NULL);
添加(P0);
添加(P1);
添加(P2 );
添加(P3);
的setResizable(假);/ /不调整帧大小
/ /匿名类关闭
addWindowListener(新WindowAdapter(){
>公共无效windowClosing(WindowEvent E1){
System.exit(0);
}
});
的setBackground(Color.lightGray);
setBounds的(100 ,100,320,280);
其setVisible(真);
/ /构造器监听
BT类实现的ActionListener {
>公共无效的actionPerformed(ActionEvent的E2)
{
{
尝试,如果(e2.getSource()== B1)/ /选择“CE”清除
{
tf1.setText(“0”);/ /清屏
str.setLength(0);/ /空字符串缓冲区准备接收新的输入操作数
} 否则,如果(e2.getSource()== B2)/ /选择“C”清除
tf1.setText(“0”);/ /清屏
str.setLength(0);
}
否则,如果(e2.getSource()== B23)/ /点击“+ / - ”选择输入操作数是正数或负数
{
X = Double.parseDouble(tf1.getText()修剪());
tf1.setText(“”+(-X));
}
否则,如果(E2。的getSource()== B25)/ /单击加号按钮来获得的x值的值?Y和Z值和空
X = Double.parseDouble(tf1.的getText()修剪());。
str.setLength(0);/ /清空缓冲区来接收另一个新的操作数
Y = 0D;
Z = 0;
} 否则,如果(e2.getSource()== B20)/ /单击减号按钮来获得x和z和y值的值的值?清空
x = Double.parseDouble(tf1.getText()修剪());。
str.setLength(0);
为y = 0D;
Z = 1;
}
否则,如果(e2.getSource()== B15)/ / ?得到按钮的值,单击X,Z和y值的乘积值空
X = Double.parseDouble(tf1.getText()修剪());
> str.setLength(0);
Y = 0D;
Z = 2;
}
否则,如果(。e2.getSource()= = B10)/ /点击按钮,得到x的值除了数字值和空Y和Z值
{
X = Double.parseDouble(tf1.getText()修剪());????海峡。setLength(0);
Y = 0D;
Z = 3;
}
否则,如果(e2.getSource()== B26)/ /单人打等号按钮输出结果
{
str.setLength(0);
开关(Z)
{
情况下0:tf1.setText(“”+(X + Y));打破;
案例1:tf1.setText(“”+(XY));打破;
案例2:tf1.setText(“”+(X * Y));打破;
案例3:tf1.setText(“”+(X / Y));打破;
}
}
否则,如果(e2.getSource()== B24)/ /点击“。”按钮进入小数
{
如果(tf1.getText()。修剪()。的indexOf('。')!= -1)/ /判断字符串是否包含小数点
> {
其他/ /如果你没有一小点
{
如果(.. tf1.getText()修剪()等于(“0”))/ /显示为0
str.setLength(0)如果开始;
TF1。的setText((str.append(“0”+ e2.getActionCommand()))的toString()); ..
否则,如果(tf1.getText()修剪()等于(“;”))/ /显示是空的,什么也不做
{
}
其他
tf1.setText(str.append(E2如果早期getActionCommand())的toString());。
Y = 0D;
否则,如果(E2的getSource()== B11。)/ /平方根
{
X = Double.parseDouble(tf1.getText()修剪());。
tf1.setText(“数字格式异常”);
如果(x <0时)
tf1.setText(“无平方根负数”);
其他 BR /> tf1.setText(“”+的Math.sqrt(x)的);
str.setLength(0);
Y = 0D;
}
否则,如果(E2 。的getSource()== B16)/ /按“%”键
X = Double.parseDouble(tf1.getText()修剪());。
tf1.setText( “”+(0.01 * X));
str.setLength(0);
为y = 0D;
}
否则,如果(e2.getSource()== B21) / /按下“1 / X”按钮
{
X = Double.parseDouble(tf1.getText()修剪());
如果(X = 0)
tf1.setText(“除数不能为零”);
}
{
tf1.setText(“ “+(1 / x)的);
}
str.setLength(0);
为y = 0D;
}
否则,如果(e2.getSource() == B3)/ / MC清除内存
{
M = 0D;
tf2.setText(“”);
str.setLength(0); }
否则,如果(e2.getSource()== B4)/ / MR调用存储的数据
{
如果(tf2.getText()。修剪()!=“”)/ /带记忆数字
tf1.setText(“”+ M);
}
}
否则,如果(E2的getSource()== B5)/ / MS存储显示
{
M = Double.parseDouble(tf1.getText()修剪())中的数据;
tf2.setText(“M”);
tf1.setText(“0”);
str.setLength(0);
}
否则,如果(E2 。的getSource()== B6)已经存储/ / M +数字显示器和数据求和点击查看新的数字MR
{
M = M + Double.parseDouble(tf1.getText()修剪( ));。
其他/ /选择其他按钮
{
如果(e2.getSource()== B22)/ /如果选择的是“0”数字键
> {
如果(tf1.getText()。修剪()。的equals(“0”))/ /零,使操作如果显示屏显示 {
} BR />其他
tf1.setText(str.append(e2.getActionCommand())的toString());
Y = Double.parseDouble(tf1.getText()修剪( ));。
否则,如果(e2.getSource()== B0)/ /选中“退格”按钮
{
如果(TF1! 。的getText()。修剪()。的equals(“0”))/ /如果显示不为零
如果(str.length()!= 1)
{ BR /> tf1.setText(str.delete(str.length()-1,str.length())。的toString());/ /字符串界限可能会抛出一个异常
}
其他 BR /> {
tf1.setText(“0”);
str.setLength(0);
}
}
为y = Double.parseDouble(tf1. 。的getText()修剪());
}
其他/ /其他数字键
tf1.setText(str.append(e2.getActionCommand())的toString() 。);
为y = Double.parseDouble(tf1.getText(。)修剪());
}
}
}
赶上(NumberFormatException异常E){ BR /> tf1.setText(“数字格式异常”);
}
赶上(StringIndexOutOfBoundsException五){
tf1.setText(“字符串索引越界”);
}
}
公共静态无效的主要(字符串参数[]){
新的计数器();
}
}
进口java.awt.event中*;。
导入java.lang中的*;。
进口javax.swing中*;。
公共类计数器扩展帧{
/ /声明
网格布局GL1,GL2,GL3 3面板布局;
面板P0,P1,P2, P3;
的JTextField TF1;
TextField的TF2;
按钮B0,B1,B2,B3,B4,B5,B6,B7,B8 ,B9,B10,B11,B12,B13,B14,
B15,B16,B17,B18,B19,B20,B21,B22,B23,B24,B25,B26;
的StringBuffer海峡;/ /显示显示字符串
双的x,y ;/ / x和y是操作数
整数;/ / Z表示操作员点击。 0表示“+”,1“ - ”,2表示“*”,3为“/”
静态双米;/ /
存储器数字
公共计数器() {
GL1 =新的网格布局(1,4,10,0);/ /实例化3面板布局
GL2 =新的网格布局(4,1,0,15);
GL3 =新网格布局(4,5,10,15);
TF1 =新的JTextField(27);/ /显示
TF1。 setHorizontalAlignment(JTextField.RIGHT);
tf1.setEnabled(假);
tf1.setText(“0”);
TF2 =新的TextField(10);/ /显示内存索引值 BR /> tf2.setEditable(假);
/ /实例化所有按钮,设置前景色并注册他们的听众
B0 =新的Button(“退格键”);
b0.setForeground( Color.red);
b0.addActionListener(新的Bt());
B1 =新的Button(“CE”);
b1.setForeground(Color.red);
b1.addActionListener(新的Bt());
B2 =新的Button(“C”);
b2.setForeground(Color.red);
b2.addActionListener(新的Bt()) ;
B3 =新的Button(“MC”);
b3.setForeground(Color.red);
b3.addActionListener(新的Bt()); B4 =新的Button (“MR”);
b4.setForeground(Color.red);
b4.addActionListener(新的Bt());
B5 =新的Button(“MS”);
> b5.setForeground(Color.red);
b5.addActionListener(新的Bt());
B6 =新的Button(“M +”);
b6.setForeground(Color.red );
b6.addActionListener(新的Bt());
B7 =新的Button(“7”);
b7.setForeground(Color.blue);
b7.addActionListener (新的Bt());
B8 =新的Button(“8”);
b8.setForeground(Color.blue);
b8.addActionListener(新的Bt()); B9 =新的Button(“9”);
b9.setForeground(Color.blue);
b9.addActionListener(新的Bt());
B10 =新的Button(“/ “);
b10.setForeground(Color.red);
b10.addActionListener(新的Bt());
B11 =新的Button(”SQRT“);
B11。 setForeground(Color.blue);
b11.addActionListener(新的Bt());
B12 =新的Button(“4”;);
b12.setForeground(Color.blue); BR /> b12.addActionListener(新的Bt());
B13 =新的Button(“10”);
B13。 setForeground(Color.blue);
b13.addActionListener(新的Bt());
B14 =新的Button(“6”);
b14.setForeground(Color.blue); b14.addActionListener(新的Bt());
B15 =新的Button(“*”);
b15.setForeground(Color.red);
b15.addActionListener(新的Bt( ));
B16 =新的Button(“%”);
b16.setForeground(Color.blue);
b16.addActionListener(新的Bt());
B17 =新的Button(“1”);
b17.setForeground(Color.blue);
b17.addActionListener(新的Bt());
B18 =新的Button(“2”); BR /> b18.setForeground(Color.blue);
b18.addActionListener(新的Bt());
B19 =新的Button(“3”); b19.setForeground(Color.蓝色);
b19.addActionListener(新的Bt());
B20 =新的Button(“ - ”);
b20.setForeground(Color.red);
B20。 addActionListener方法(新的Bt());
B21 =新的Button(“1 / X”);
b21.setForeground(Color.blue); b21.addActionListener(新的Bt()) ;
B22 =新的Button(“0”);
b22.setForeground(Color.blue);
b22.addActionListener(新的Bt());
B23 =新的Button (“+ / - ”);
b23.setForeground(Color.blue);
b23.addActionListener(新的Bt());
B24 =新的Button(“。”); BR /> b24.setForeground(Color.blue);
b24.addActionListener(新的Bt());
B25 =新的Button(“+”);
b25.setForeground(Color.红色);
b25.addActionListener(新的Bt());
B26 =新的Button(“=”);
b26.setForeground(Color.red);
B26。 addActionListener方法(新的Bt());
/ /实例化四个小组
P0 =新面板();
P1 =新面板();
P2 =新面板();
P3 =新面板();
/ /创建一个空字符串缓冲区区
海峡=新的StringBuffer();
/ /添加面板P0的组件,并设置其位置和大小的帧
p0.add(TF1); p0.setBounds(10,25,300,40);
/ /添加面板P1组件,并设置其位置和大小的帧
p1.setLayout(GL1); p1.add(TF2);
p1.add(B0);
p1.add (B1);
p1.add(B2);
p1.setBounds(10,65,300,25);
/ /添加组件的面板P2,并设定它的框架位置和大小
p2.setLayout(GL2);
p2.add(B3);
p2.add(B4);
p2.add(B5);
> p2.add(B6);
p2.setBounds(10,110,40,150);
/ /添加组件的面板p3和设置其位置和大小
p3.setLayout (GL3)在帧;/ /设置P3布局
p3.add(B7);
p3.add(B8);
p3.add(B9);
P3新增(B10);
p3.add(B11);
p3.add(B12);
p3.add(B13);
p3.add(B14);
p3.add(B15);
p3.add(B16);
p3.add(B17);
p3.add(B18);
P3。添加(B19);
p3.add(B20);
p3.add(B21);
p3.add(B22);
p3.add(B23); BR /> p3.add(B24);
p3.add(B25);
p3.add(B26);
p3.setBounds(60,110,250,150);的
/ /设置框架布局是留白的布局设计,并添加四个小组的setLayout(NULL);
添加(P0);
添加(P1);
添加(P2 );
添加(P3);
的setResizable(假);/ /不调整帧大小
/ /匿名类关闭
addWindowListener(新WindowAdapter(){
>公共无效windowClosing(WindowEvent E1){
System.exit(0);
}
});
的setBackground(Color.lightGray);
setBounds的(100 ,100,320,280);
其setVisible(真);
/ /构造器监听
BT类实现的ActionListener {
>公共无效的actionPerformed(ActionEvent的E2)
{
{
尝试,如果(e2.getSource()== B1)/ /选择“CE”清除
{
tf1.setText(“0”);/ /清屏
str.setLength(0);/ /空字符串缓冲区准备接收新的输入操作数
} 否则,如果(e2.getSource()== B2)/ /选择“C”清除
tf1.setText(“0”);/ /清屏
str.setLength(0);
}
否则,如果(e2.getSource()== B23)/ /点击“+ / - ”选择输入操作数是正数或负数
{
X = Double.parseDouble(tf1.getText()修剪());
tf1.setText(“”+(-X));
}
否则,如果(E2。的getSource()== B25)/ /单击加号按钮来获得的x值的值?Y和Z值和空
X = Double.parseDouble(tf1.的getText()修剪());。
str.setLength(0);/ /清空缓冲区来接收另一个新的操作数
Y = 0D;
Z = 0;
} 否则,如果(e2.getSource()== B20)/ /单击减号按钮来获得x和z和y值的值的值?清空
x = Double.parseDouble(tf1.getText()修剪());。
str.setLength(0);
为y = 0D;
Z = 1;
}
否则,如果(e2.getSource()== B15)/ / ?得到按钮的值,单击X,Z和y值的乘积值空
X = Double.parseDouble(tf1.getText()修剪());
> str.setLength(0);
Y = 0D;
Z = 2;
}
否则,如果(。e2.getSource()= = B10)/ /点击按钮,得到x的值除了数字值和空Y和Z值
{
X = Double.parseDouble(tf1.getText()修剪());????海峡。setLength(0);
Y = 0D;
Z = 3;
}
否则,如果(e2.getSource()== B26)/ /单人打等号按钮输出结果
{
str.setLength(0);
开关(Z)
{
情况下0:tf1.setText(“”+(X + Y));打破;
案例1:tf1.setText(“”+(XY));打破;
案例2:tf1.setText(“”+(X * Y));打破;
案例3:tf1.setText(“”+(X / Y));打破;
}
}
否则,如果(e2.getSource()== B24)/ /点击“。”按钮进入小数
{
如果(tf1.getText()。修剪()。的indexOf('。')!= -1)/ /判断字符串是否包含小数点
> {
其他/ /如果你没有一小点
{
如果(.. tf1.getText()修剪()等于(“0”))/ /显示为0
str.setLength(0)如果开始;
TF1。的setText((str.append(“0”+ e2.getActionCommand()))的toString()); ..
否则,如果(tf1.getText()修剪()等于(“;”))/ /显示是空的,什么也不做
{
}
其他
tf1.setText(str.append(E2如果早期getActionCommand())的toString());。
Y = 0D;
否则,如果(E2的getSource()== B11。)/ /平方根
{
X = Double.parseDouble(tf1.getText()修剪());。
tf1.setText(“数字格式异常”);
如果(x <0时)
tf1.setText(“无平方根负数”);
其他 BR /> tf1.setText(“”+的Math.sqrt(x)的);
str.setLength(0);
Y = 0D;
}
否则,如果(E2 。的getSource()== B16)/ /按“%”键
X = Double.parseDouble(tf1.getText()修剪());。
tf1.setText( “”+(0.01 * X));
str.setLength(0);
为y = 0D;
}
否则,如果(e2.getSource()== B21) / /按下“1 / X”按钮
{
X = Double.parseDouble(tf1.getText()修剪());
如果(X = 0)
tf1.setText(“除数不能为零”);
}
{
tf1.setText(“ “+(1 / x)的);
}
str.setLength(0);
为y = 0D;
}
否则,如果(e2.getSource() == B3)/ / MC清除内存
{
M = 0D;
tf2.setText(“”);
str.setLength(0); }
否则,如果(e2.getSource()== B4)/ / MR调用存储的数据
{
如果(tf2.getText()。修剪()!=“”)/ /带记忆数字
tf1.setText(“”+ M);
}
}
否则,如果(E2的getSource()== B5)/ / MS存储显示
{
M = Double.parseDouble(tf1.getText()修剪())中的数据;
tf2.setText(“M”);
tf1.setText(“0”);
str.setLength(0);
}
否则,如果(E2 。的getSource()== B6)已经存储/ / M +数字显示器和数据求和点击查看新的数字MR
{
M = M + Double.parseDouble(tf1.getText()修剪( ));。
其他/ /选择其他按钮
{
如果(e2.getSource()== B22)/ /如果选择的是“0”数字键
> {
如果(tf1.getText()。修剪()。的equals(“0”))/ /零,使操作如果显示屏显示 {
} BR />其他
tf1.setText(str.append(e2.getActionCommand())的toString());
Y = Double.parseDouble(tf1.getText()修剪( ));。
否则,如果(e2.getSource()== B0)/ /选中“退格”按钮
{
如果(TF1! 。的getText()。修剪()。的equals(“0”))/ /如果显示不为零
如果(str.length()!= 1)
{ BR /> tf1.setText(str.delete(str.length()-1,str.length())。的toString());/ /字符串界限可能会抛出一个异常
}
其他 BR /> {
tf1.setText(“0”);
str.setLength(0);
}
}
为y = Double.parseDouble(tf1. 。的getText()修剪());
}
其他/ /其他数字键
tf1.setText(str.append(e2.getActionCommand())的toString() 。);
为y = Double.parseDouble(tf1.getText(。)修剪());
}
}
}
赶上(NumberFormatException异常E){ BR /> tf1.setText(“数字格式异常”);
}
赶上(StringIndexOutOfBoundsException五){
tf1.setText(“字符串索引越界”);
}
}
公共静态无效的主要(字符串参数[]){
新的计数器();
}
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
dfdsuf908ds7u98fdsifuds
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询