配列と行列で解決する問題を作りました。私はそれがどのように機能するかを理解し始めていますが、行列の行に関して次の質問がありました。これが問題が私にやるように頼むことです:
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]は列ですか?私はそこで混乱しています。