0

我用数组和矩阵解决了一个问题。我开始了解它是如何工作的,但我收到了以下关于矩阵行的问题。这是问题要求我做的事情:

一种。编写方法 inputArray 的定义,提示用户输入 20 个数字,并将数字存储为 alpha。

湾。编写方法 doubleArray 的定义,将 beta 的元素初始化为 alpha 中对应元素的两倍。确保您阻止该方法修改 alpha 的元素。

C。编写方法 copyGamma 的定义,将 inStock 的第一行的元素设置为 gamma,并将 inStock 的其余行设置为 inStock 先前行的三倍。确保您阻止该方法修改 gamma 的元素。

这就是我所做的:

代码

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 的剩余行?由于 gamma 有 5 个元素 inStock 行剩下 5。所以这意味着只需将 i 乘以 3 或整个矩阵?如果我是正确的 [i] = rows 而 [j] 是列?我在那里很困惑。

4

1 回答 1

0

那是对的。i是行,j是列。但是,看起来您正在分配gamma[i]的值inStock[i][j],而您似乎应该以相反的方式分配它。

于 2013-03-21T02:07:04.930 回答