0

2 つの 3x3 行列を受け入れ、それらを加算または乗算するプログラムを作成しようとしています。3つの異なるエラーがたくさん発生しています。

まず、これらの行にマトリックス全体を表示する文字列を作成しようとすると、一連の「.class expected」エラーが発生します。

strA = "\n\n|" + r1a[];
strA += "|\n|" + r2a[];
strA += "|\n|" + r3a[];


strB と strC に対して他の 2 回の反復を行うと、これが繰り返されます。
このエラーを調べたところ、エラーが発生した理由の可能性としてこれらが見つかりましたが、コードをスキャンするときに問題になるものはないようです。

Usually this is just a missing semicolon,
sometimes it can be caused by unbalanced () on the previous line.
sometimes it can be cause by junk on the previous line. This junk might be far to the right off the screen.
Sometimes it is caused by spelling the keyword if incorrectly nearby.
Sometimes it is a missing + concatenation operator.


私の次の問題は、結果のマトリックスを作成しようとするときです。このコードでは、「not a statement」と「; expected」エラーが混在しています。

r1c[] = r1a[] + r1b[];
r2c[] = r2a[] + r2b[];
r3c[] = r3a[] + r3b[];


エラーは交互に発生します。コンパイラは、最初に r1c[] の左角かっこに矢印が付いた「not a statement」を生成し、次に r1c[] = の間のスペースに矢印が付いた「; expected」を生成します。2 番目と 3 番目のオカレンスは、コード内を移動し、場所 (開き括弧、スペース) を繰り返します。
これを解決してくれた tacp に感謝します。

これは、すべての変数を宣言する方法です。

import javax.swing.JOptionPane;

public class Matrices
{

    public static void main(String[] args)
    {


       int i = 0;
       double[] r1a = new double[3];        //row 1 of matrix a
       double[] r2a = new double[3];        //row 2 of matrix a
       double[] r3a = new double[3];        //row 3 of matrix a
       double[] r1b = new double[3];        //row 1 of matrix b
       double[] r2b = new double[3];        //row 2 of matrix b
       double[] r3b = new double[3];        //row 3 of matrix b
       double[] r1c = new double[3];        //row 1 of matrix c
       double[] r2c = new double[3];        //row 2 of matrix c
       double[] r3c = new double[3];        //row 3 of matrix c

       String strInput,         //holds JOption inputs
       strA,                    //holds matrix A
       strB,                    //holds matrix B
       strC;                    //holds matrix C


何が間違っているのか本当にわかりません。これが私のコードのすべてです..コード:p
これはおそらく非常に基本的なものですが、これはコーディングの最初の学期であり、どの言語でも.. したがって、私のトラブルシューティング スキルは最小限であり、実際のコーディング スキルも同様です。笑

だから、あなたのすべての助けは大歓迎です!

4

1 に答える 1

3
 strA = "\n\n|" + r1a[];
 strA += "|\n|" + r2a[];
 strA += "|\n|" + r3a[];

strAとの配列要素にアクセスするには、タイプとインデックスを指定する必要がありr1a, r2aますr3a

同様に、配列にアクセスするにはインデックスが必要です (これらは行列の行を表す配列です)。

r1c[] = r1a[] + r1b[];
r2c[] = r2a[] + r2b[];
r3c[] = r3a[] + r3b[];

例えば:

for (int i = 0; i < 3; ++i)
{
   r1c[i] = r1a[i] + r1b[i];
}
于 2013-04-21T23:00:35.807 に答える