我一直在使用Apache POI和使用我的這段代碼:無法跳出循環
private void remove() {
HSSFWorkbook wb = null;
HSSFSheet sheet = null;
try {
FileInputStream is = new FileInputStream("C:/juni.xls");
wb = new HSSFWorkbook(is);
sheet = wb.getSheetAt(0);
for (Row row : sheet) {
for (Cell cell : row) {
if (cell.getCellType() == Cell.CELL_TYPE_STRING) {
if (cell.getRichStringCellValue().getString().trim().contains("POST")) {
row_count_post_1 = row.getRowNum();
DashBoard.txt.setText("Processed the STRING \"POST\" on Row#" + row_count_post_1);
HSSFRow removingRow = sheet.getRow(row_count_post_1);
if (removingRow != null) {
sheet.removeRow(removingRow);
}
int lastIndex = sheet.getLastRowNum();
sheet.shiftRows(row_count_post_1 + 1, lastIndex, -1);
} else {
break;
}////////////want to break from here;
}
}
}
} catch (Exception e) {
//do catch for no exception
}
}
的問題是,我想走出循環的時候,我if
聲明停止工作。所有工作正常,如果我不使用我的else
。實際上,如果這段代碼無法找到一個字符串,它應該停止,但在我的情況下,其他突然與我的工作,如果只有一個迭代將發生在這種情況下。 請告訴我我做錯了什麼,請我只需要提示,而不是整體幫助。在此先感謝
「*的問題是,我想離開循環時,我的‘if’語句停止工作,*!」 - 如何'如果'語句停止工作?我不明白你的意思。並請縮進你的代碼,以便我們(和你)更容易幫助你。 – Maroun
我只需要擺脫我的循環,當我的控制來到其他語句!它很簡單,但我的代碼沒有這樣做! – user2496503
在reindent之後,如果你需要另一個else if:(cell.getCellType()== Cell.CELL_TYPE_STRING){'。順便說一句,休息只會打破內循環而不是外循環。如果你想突破 – TecHunter