?? java矩陣計算.txt
字號:
import java.applet.Applet;
import java.awt.*;
public class Mymatrix extends Applet {
Label m_prompt,n_prompt,x_prompt,y_prompt,A_martri,B_martri;
TextField m_input,n_input,x_input,y_input,A_input,B_input;
Label number=new Label("顯示輸入的個數(shù) ");
Button ab=new Button("我要計算A x B");
int m,n,x,y,k=0,count=0;
int []mylove =new int[20];//第一存放的一維數(shù)組
int [][]A=new int[10][10];//存放第一個矩陣A
int [][]B=new int[10][10];//存放第二個矩陣B
int [][]C=new int [10][10];//存放第三個矩陣C=A*B
public void init()
{
m_prompt=new Label("矩陣A的行m=");
m_input=new TextField(4);
n_prompt=new Label("矩陣A的列n=");
n_input=new TextField(4);
x_prompt=new Label("矩陣B的行x=");
x_input=new TextField(4);
y_prompt=new Label("矩陣B的列y=");
y_input=new TextField(4);
A_martri=new Label("請輸入矩陣A");
A_input=new TextField(10);
B_martri=new Label("請輸入矩陣B");
B_input=new TextField(10);
add(m_prompt);add(m_input);add(n_prompt);
add(n_input);add(A_martri);add(A_input);
add(x_prompt);add(x_input);add(y_prompt);
add(y_input);add(B_martri);add(B_input);
add(number);add(ab);
}
public void paint(Graphics g)
{
g.drawString("------注意每次輸入以回車鍵結(jié)束-------",50,50);
int i,j,aa=0,bb=0;//aa控制列,bb控制行
g.drawString("您輸入的A矩陣是:",150,100);//顯示A矩陣
for(i=0;i<m;i++)
for(j=0;j<n;j++)
{
g.drawString(Integer.toString(A[i][j]),350+50*aa,150+50*bb);
if(aa==n-1)
{
aa=0;
bb++;
}
else aa++;
}
g.drawString("您輸入的B矩陣是:",150,300);//顯示B矩陣
for(i=0,aa=0,bb=0;i<x;i++)
for(j=0;j<y;j++)
{
g.drawString(Integer.toString(B[i][j]),350+50*aa,350+50*bb);
if(aa==y-1)
{
aa=0;
bb++;
}
else aa++;
}
g.drawString("A矩陣 X B矩陣的結(jié)果是:",100,500);//顯示A*B矩陣
for(i=0,aa=0,bb=0;i<m;i++)
for(j=0;j<y;j++)
{
g.drawString(Integer.toString(C[i][j]),350+50*aa,550+50*bb);
if(aa==y-1)
{
aa=0;
bb++;
}
else aa++;
}
}
public boolean action(Event e,Object o)
{
if(e.target==n_input)
{
x_input.setText(String.valueOf(Integer.parseInt(n_input.getText())));
m=Integer.parseInt(m_input.getText());
n=Integer.parseInt(n_input.getText());
}
if (e.target==A_input)
{
mylove[count++]=Integer.parseInt(A_input.getText());
if(count<m*n)
{
number.setText("已輸入"+count+"個數(shù)據(jù),請繼續(xù)");
A_input.setText("");
}
else
{
number.setText(m*n+"已輸入完矩陣A!");
A_input.disable();
for(int i=0;i<m;i++)
for(int j=0;j<n;j++)
A[i][j]=mylove[k++];
count=0;k=0;
}
}
if (e.target==B_input)
{
x=Integer.parseInt(n_input.getText());
y=Integer.parseInt(y_input.getText());
mylove[count++]=Integer.parseInt(B_input.getText());
if(count<x*y)
{
number.setText("已輸入"+count+"個數(shù)據(jù),請繼續(xù)");
B_input.setText("");
}
else
{
number.setText(x*y+"已輸入完矩陣B!");
B_input.disable();
for(int i=0;i<x;i++)
for(int j=0;j<y;j++)
B[i][j]=mylove[k++];
}
}
if(e.target==ab)
{
for(int i=0;i<m;i++)
for(int j=0;j<y;j++)
for(int k=0;k<n;k++)
C[i][j]+=A[i][k]*B[k][j];
repaint();
ab.disable();
}
return true;
}
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -