-1

我试图弄清楚类是如何工作的,出于某种原因,无论我读了多少次我的 java 书,我都根本没有得到它。我创建了这个类,然后我试图调用它(它被称为调用吗?)

public class ovn7a {

    int []vektor;

public ovn7a () {

for(int k=1; k<10; k++){
vektor[k]=0+k;
System.out.println(vektor[k]);
}

然后在另一个窗口中我有这个

public class test1 {
public static void main(String []args) {
ovn7a hej = new ovn7a(); }}

所以我认为会发生的是我创建了一个向量。然后在构造函数中有一个 for 函数,它给插槽 1-10 一个数字。我意识到我没有命名或告诉 vektor 总共有多少个插槽,我不知道在创建类时在哪里执行此操作。通常我会

写 int []vektor = new int[20];

但是上课..你我不知道该怎么做。

无论如何,当我从另一个“文件”运行这个类时,我认为会发生什么,我想我会从类中获取我的构造函数中的所有内容,复制它或其他东西并将其命名为 hej。所以我认为它现在会在构造函数中执行什么操作,它会创建数字并将其放入 vektor 中,然后将其打印出来,但没有任何反应。

4

1 回答 1

1

在您的 ovn7a 类中,for 循环末尾没有 } 来关闭它。这就是它应该的样子。另外,我已经重命名了 Ovn7a 类(这是一个 Java 约定,类名以大写字母开头)。

public class Ovn7a {

    int []vektor;

    public ovn7a () {

        for(int k=1; k<10; k++){
        vektor[k]=0+k;
        System.out.println(vektor[k]);}  //this } is what you are missing
    }
}

当您创建自己的类实例时(通过键入 Ovn7a hej = new Ovn7a() ),它会在构造函数中运行代码,这是您的 for 循环所在的位置。

此外,您所拥有的不是矢量对象。它是一个名为“vektor”的数组。您已命名数组。然后你需要实例化它并给它一些值。所以在构造函数的顶部添加这一行:

vektor = new int[] {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
于 2013-10-31T09:53:00.680 回答