0

配列と行列で解決する問題を作りました。私はそれがどのように機能するかを理解し始めていますが、行列の行に関して次の質問がありました。これが問題が私にやるように頼むことです:

a。ユーザーに20個の数値を入力するように促し、数値をアルファで格納するメソッドinputArrayの定義を記述します。

b。ベータの要素をアルファの対応する要素の2倍に初期化するメソッドdoubleArrayの定義を記述します。メソッドがalphaの要素を変更しないようにしてください。

c。inStockの最初の行の要素をガンマに設定し、inStockの残りの行をinStockの前の行の3倍に設定するメソッドcopyGammaの定義を記述します。メソッドがガンマの要素を変更しないようにしてください。

これは私がやったことです:

コード

public class ArrayQuiz {
    
    public static void main(String[]args){
       
        int count = 0;
        int [ ] [ ] inStock = new int [10][14];
        int[ ] alpha = new int[20];
        int[ ] beta = new int[20];
        int[ ] gamma = {11, 13, 15, 17};
        int[ ] delta = {3, 5, 2, 6, 10, 9, 7, 11, 1, 8};
        
        
        alpha(alpha,count);
        beta(beta,count,alpha);
        copyGamma(inStock,gamma,count);
    }
    
    
    public static int alpha(int alpha[],int count){
         count = 0;
        System.out.println("Enter 20 numbers:");
      
        for(int i = 0; i < 20; i++){
            Scanner input = new Scanner(System.in);
            alpha[i] = input.nextInt();
            count = alpha[i];
        }
        return count;
        
}
        
 public static int beta(int beta[], int count, int alpha[]){
     
     for(int i = 0; i< 20; i++){
         
         beta[i] = 2*alpha[i];
         count = beta[i];
     }
     
     return count;
 }
        
 public static int copyGamma(int inStock[][], int gamma[], int count){

     for(int i = 0; i < 10;i++){
         for(int j = 0; j < 14; j++) {
             if (i==0)  
             {
             gamma[i] = inStock[i][j];  
            count = gamma [i]; 
             }
             else
             {
                 inStock[i][j] = 3*inStock[i][j];
                count = inStock[i][j];
             }
         }

     }
     
         return count;
     }
 }
 

出力にエラーはありません。また、copyGammaが正しいことを確認したいので、他の出力方法をまだ作成していません。inStockの最初の行を意味する場合、それはマトリックスの最初の[]を意味し、残りの場合はinStockの残りの行のみを意味しますか?ガンマには5つの要素があるため、inStock行には5が残ります。つまり、iに3を掛けるか、行列全体を掛けるだけですか。私が正しければ、[i] =行で、[j]は列ですか?私はそこで混乱しています。

4

1 に答える 1

0

それは正しいです。iは行、jは列です。ただし、gamma[i]の値を割り当てているinStock[i][j]ように見えますが、逆に割り当てる必要があるように見えます。

于 2013-03-21T02:07:04.930 に答える