書き方がわからないこの配列10×5(合計50要素)をアウトプリントして、最初の25要素をそれが入っているインデックスのsqrtに等しく、最後の25要素を3 *インデックスに等しくする必要があります。はい、これは宿題ですが、私はあなたに私のためにそれをするように頼んでいません、私はただ助けを必要としています! Math
doubleとdouble配列を一緒に使うことはできないと言っています。これが私がこれまでに持っているものです:
public class snhu4 {
public static void main(String args[]) {
double alpha[][] = new double[10][5];
double[] sum, sum2;
for (int count=0; count<=25;count++) {
alpha[count]= Math.sqrt(count);
}
for (int count=26; count<=50;count++) {
alpha[count]= count *3;
}
for (int count=0; count<=50;count++) {
System.out.print(alpha[count]);
}
}
}
回答:
回答№1は1なぜなら alpha
は多次元配列なので、通常の配列のようにその要素を参照することはできません。
int myarray[][] = new int[2][2];
上記の例では、配列 myarray
多次元です。最初の配列の2番目の要素にアクセスしたい場合は、次のようにアクセスします。
int myint = myarray[0][1]
;
通常の配列のアクセスを使って、多次元配列にアクセスしようとしています。変化する
alpha[count]
に
alpha[0][count]
または類似。
読む ここに 多次元配列の詳細については。
回答№2の場合は0
alphaを2D配列として定義し、最初の次元で10項目、2番目の項目で5項目とします。5x10は50要素です。
配列を使ってこれらの要素に値を代入するとき、uは各次元に1つずつ、2つのインデックスを使って配列を呼び出す必要があります。
alpha[i][j] = /*double value*/; //with 0<=i<=9 and 0<=j<=4
したがって、次元順に左から右に行く最初の25個の要素は、次のようになります。
[0to9] [0]と[0to9] [1]と[0to4] [2]
次の25は
[4to9] [2]と[0to9] [3]と[0to9] [4]
それ以降、私はあなたの宿題に対する答えをあなたに与えることはできませんが、ループは次のようになるはずです。
int j;
for(int i = 0; i<25; i++)
{
j=i/10; //integer division will return 0 for i<10, 1 for 10<i<20, etc..
alpha[i%10][j] = Math.sqrt(i);
}
そして、あなたは残りを理解することができます
回答№3の場合は0
10×5は、デザインの制約ではなく、出力の制約のように見えます。
Javaを使用しているので、C言語の構文ではなくJavaの構文を使用してください。 特に配列ではなくリストに値を格納します。
ここにいくつかのヒントがあります:
- List <Integer> valuesList = new ArrayList <Integer>();
- for(int index = 0; index <25; ++ index)
- 整数currentValue = Math.sqrt(インデックス);
- valuesList.add(currentValue);
- for(int index = 25; index <50; ++ index)
- 整数currentValue = index * 3。
- valuesList.add(currentValue)
- int count = 1;
- for(現在の整数:valuesList)
- if((count%5)== 0)//改行を書きます。
- System.out.print(現在);
- ++カウント