-5

これらの 4 つのクラスがあり、for ループで使用される変数を変更したい

主に Comment.getComment メソッドから curLine 変数を変更したい

URLReader.java

public class URLReader {
    ParseHTML ParseHTML = new ParseHTML();
        public static void main(String[] args) throws Exception {
        URLReader URLReader = new URLReader();
        URLReader.ParseHTML.parseHTML();

        }

}

ParseHTML.java

public class ParseHTML {
    int curLine = 0;
    Comment Comment = new Comment();
    CharacterAndLine CharacterAndLine = new CharacterAndLine();

    public void parseHTML() {
        for (curLine = curLine; curLine < 100; curLine++) {
            curLine = CharacterAndLine.getCurrentLine()+curLine;
            System.out.println(curLine);
        }
    }
}

コメント.java

public class Comment {
    CharacterAndLine CharacterAndLine = new CharacterAndLine();
    public void getComment() {
        CharacterAndLine.setCurrentLine(50);
    }

}

CharacterAndLine.java

public class CharacterAndLine {
    int currentLine;

    public int getCurrentLine() {
        return currentLine;
    }
    public void setCurrentLine(int newCurrentLine) {
        currentLine = newCurrentLine;
    }
}

ゲッターとセッターでない場合は、何らかの方法でcurLine変数を変更する必要があります。

4

1 に答える 1

1

まず、あなたが抱えているエラーは、コメントがあるときはいつでも ParseHTML を作成し、それが独自のコメントを作成し、それが独自の ParseHTML 広告を無限に作成するためです。

あなたが持っている(無関係の)質問は、Comment.getComment() のループカウンターを変更することです。getComment() のスコープ内にない限り、これを行うことはできません。ループで使用される変数をローカルにする必要があること、getComment() に side を指定しないことなど、さまざまな理由から、そうするのは悪い習慣です。 -エフェクト、およびそのループに接続しないでください。getComment() ではなく、ループの本体で変数を変更する必要があります。ループ内で i または x を変更するかどうかを判断するために、それによって返されたコメントを確認できます。

于 2013-06-10T03:44:05.110 に答える