大家好,
我试图弄清楚如何将Diff [0]设置为等式的总和,我发现时间:
int a = 0;
System.out.println(Data[0] - Data[1]); //The calculation is possible and correct
Diff[a] = Data[0] - Data[1]; //But this line outputs a value of 0
Diff[0] = Data[0] - Data[1]; //I have also tried this but still a value of 0
这是我的代码:没有错误
public static void main(String[] args) {
Scanner numbers = new Scanner(System.in);
int Numbers;
int A;
int a = 0, b = 1, c = 2, d = 3, e = 4, f = 5, g = 6, h = 7, i = 8, j = 9, k = 10, l = 11, m = 12, n = 13, o = 14, p = 15, q = 16, r = 17;
int num;
int lengthOfArray;
System.out.println("Welcome to Stone Pile");
System.out.println("\nEnter the number of stones:");
Numbers = numbers.nextInt();
int Data[] = new int[Numbers];
for (A = 0; A < Data.length; A++) {
for (num = 1; num < Numbers; num++) {
int numGen = ThreadLocalRandom.current().nextInt(1, 21);
Data[A] = numGen;
}
}
lengthOfArray = Data.length;
System.out.println("\n");
System.out.println(Data.length + " This is the length of the Data Array");
System.out.println("\n");
System.out.println(Data[0]);
System.out.println(Data[1]);
System.out.println(Data[2]);
System.out.println(Data[3]);
System.out.println(Data[4]);
System.out.println(Data[5]);
System.out.println(Data[6]);
System.out.println(Data[7]);
System.out.println(Data[8]);
System.out.println(Data[9]);
System.out.println("\n");
int Diff[] = new int[20];
System.out.println(Diff.length + " This is length of the Diff Array");
System.out.println("\n");
System.out.println(Diff[0]);
System.out.println(Diff[1]);
System.out.println(Diff[2]);
System.out.println(Diff[3]);
System.out.println(Diff[4]);
System.out.println(Diff[5]);
System.out.println(Diff[6]);
System.out.println(Diff[7]);
System.out.println(Diff[8]);
System.out.println(Diff[9]);
switch (lengthOfArray) {
case 2:
Diff[a] = Data[0] - Data[1];
break;
case 3:
Diff[a] = Data[0] - Data[1];
Diff[b] = Data[1] - Data[2];
break;
case 4:
Diff[a] = Data[0] - Data[1];
Diff[b] = Data[1] - Data[2];
Diff[c] = Data[2] - Data[3];
break;
case 5:
Diff[a] = Data[0] - Data[1];
Diff[b] = Data[1] - Data[2];
Diff[c] = Data[2] - Data[3];
Diff[d] = Data[3] - Data[4];
break;
case 6:
Diff[a] = Data[0] - Data[1];
Diff[b] = Data[1] - Data[2];
Diff[c] = Data[2] - Data[3];
Diff[d] = Data[3] - Data[4];
Diff[e] = Data[4] - Data[5];
break;
case 7:
Diff[a] = Data[0] - Data[1];
Diff[b] = Data[1] - Data[2];
Diff[c] = Data[2] - Data[3];
Diff[d] = Data[3] - Data[4];
Diff[e] = Data[4] - Data[5];
Diff[f] = Data[5] - Data[6];
break;
case 8:
Diff[a] = Data[0] - Data[1];
Diff[b] = Data[1] - Data[2];
Diff[c] = Data[2] - Data[3];
Diff[d] = Data[3] - Data[4];
Diff[e] = Data[4] - Data[5];
Diff[f] = Data[5] - Data[6];
Diff[g] = Data[6] - Data[7];
break;
case 9:
Diff[a] = Data[0] - Data[1];
Diff[b] = Data[1] - Data[2];
Diff[c] = Data[2] - Data[3];
Diff[d] = Data[3] - Data[4];
Diff[e] = Data[4] - Data[5];
Diff[f] = Data[5] - Data[6];
Diff[g] = Data[6] - Data[7];
Diff[h] = Data[7] - Data[8];
break;
case 10:
Diff[a] = Data[0] - Data[1];
Diff[b] = Data[1] - Data[2];
Diff[c] = Data[2] - Data[3];
Diff[d] = Data[3] - Data[4];
Diff[e] = Data[4] - Data[5];
Diff[f] = Data[5] - Data[6];
Diff[g] = Data[6] - Data[7];
Diff[h] = Data[7] - Data[8];
Diff[i] = Data[8] - Data[9];
break;
case 11:
Diff[a] = Data[0] - Data[1];
Diff[b] = Data[1] - Data[2];
Diff[c] = Data[2] - Data[3];
Diff[d] = Data[3] - Data[4];
Diff[e] = Data[4] - Data[5];
Diff[f] = Data[5] - Data[6];
Diff[g] = Data[6] - Data[7];
Diff[h] = Data[7] - Data[8];
Diff[i] = Data[8] - Data[9];
Diff[j] = Data[9] - Data[10];
break;
case 12:
Diff[a] = Data[0] - Data[1];
Diff[b] = Data[1] - Data[2];
Diff[c] = Data[2] - Data[3];
Diff[d] = Data[3] - Data[4];
Diff[e] = Data[4] - Data[5];
Diff[f] = Data[5] - Data[6];
Diff[g] = Data[6] - Data[7];
Diff[h] = Data[7] - Data[8];
Diff[i] = Data[8] - Data[9];
Diff[j] = Data[9] - Data[10];
Diff[k] = Data[10] - Data[11];
break;
case 13:
Diff[a] = Data[0] - Data[1];
Diff[b] = Data[1] - Data[2];
Diff[c] = Data[2] - Data[3];
Diff[d] = Data[3] - Data[4];
Diff[e] = Data[4] - Data[5];
Diff[f] = Data[5] - Data[6];
Diff[g] = Data[6] - Data[7];
Diff[h] = Data[7] - Data[8];
Diff[i] = Data[8] - Data[9];
Diff[j] = Data[9] - Data[10];
Diff[k] = Data[10] - Data[11];
Diff[l] = Data[11] - Data[12];
break;
case 14:
Diff[a] = Data[0] - Data[1];
Diff[b] = Data[1] - Data[2];
Diff[c] = Data[2] - Data[3];
Diff[d] = Data[3] - Data[4];
Diff[e] = Data[4] - Data[5];
Diff[f] = Data[5] - Data[6];
Diff[g] = Data[6] - Data[7];
Diff[h] = Data[7] - Data[8];
Diff[i] = Data[8] - Data[9];
Diff[j] = Data[9] - Data[10];
Diff[k] = Data[10] - Data[11];
Diff[l] = Data[11] - Data[12];
Diff[m] = Data[12] - Data[13];
break;
case 15:
Diff[a] = Data[0] - Data[1];
Diff[b] = Data[1] - Data[2];
Diff[c] = Data[2] - Data[3];
Diff[d] = Data[3] - Data[4];
Diff[e] = Data[4] - Data[5];
Diff[f] = Data[5] - Data[6];
Diff[g] = Data[6] - Data[7];
Diff[h] = Data[7] - Data[8];
Diff[i] = Data[8] - Data[9];
Diff[j] = Data[9] - Data[10];
Diff[k] = Data[10] - Data[11];
Diff[l] = Data[11] - Data[12];
Diff[m] = Data[12] - Data[13];
Diff[n] = Data[13] - Data[14];
break;
case 16:
Diff[a] = Data[0] - Data[1];
Diff[b] = Data[1] - Data[2];
Diff[c] = Data[2] - Data[3];
Diff[d] = Data[3] - Data[4];
Diff[e] = Data[4] - Data[5];
Diff[f] = Data[5] - Data[6];
Diff[g] = Data[6] - Data[7];
Diff[h] = Data[7] - Data[8];
Diff[i] = Data[8] - Data[9];
Diff[j] = Data[9] - Data[10];
Diff[k] = Data[10] - Data[11];
Diff[l] = Data[11] - Data[12];
Diff[m] = Data[12] - Data[13];
Diff[n] = Data[13] - Data[14];
Diff[o] = Data[14] - Data[15];
break;
case 17:
Diff[a] = Data[0] - Data[1];
Diff[b] = Data[1] - Data[2];
Diff[c] = Data[2] - Data[3];
Diff[d] = Data[3] - Data[4];
Diff[e] = Data[4] - Data[5];
Diff[f] = Data[5] - Data[6];
Diff[g] = Data[6] - Data[7];
Diff[h] = Data[7] - Data[8];
Diff[i] = Data[8] - Data[9];
Diff[j] = Data[9] - Data[10];
Diff[k] = Data[10] - Data[11];
Diff[l] = Data[11] - Data[12];
Diff[m] = Data[12] - Data[13];
Diff[n] = Data[13] - Data[14];
Diff[o] = Data[14] - Data[15];
Diff[p] = Data[15] - Data[16];
break;
case 18:
Diff[a] = Data[0] - Data[1];
Diff[b] = Data[1] - Data[2];
Diff[c] = Data[2] - Data[3];
Diff[d] = Data[3] - Data[4];
Diff[e] = Data[4] - Data[5];
Diff[f] = Data[5] - Data[6];
Diff[g] = Data[6] - Data[7];
Diff[h] = Data[7] - Data[8];
Diff[i] = Data[8] - Data[9];
Diff[j] = Data[9] - Data[10];
Diff[k] = Data[10] - Data[11];
Diff[l] = Data[11] - Data[12];
Diff[m] = Data[12] - Data[13];
Diff[n] = Data[13] - Data[14];
Diff[o] = Data[14] - Data[15];
Diff[p] = Data[15] - Data[16];
Diff[q] = Data[16] - Data[17];
break;
case 19:
Diff[a] = Data[0] - Data[1];
Diff[b] = Data[1] - Data[2];
Diff[c] = Data[2] - Data[3];
Diff[d] = Data[3] - Data[4];
Diff[e] = Data[4] - Data[5];
Diff[f] = Data[5] - Data[6];
Diff[g] = Data[6] - Data[7];
Diff[h] = Data[7] - Data[8];
Diff[i] = Data[8] - Data[9];
Diff[j] = Data[9] - Data[10];
Diff[k] = Data[10] - Data[11];
Diff[l] = Data[11] - Data[12];
Diff[m] = Data[12] - Data[13];
Diff[n] = Data[13] - Data[14];
Diff[o] = Data[14] - Data[15];
Diff[p] = Data[15] - Data[16];
Diff[q] = Data[16] - Data[17];
Diff[r] = Data[16] - Data[18];
break;
}
输出:
20这是数据阵列的长度
9 17 五 20 20 17 17 3 7 6
20这是Diff Array的长度
0 0 0 0 0 0 0 0 0 0
Diff数组中的数字不应全是0&#39;
我想知道是否可以根据方程设置数组索引的值。
答案 0 :(得分:1)
通过循环实现这一点会更容易:
for(int i=0; i<Data.length-1; i++){
Diff[i] = Data[i]-Data[i+1];
System.out.println(Diff[i]);
}
这四行可以替换你的整个switch语句和所有“println(Diff ...”行)。(注意你得到错误的Diff输出的原因是因为你在设置它们的值之前打印了Diffs )
答案 1 :(得分:0)
忽略丑陋的代码,您应该在<{strong> {/ 1}}存根之后移动打印Diff
数组的存根。在为数据赋值之前,您打印了switch
数组。