我想顯示前200個條目,並且如果我再運行它接下來的200個等等。變量totalResults
將在稍後動態設置。如果我只有45個條目,它應該顯示這些條目,如果它有例如540條目,那麼它應該只顯示前200條目。我使用屬性文件。下面是代碼:需要幫助的循環
public class NewClass1 {
public static void main(String args[]) throws FileNotFoundException, IOException {
int totalResults = 420; //
int itemsperPage = 10;
int count = 200;
int i = 0;
FileOutputStream output = null;
Properties prop = new Properties();
FileInputStream input = null;
input = new FileInputStream("config.properties");
// load a properties file
prop.load(input);
//get the property value startIndex and print it out
String iStr = prop.getProperty("i");
int startIndex = Integer.parseInt(iStr);
System.out.println("startIndex " + startIndex);
//get the property value startIndex and print it out
String iCount = prop.getProperty("count");
int intCount = Integer.parseInt(iCount);
System.out.println("intCount " + intCount);
count = intCount;
for (i = startIndex; i <= (count/itemsperPage); i++) {
//System.out.println("count/itemsperPage "+(count/itemsperPage));
System.out.println("count for " + count);
System.out.println("i for " + i);
if (totalResults >= count) {
System.out.println(" i " + i);
System.out.println("last");
output = new FileOutputStream("config.properties");
//prop.setProperty("pos", strI+"0");
String strI = "" + (i);
prop.setProperty("i", strI);
String strCount = "" + (count + 200);
prop.setProperty("count", strCount);
prop.store(output, null);
}else{
System.out.println("else");
break;
}
}
}
}
如果我運行這個程序中的第一次,config.properties
鍵和值 應宣佈爲count=200;
和i=1;
在第一次運行的輸出:
i for 1, i for 2, i......, i for 20
如果我再次運行它:
i for 20, i for 21,i....., i for 40
它顯示的起始索引高達40,但也有420項。它不應該打印出 的起始索引達到420嗎?有人知道什麼是錯的嗎?
爲什麼你認爲它應該在startIndex 40之後保持循環?在這一點上「計數」的價值是什麼? totalResults的價值是什麼? – folkol 2014-09-20 15:17:47
問題的部分原因是,你試圖做什麼並不完全清楚;你所說的和你的代碼所說的內容之間存在巨大的脫節。你說你想打印前200個條目,但是你的代碼中沒有提到任何類型的條目。此外,你的循環只迭代了20次,你似乎很高興?有多個未使用和/或冗餘的變量。我試圖幫助你清理代碼,以便我們能夠弄清楚你正在嘗試做什麼。否則,我們無法修復它。 – Floegipoky 2014-09-20 17:02:19