Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.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,我试图理解数组对象,我想做的是在我拥有的每个类中调用我的数组 这是我的代码: projectProva.java public class ProjecteProva { Scanner sc = new Scanner(System.in); private final int maxContador = 4; private final DadeArr LlistaUsuari[] = new DadeArr[maxContador];

我试图理解数组对象,我想做的是在我拥有的每个类中调用我的数组

这是我的代码:

projectProva.java

public class ProjecteProva {
        Scanner sc = new Scanner(System.in);
        private final int maxContador = 4;
        private final DadeArr LlistaUsuari[] = new DadeArr[maxContador];      

            int ContadorActual;
        }
public class DadeArr {
            private String nomUsuari;
            private String cognomUsuari;
            public DadeArr(String nU, String nC){
            nomUsuari = nU;
            cognomUsuari = nC;
        }
daderar.java

public class ProjecteProva {
        Scanner sc = new Scanner(System.in);
        private final int maxContador = 4;
        private final DadeArr LlistaUsuari[] = new DadeArr[maxContador];      

            int ContadorActual;
        }
public class DadeArr {
            private String nomUsuari;
            private String cognomUsuari;
            public DadeArr(String nU, String nC){
            nomUsuari = nU;
            cognomUsuari = nC;
        }
现在我在projectProva.java中工作,我有一些方法可以将扫描仪输入的数据保存到数组中

以下是我的一种方法的示例:

        public int inserir(int aContadorActual){
            ContadorActual = 1;
              for (int i=1;i<=ContadorActual;++i){

                    System.out.println("Introdueix el nom del usuari: ");
                    String nU = sc.nextLine();
                    //sd.setNomUsuari(Name);
                    System.out.println("Introdueix el teu cognom : ");
                    String nI = sc.nextLine();
                    LlistaUsuari[ContadorActual] = new DadeArr(nU,nI);
                    System.out.println("El teu usuari s'ha creat             satisfactoriament");


               }
                    ContadorActual++;
                    return ContadorActual;
        }
public int inserir(int-aContadorActual){
ContadorActual=1;

对于(int i=1;i您的代码中有多个gotcha。
1.您应该始终从索引0迭代数组(除非您有特殊需要,或者您使用Python之类的语言编程,其中数组从0开始)
2.您应该将循环中的条件设置为小于数组的精确长度。因此,在您的情况下,它将是
i
。因为您只填充数组的索引#1,所以得到的是空值

您只需要为要访问的数组提供一个
public
getter
方法。
比如:

public DadeArr[] getLlistaUsuari() {
    return this.LlistaUsuari;
}
这样就可以了。

在其他类中,创建一个
ProjecteProva
(我们称之为
pPI
)的实例,要在那里获得数组,只需执行
pPI.getLlistaUsuari()
,就可以了,

代码中有多个gotcha。
1.您应该始终从索引0迭代数组(除非您有特殊需要,或者您使用Python之类的语言编程,其中数组从0开始)
2.您应该将循环中的条件设置为小于数组的精确长度。因此,在您的情况下,它将是
i
。因为您只填充数组的索引#1,所以得到的是空值

您只需要为要访问的数组提供一个
public
getter
方法。
比如:

public DadeArr[] getLlistaUsuari() {
    return this.LlistaUsuari;
}
这样就可以了。

在其他类中,创建一个
ProjecteProva
(我们称之为
pPI
)的实例,要得到数组,只需执行
pPI.getllistausari()
,您就可以得到它,

当我创建这个函数时,它说我不能将Daderar[]转换为Daderar。所以我所做的是:public Daderar[]getllistausari(){返回this.LlistaUsuari;}但是,如果我试图查看其中的内容,则会得到null。我使用FOR,FOR(daderar n:pPi.getLlistaUsuari()){System.out.println(n);}。我从ad执行它。java@berokk请遵循Java命名惯例和编码风格。在Java中,我们将数组符号
[]
在类型前面,而不是变量名前面。因此我完全忽略了它。现在我已经修正了。你可以找到一种很好的编码风格,它在这里被广泛接受:谢谢你,但是打印呢?如果我试着看一下里面的内容,它会给我空值。我使用FOR,FOR(daderar n:pPi.getLlistaUsuari(){System.out.println(n);}.我是从ad.java执行它的…如果我要求太多,我可以理解…再次感谢你当我创建这个函数时,它说我不能将Daderar[]转换为Daderar。所以我所做的是:public Daderar[]getLlistaUsuari(){return this.LlistaUsuari;}但是,如果我尝试查看它里面的内容,会得到null。我使用FOR,FOR(daderarn:pPi.getLlistaUsuari(){System.out.println(n);}。我从ad执行它。java@berokk请遵循Java命名惯例和编码风格。在Java中,我们将数组符号
[]
在类型前面,而不是变量名前面。因此我完全忽略了它。现在我已经修正了。你可以找到一种很好的编码风格,它在这里被广泛接受:谢谢你,但是打印呢?如果我试着看一下里面的内容,它会给我空值。我使用FOR,FOR(daderar n:pPi.getLlistaUsuari(){System.out.println(n);}.我是从ad.java执行的…如果我要求太多,我可以理解…再次感谢你