這是錯的!!
package multiplication;
import javax.swing.JOptionPane;
public class Main {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
int n = Integer.parseInt(JOptionPane.showInputDialog("請輸入矩陣個數",5)) + 1;
int [] d = new int [n];
String s = "你將輸入5個矩陣的大小\n";
for(int i = 1; i
int x = Integer.parseInt(JOptionPane.showInputDialog(s+"\n請輸入矩陣"+i+
"大小\n如10*4就輸入1004"+"\n如輸入4*5就輸入0405"+"\n如輸入5*20就輸入0520"+
"\n如輸入20*2就輸入2002"+"\n如輸入2*50就輸入0250",null));
d[i-1] = x/100;
d[i] = x - d[i-1]*100;
s = s +"矩陣"+i+":"+d[i-1]+"*"+d[i]+"\n";
} //輸入各矩陣的維度
s = "";
int [] a = new int [n-2];
for(int i=0;i
a[i] = d[i+1];
}
int t = n-3;
int b = 0;
int p = 0;
int m = 0;
int [] c = new int [n-1];
for(int i = 0;i
c[i] = 1;
}
while(t!=0) {
for(int i=0;i
if(a[i]>=b) {
b = a[i];
p = i;
}
}
m = m + (d[p]*d[p+1]*d[p+2]);
d[p+1] = d[p+2];
if(c[p]!=0 && c[p+1]!=0)
s = s+"矩陣"+(p+1)+"*矩陣"+(p+2)+" ";
else if (c[p]!=0 && c[p+1]==0)
s = "矩陣"+(p+1)+"*("+s+")";
else
s = "("+s+")*"+"矩陣"+(p+2);
c[p] = 0;
c[p+1] = 0;
a[p] = d[p+1];
b = 0;
t--;
}
m = m + (d[0]*d[1]*d[n-1]);
for(int i = 0;i
if(c[i]!=0 && i!=0)
s = "("+s+")*矩陣"+(i+1);
else if (c[i]!=0 && i==0)
s = "矩陣"+(i+1)+"*("+s+")*";
}
JOptionPane.showMessageDialog(null, "乘法個數為:"+m+"\n"+s);
}
}