• 締切済み

どこがダメなんでしょう

入力した数字 1 2          3 4 を        -2  1        1.5 -1 と出力したいんです  public class Re1{ public static void main(String args[]){ double n1=Double.parseDouble(args[0]); double n2=Double.parseDouble(args[1]); double n3=Double.parseDouble(args[2]); double n4=Double.parseDouble(args[3]); double a=n1*n4-n2*n3; double b=1/a; double q[][]={{n4,-n2}, {-n3,n1}}; double l[][]=new double[2][2]; for(int i=0; i<l.length; i++){ for(int j=0; j<l[i].length; j++){ l[i][j]=0; l[i][j]=b*q[i][j]; } } for(int i=0; i<l.length; i++){    for(int j=0; j<l[i].length; j++){ System.out.print(l[i][j]+" "); } System.out.println(); } } } お願いします。

みんなの回答

回答No.1

sss333さん、こんにちは。 申し訳ありませんが、質問がわかりにくいです。目的、何を正解で、現状どうなるのかなど情報が欠落しています。 「○○を求める(他に△△を表示する、など)プログラムを作っています」 「入力xに対して、出力yを得られるはずなのですが、どうしてもzとなります」 「なぜでしょう」 程度は書いていただけないと、 「xに対してyがでます。なぜでしょう」だけでは 皆さん、答えようがないのではないでしょうか。 で、小言はここまでとして、 このプログラムは、2×2行列を入力させて、その逆行列を求めるプログラムと推測しましたが、あってますか? ┌1 2┐ └3 4┘ を入力したら、求めたい答え ┌ -2 1┐ └1.5 -1┘ ではなく、 ┌ -2  1┐ └1.5 -0.5┘ と出力された。なぜでしょう? が題意でしょか。 答えは、出力された答えこそ、「入力した行列」に対する逆行列だからです。