Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.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 如何初始化数组的元素1到10,然后在打印元素的方法中使用该构造函数?_Java_Arrays_Constructor - Fatal编程技术网

Java 如何初始化数组的元素1到10,然后在打印元素的方法中使用该构造函数?

Java 如何初始化数组的元素1到10,然后在打印元素的方法中使用该构造函数?,java,arrays,constructor,Java,Arrays,Constructor,我有一个面向对象编程课的作业。我一直在尝试获取在构造函数中初始化的数组的值,并使用该构造函数中的值以另一种称为printArrayValues的方法打印它们。我似乎无法“调用”或返回方法中的值。。我已经排解故障好几个小时了,我感到很沮丧 任务的步骤如下: ExerciseOne类的构造函数将myArray初始化并实例化为一个由十个整数组成的数组,并使用for循环使用值1到10初始化数组的元素。 必须根据for循环索引变量分配值,例如,i 该类有一个名为printArrayValues的方法

我有一个面向对象编程课的作业。我一直在尝试获取在构造函数中初始化的数组的值,并使用该构造函数中的值以另一种称为
printArrayValues
的方法打印它们。我似乎无法“调用”或返回方法中的值。。我已经排解故障好几个小时了,我感到很沮丧

任务的步骤如下:

  • ExerciseOne
    类的构造函数将
    myArray
    初始化并实例化为一个由十个整数组成的数组,并使用for循环使用值
    1
    10
    初始化数组的元素。
    • 必须根据for循环索引变量分配值,例如,
      i
  • 该类有一个名为
    printArrayValues
    的方法,该方法使用for循环和
    System.out.print()
    语句打印出数组元素的值,如示例输出所示。
    • 此方法没有参数,也没有返回值
我尝试在构造函数中创建一个新变量,然后在方法中调用它,但它不起作用

public class ExerciseOne {

    public int[] myArray;

    public static void main(String[] args) {
        ExerciseOne aExerciseOne = new ExerciseOne();
        aExerciseOne.printArrayValues();

    }

    ExerciseOne() {
        for (int i = 0; i < myArray.length; i++) {
            this.myArray = new int[i];
        }

    }

    public void printArrayValues() {
        System.out.print("myArray = {");
        for (int a = 0; a < myArray.length; a++) {
        System.out.print((myArray[a] + 1));
        if (a < 9) {
            System.out.print(",");
        }
        else {
            System.out.print("};");
        }

        }

    }
    //
    //public void displayArrayProduct() {
    //  for (int  : myArray) {
    //      
    //  }
    //  
    //}

}
公共课练习一{
公共int[]myArray;
公共静态void main(字符串[]args){
ExerciseOne aExerciseOne=新的ExerciseOne();
aExerciseOne.printArrayValues();
}
练习一{
for(int i=0;i

我很沮丧,只是在方法中创建了循环来初始化它。这对于作业来说是不正确的,但我想继续。老实说,我在这一点上非常迷茫,如果这使我更难帮助我,我很抱歉。

您正在两次初始化同一阵列。如果您使用以下任何一种方法,您的程序也将运行:

myArray = new int[]{1, 2, 3, 4, 5, 6, 7, 8, 9 , 10};


我已经编写并测试了以下内容,它将返回您需要的输出。请注意,它是为控制台应用程序用C#编写的。如果有帮助的话,请记得投我一票

按如下方式创建练习一类:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace test
{
    public class ExerciseOne
    {
        int[] eo;
        public ExerciseOne()
        {
            eo = new int[10];

            for (int i = 0; i <= 9; i++)
            {
                eo[i] = i + 1;
            }
            printArrayValues();
        }

        public void printArrayValues()
        {
            foreach (var item in eo)
            {
                Console.WriteLine(item);
            }
            Console.ReadLine();

        }
    }
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace test
{
    class Program
    {
        static void Main(string[] args)
        {
            ExerciseOne one = new ExerciseOne();
        }
    }
}
你可以试试这个代码

public class ExerciseOne {

public int[] myArray = new int[10];

public static void main(String[] args) {
    ExerciseOne aExerciseOne = new ExerciseOne();
    aExerciseOne.printArrayValues();
}

ExerciseOne() {
    for (int i = 0; i < myArray.length; i++) {
        this.myArray[i] = i+1;
    }
}

public void printArrayValues() {
    System.out.print("myArray = {");
    for (int a = 0; a < myArray.length; a++) {
        System.out.print((myArray[a]));
        if (a < 9) {
            System.out.print(",");
        }
        else {
            System.out.print("};");
        }
    }
}
}
公共课练习一{
public int[]myArray=new int[10];
公共静态void main(字符串[]args){
ExerciseOne aExerciseOne=新的ExerciseOne();
aExerciseOne.printArrayValues();
}
练习一{
for(int i=0;i

输出:myArray={1,2,3,4,5,6,7,8,9,10}

对于
循环,不应该需要
myArray=newint[]{1,2,3,4,5,6,7,8,9,10}
应该已经为您完成了这项工作。对不起,那是我在做实验,我忘了是我做的。我把它删掉了。赋值需要一个for循环来初始化数组,它需要在构造函数中实例化和初始化数组。如何从构造函数中获取值,并在另一个方法中显示它们?您正在使用
myArray.length
,但您似乎不知道为什么要使用它。您希望myArray.length的值是多少?谢谢。我该如何获取数组元素的值,并在另一个方法中显示它们呢?因为myArray是全局变量,所以它对所有方法都是可见的,一旦您在构造函数中初始化了它。这些值也将在另一种方法中可用。唯一的问题是您不必执行System.out.print((myArray[a]+1));您可以使用System.out.print((myArray[a]);您必须像下面这样初始化全局数组:public int[]myArray=new int[10];
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace test
{
    class Program
    {
        static void Main(string[] args)
        {
            ExerciseOne one = new ExerciseOne();
        }
    }
}
public class ExerciseOne {

public int[] myArray = new int[10];

public static void main(String[] args) {
    ExerciseOne aExerciseOne = new ExerciseOne();
    aExerciseOne.printArrayValues();
}

ExerciseOne() {
    for (int i = 0; i < myArray.length; i++) {
        this.myArray[i] = i+1;
    }
}

public void printArrayValues() {
    System.out.print("myArray = {");
    for (int a = 0; a < myArray.length; a++) {
        System.out.print((myArray[a]));
        if (a < 9) {
            System.out.print(",");
        }
        else {
            System.out.print("};");
        }
    }
}
}