Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/385.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 数组,无法理解如何设置它_Java_Arrays - Fatal编程技术网

Java 数组,无法理解如何设置它

Java 数组,无法理解如何设置它,java,arrays,Java,Arrays,使用阵列时,问题是: 编写一个java程序,将数组alpha声明为double类型的50个元素 初始化数组,使前25个数字等于索引变量的平方 最后25个元素等于索引变量的3倍 输出数组,以便每行打印10个元素 我只有几行代码,我不知道我应该做什么 public class ch9_problem1{ public static void main(String[] args){ double[] alpha = new double[50];

使用阵列时,问题是:

  • 编写一个java程序,将数组alpha声明为double类型的50个元素
  • 初始化数组,使前25个数字等于索引变量的平方
  • 最后25个元素等于索引变量的3倍
  • 输出数组,以便每行打印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");
                }       
            }
        }
    
    公共类ch9\u问题1{
    公共静态void main(字符串[]args){
    double[]alpha=新的double[50];
    对于(int x=0;x<25;x++){
    系统输出打印(alpha[x]+“\n”);
    }       
    }
    }
    
    如果你走在正确的轨道上,你应该继续进行实验

    循环迭代前25个元素是正确的,并且您清楚地了解如何访问数组中的元素,如图所示

    alpha[x]
    
    从这里开始,您应该能够使用一些简单的数学和循环计数器x(索引变量)来设置每个元素(alpha[x])

    对于下半部分,您只需从25开始循环,而不是从0开始

    publicstaticvoidmain(字符串[]args)
    
    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");
        }
    }
    
    { double[]alpha=新的double[50]; 对于(int x=0;x<50;x++) { 如果(x=25)α[x]=x*x*x; 系统输出打印(alpha[x]); 如果(x%10==0)系统输出打印(“\n”); } }
    …将数组alpha声明为类型为double的50个元素

    这是正确的

    double[] alpha = new double[50];
    
    初始化数组,使前25个数字等于索引变量的平方,最后25个元素等于索引变量的3倍

    这部分是通过循环完成的

    for(int x = 0; x < 25; x++)
    
    另一个25等于索引的3倍,因此您应该用
    x*3
    指定下一个25

    在这之后,您必须在5个循环中执行10个循环,以便一次输出10个条目,并为所有条目输出50个条目


    希望这能有所帮助。

    我不会给你答案,因为这显然是针对一个类的,但我添加了一些伪代码来帮助你。希望这不会泄露太多

    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
            }
        }
    }
    
    公共类ch9\u问题1
    {
    公共静态void main(字符串[]args)
    {
    //第一步-你做对了!
    double[]alpha=新的double[50];
    //步骤2-解决:
    //对于int i-创建一个循环,该循环通过数组的前半部分{
    //α[i]=i*i;
    // }
    //步骤3-解决:
    //对于int i-创建一个循环,该循环通过数组的后半部分{
    //α[i]=3*i;
    // }
    //我改变了循环直到我们到达数组的最后一个元素
    对于(int x=0;x
    • 创建一个大小为50的double类型的数组(您这样做了。)
    • 填充前25个元素,使其值为
      index*index
      。这将需要25次迭代的循环
    • 填充最后25个元素,使其值为
      3*index
      。这将需要25次迭代的循环。(提示:可以将其与前一个循环合并,给出一个25次迭代的循环。)
    • 循环数组内容并打印10个元素5次

    什么问题?您应该阅读有关数组的教程,这将帮助您了解它是如何工作的。这样你就能很容易地解决这个问题了。也许你应该问问你的老师。也许你需要在你的循环中设置
    alpha[x]
    。当数组第一次创建时,您可以期望值都为空。我编辑了您的问题以使步骤更清晰。分别对每个步骤进行编码。应为3*x,而不是xxx。否则是正确的,但对OP的学习没有帮助。你不应该如此随意地给出整个解决方案。这显然是为了一门课,为了学习,他应该努力寻找答案。
    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
            }
        }
    }