close

這是錯的!!
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);
    }

}

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 lupohsunrock 的頭像
    lupohsunrock

    lupohsunrock的部落格

    lupohsunrock 發表在 痞客邦 留言(0) 人氣()