2013-11-25 20 views
1

使用数组,问题问:阵列,无法理解如何设置它

  1. 编写声明了一个阵列的α型双的50种元素的Java程序。
  2. 初始化数组,使前25个数字等于索引变量的平方
  3. 最后25个元素等于索引变量的3倍。
  4. 输出数组,以便打印每行10个元素。

我只有几行代码,我不知道我应该做什么。

public class ch9_problem1{ 
     public static void main(String[] args){ 
      double[] alpha = new double[50]; 
      for(int x = 0; x < 25; x++){ 
       System.out.print(alpha[x] + "\n"); 
      }  
     } 
    } 
+2

麻烦什么?你应该阅读关于数组的教程,这将有助于你理解它是如何工作的。那么你会很容易解决这个问题。 http://docs.oracle.com/javase/tutorial/java/nutsandbolts/arrays.html –

+0

也许你应该问问你的老师。 – Bit

+0

也许你需要将'alpha [x]'设置为循环内的某个东西。当数组第一次创建时,您可以预期这些值全为空。 –

回答

2

你走在正确的轨道上,你应该继续按照原样试验。

您的循环在迭代前25个元素时是正确的,您清楚地知道如何访问数组中的元素,如此处所示。

alpha[x] 

从这里,你应该能够使用一些简单的数学和您的循环计数器X(索引变量)来设置每个元素(阿尔法[X])。

下半年,你只是从25而不是0开始你的循环!

0
public static void main(String[] args) 
{ 
    double[] alpha = new double[50]; 

    for(int x = 0; x < 50; x++) 
    { 
     if (x<25) alpha[x] = x*x; 
     if (x>=25) alpha[x] = x*x*x; 

     System.out.print(alpha[x]); 

     if (x%10 == 0) System.out.print("\n"); 
    } 
} 
+2

应该是3 * x而不是x * x * x。否则是正确的,但对OP的学习没有帮助。 –

+0

你不应该完全放弃整个解决方案。这显然是一个班级,他应该不得不为答案而努力学习。 – Nathan

0

...声明的阵列的α型双的50个元素。

这是正确的。

double[] alpha = new double[50]; 

初始化所述阵列,使得第一25个数字等于索引变量的平方,最后25个元素等于3倍的索引变量。

这部分是与你的循环

for(int x = 0; x < 25; x++) 

x是你的索引变量,这将对每次迭代另一个值完成。它由0开始并以24结尾(即< 25)。

现在你必须使用X作为索引,并指定你的价值观,第25指数的平方,像指数

alpha[x] = x*x; 

另外25用等于3倍,因此你应该用x*3来指定下一个25。

之后,你必须在一个时间5〜10个输出条目的循环做10环和用于所有条目,其中有50

希望有所帮助。

+0

似乎更清晰一点,现在试着修复它 – MrGuerino

1

我不打算给你答案,因为这显然是一个类,但我添加了一些伪代码来帮助你。希望这不会放弃太多。

public class ch9_problem1 
{ 
    public static void main(String[] args) 
    { 
     // STEP 1 - You got this right! 
     double[] alpha = new double[50]; 

     // STEP 2 - SOLVE: 
     // for int i - make a loop that goes through the first half of the array { 
     // alpha[i] = i * i; 
     // } 

     // STEP 3 - SOLVE: 
     // for int i - make a loop that goes through the second half of the array { 
     // alpha[i] = 3 * i; 
     // } 

      // I changed the loop to go until we're at the last element of the array 
     for(int x = 0; x < alpha.length-1; x++) 
     { 

      System.out.print(alpha[x]); 
      // STEP 4 - SOLVE: 
      // If this element's position is a multiple of 10 
      // System.out.print("\n"); 
      // HINT: Use a remainder (modulo) operator 
     } 
    } 
} 
0
  • 创建型双大小为50的阵列(你这样做。)
  • 填充第一25个元素,以便它们具有index*index的值。这将需要二十五次迭代的循环。
  • 填充最后25个元素,使它们的值为3*index。这将需要二十五次迭代的循环。 (提示:可以将它与前一个循环合并,形成25次迭代的单循环。)
  • 循环播放数组内容并打印10个元素5次。