我有这四个类,我想更改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);
}
}
}
Comment.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变量。
答案 0 :(得分:1)
首先你遇到的错误是因为每当你有一个Coment,你就会创建一个ParseHTML,然后创建自己的Comment,然后无限制地创建自己的ParseHTML。
您遇到的问题(无关)是关于更改Comment.getComment()中的循环计数器。你不能这样做,除非它在getComment()的范围内,即使你可能这样做也是不好的做法,原因很多,包括循环中使用的变量应该是本地的,getComment()不应该有边-effects,不应该连接到该循环。循环体应该改变变量而不是getComment()。您可以检查它返回的注释,以便在循环内确定是否更改i或x。