2013-03-21 66 views
0

我已經解決了使用數組和矩陣的問題。我開始明白它是如何工作的,但是我得到了關於矩陣行的以下問題。以下是問題要求我做的事情:矩陣及其行的初學者

a。編寫方法inputArray的定義,提示用戶輸入20個數字並將數字存儲在alpha中。

b。編寫方法doubleArray的定義,該方法將beta的元素初始化爲alpha中相應元素的兩倍。確保您阻止該方法修改alpha的元素。

c。 寫出方法copyGamma的定義,將inStock的第一行的元素設置爲gamma,其餘行inStock設置爲inStock的前一行的三倍。確保你阻止該方法修改伽馬的元素。

這就是我得到了做:

代碼

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個元素在股票行剩下5個。所以這意味着只是乘以3或整個矩陣?如果我是正確的[i] =行,[j]是列?我很困惑。

回答

0

這是正確的。 i是行,j是列。但是,看起來您將gamma[i]設置爲inStock[i][j]的值,看起來您應該以相反的方式分配它。

+0

感謝您的幫助! – 2013-03-21 03:39:47