-1

私が書いたこのコードには、修正方法がわからないエラーが発生しています。これが私がやりたいことです: ユーザーがケース1または2のどちらかを選択できる3つのケースを作成します(他のケースはデフォルトのケースになります)

ケース 1: ユーザーからの入力 (この場合は、zmultiplier という名前の double 入力) を取得し、その double を取得して、配列 z の各要素で乗算し、結果の配列 (result という名前) を表示します。

ケース 2: プログラムで各配列要素を処理し、2 または 5 で割り切れる各配列要素を出力するようにします。

デフォルト: 「配列 z は変更されていません」と表示

ここに私が書いたものがあります:

package jm;

import java.util.Scanner;

public class Jm {

    public static void main(String[] args) {

Scanner input = new Scanner (System.in);

    int [][] z = {{8,15,22,28,36,40},{43,45,48,59,66,70}};  
    int Case;
    double zmultiplier;
    int arrayelement;
    int row=0;
    int column=0;

    System.out.println("Enter case: ");

    Case = input.nextInt(); 
    switch(Case)
    {
     case 1: 
            System.out.println("Enter number to multiply array z by: ");
    zmultiplier = input.nextDouble(); 
    double [][] result = new double [row][column];
    for (;row < z.length; row++ )
    { for (;column < z[row].length; column++ )
     result[row][column] = result[row][column] * zmultiplier;
        System.out.printf( "%d ", result[row][column]);
    }

            break;

        case 2:
           for ( int row = 0; row < array.length; row++);
            {
            for (int column = 0; column < array[row].length; column++);

                if (arrayelement%2 == 0) || (arrayelement%5 == 0);
                System.out.println(arrayelement); 
                     break;

                default: 
                     System.out.println("array z is not changed");
            break;
    }
}
}

誰かが私のためにこれを解決し、私が間違ったことを詳細に(そして素人の用語で)説明できるなら、私はそれを大いに感謝します.

4

1 に答える 1

4

まず、これらの両方が間違っているように見えます

for (int column = 0; column < array[row].length; column++);

if (arrayelement%2 == 0) || (arrayelement%5 == 0);

ここでは、ステートメントとループ;の両方の本体全体としてa を使用しています。それは以下と同等です:iffor

for (int column = 0; column < array[row].length; column++) {
}

if (arrayelement%2 == 0) || (arrayelement%5 == 0) {
}

それは実際にはあなたが意図したものではないと思います。中括弧内に単一のステートメントしかない場合でも、ループとステートメントには常に中括弧を使用することを強くお勧めしますif。これは、物事を明確にするのに役立ちます。

于 2013-11-08T14:48:45.207 に答える