类和对象数组

时间:2017-06-13 22:51:56

标签: java arrays

它的代码部分。在代码的第一部分我写了类的对象。这很好我没有问题。我的问题是代码的第二部分

 Paper[] pin = new Paper[N]; //N are given by keyboard .
    for (int i=0; i < N, i++) //until the lenght N 
    {
        pin[i] = new Paper();
    }
    pin[0].setpencil(3); // the number 3 i random chose it from my mind,i have done get and set methods
    pin[0].getpencil(3);

我想这样做不是为了课,这是代码的第二部分。如果我想创建不使用类的对象,这是正确的方法吗?

int[] pin = new int[N]; 
for (int i=0; i < N, i++)
{
    pin[i] = new int();
}
pin[0].setpencil(3);
pin[0].getpencil(3);

1 个答案:

答案 0 :(得分:1)

如果要使用整数数组,只需使用int[N]

int[] pin = new int[N];

就是这样。 Java将基元初始化为0(零)或false boolean。你不需要for循环来设置数组的内容,除非你想要一些非零的值。

例如,要将数组的所有值初始化为42:

int[] pin = new int[N]; 
for (int i=0; i < N, i++)
{
    pin[i] = 42;
}

要读取和写入此数组,您不能使用方法。只需将数组deference视为任何其他变量。

pin[0] = 3;                    // pin[0].setpencil(3);
System.out.println( pin[0] );  // pin[0].getpencil(3); prints "3"

但是,类必须以不同的方式工作(或者至少它们使用Java)。如果你有一个对象数组而不是基元:

Class Paper {
   void getpencil(int n) {}
   void setpencil(int n) {}
}

和一个数组

Paper[] myPaper = new Paper[N];

您必须通过方法访问它;你不能使用上面只有原语的表格。

myPaper[0].setpencil(3);
myPaper[0].getpencil(3);