-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(); }}

だから私が考えていたのは、ベクトルを作成することです。次に、コンストラクターには、スロット 1 から 10 に番号を与える for 関数があります。クラスを作成するときにこれをどこで行うべきかわかりません。通常、私はただ

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

しかし、クラスで..あなたは何をすべきかわからない。

とにかく、このクラスを他の「ファイル」から実行するとどうなるかと思ったのですが、クラスからコンストラクター内のすべてのものを取得し、それまたは何かをコピーして、hej という名前を付けると思いました。だから私はそれが今コンストラクタで何をするのかと思った、それは数字を作成してベクトルに入れてからそれを出力するだろうが、何も起こらない.

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 に答える