-5

我有这四个类,我想更改 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();

        }

}

解析HTML.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;
    }
}

如果不是 getter 和 setter,我需要以某种方式更改 curLine 变量。

4

1 回答 1

1

首先,您遇到的错误是因为每当您有评论时,您都会创建一个 ParseHTML,然后它会创建自己的评论,然后无限地创建自己的 ParseHTML 广告。

您的问题(不相关)是关于更改 Comment.getComment() 中的循环计数器。你不能这样做,除非它在 ​​getComment() 的范围内,即使你可以这样做也是不好的做法,原因有很多,包括循环中使用的变量应该是本地的,getComment() 不应该有边-影响,并且不应连接到该循环。循环体应该改变变量而不是 getComment()。您可以检查它返回的 Comment 以确定循环内部是否更改 i 或 x。

于 2013-06-10T03:44:05.110 回答