java向量加法_急急急!求一段用java编写的向量基本运算代码,含加减乘及数乘...

展开全部

导入java.awt中的*;。

进口java.awt.event中*;。

导入java.lang中的*;。

进口javax.swing中*;。

公共类32313133353236313431303231363533e58685e5aeb931333332643337计数器扩展帧{

/ /声明

网格布局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(“字符串索引越界”);

}

}

公共静态无效的主要(字符串参数[]){

新的计数器();

}

}

本回答被提问者和网友采纳

2Q==

已赞过

已踩过<

你对这个回答的评价是?

评论

收起

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
/* * 基于数组的向量实现 */ package dsa; public class Vector_Array implements Vector { private final int N = 1024;//数组的容量 private int n = 0;//向量的实际规模 private Object[] A;//对象数组 //构造函数 public Vector_Array() { A = new Object[N]; n = 0; } //返回向量中元素数目 public int getSize() { return n; } //判断向量是否为空 public boolean isEmpty() { return (0 == n) ? true : false; } //取秩为r的元素 public Object getAtRank(int r)//O(1) throws ExceptionBoundaryViolation { if (0 > r || r >= n) throw new ExceptionBoundaryViolation("意外:秩越界"); return A[r]; } //将秩为r的元素替换为obj public Object replaceAtRank(int r, Object obj) throws ExceptionBoundaryViolation { if (0 > r || r >= n) throw new ExceptionBoundaryViolation("意外:秩越界"); Object bak = A[r]; A[r] = obj; return bak; } //插入obj,作为秩为r的元素;返回该元素 public Object insertAtRank(int r, Object obj) throws ExceptionBoundaryViolation { if (0 > r || r > n) throw new ExceptionBoundaryViolation("意外:秩越界"); if (n >= N) throw new ExceptionBoundaryViolation("意外:数组溢出"); for (int i=n; i>r; i--) A[i] = A[i-1];//后续元素顺次后移 A[r] = obj;//插入 n++;//更新当前规模 return obj; } //删除秩为r的元素 public Object removeAtRank(int r) throws ExceptionBoundaryViolation { if (0 > r || r >= n) throw new ExceptionBoundaryViolation("意外:秩越界"); Object bak = A[r]; for (int i=r; i<n; i++) A[i] = A[i+1];//后续元素顺次前移 n--;//更新当前规模 return bak; } }

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值