Java 矩阵及其行的初学者

Java 矩阵及其行的初学者,java,Java,我用数组和矩阵解决了一个问题。我开始理解它是如何工作的,但是我有一个关于矩阵行的问题。以下是问题要求我做的: a。编写inputArray方法的定义,该方法提示用户输入20个数字并将数字存储在alpha中 b。编写doubleArray方法的定义,该方法将beta的元素初始化为alpha中相应元素的两倍。确保防止该方法修改alpha的元素 c编写copyGamma方法的定义,该方法将inStock第一行的元素设置为gamma,将inStock其余行的元素设置为inStock前几行的三倍。确保防止

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

a。编写inputArray方法的定义,该方法提示用户输入20个数字并将数字存储在alpha中

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

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

这就是我所做的:

代码
公共类数组测验{
公共静态void main(字符串[]args){
整数计数=0;
int[]inStock=新int[10][14];
int[]α=新int[20];
int[]β=新int[20];
int[]gamma={11,13,15,17};
int[]delta={3,5,2,6,10,9,7,11,1,8};
α(α,计数);
β(β,计数,α);
copyGamma(inStock,gamma,count);
}
公共静态整数alpha(整数alpha[],整数计数){
计数=0;
System.out.println(“输入20个数字:”);
对于(int i=0;i<20;i++){
扫描仪输入=新扫描仪(System.in);
alpha[i]=input.nextInt();
计数=α[i];
}
返回计数;
}
公共静态int-beta(int-beta[],int-count,int-alpha[]{
对于(int i=0;i<20;i++){
β[i]=2*alpha[i];
计数=β[i];
}
返回计数;
}
公共静态int-copyGamma(int-inStock[],int-gamma[],int-count){
对于(int i=0;i<10;i++){
对于(int j=0;j<14;j++){
如果(i==0)
{
伽马[i]=inStock[i][j];
计数=伽马[i];
}
其他的
{
inStock[i][j]=3*inStock[i][j];
计数=库存[i][j];
}
}
}
返回计数;
}
}

输出没有错误,而且我还没有为输出创建其他方法,因为我想确保copyGamma是正确的。当它表示inStock的第一行时,它是否表示矩阵的第一[]行,对于剩余的行,它是否仅表示inStock的剩余行?由于gamma有5个元素,所以存储行中只剩下5个元素。也就是说,把i乘以3或者整个矩阵?如果我是正确的,[I]=行,[j]是列?我在那里感到困惑。

没错
i
是行,
j
是列。但是,看起来您正在将
gamma[i]
赋值给
inStock[i][j]
的值,而实际上您应该反过来赋值

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;
     }
 }