Я работаю с 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
. На самом деле, если этому коду не удается найти строку, она должна остановиться, но в моем случае else внезапно работает с моей if и только одной итерацией в этом случае. Пожалуйста, скажите мне, что я делаю неправильно, мне просто нужны подсказки, а не общая помощь. Заранее спасибо
«* Проблема заключается в том, что я хочу, чтобы выйти из цикла, когда мой„если“заявление перестает работать *!» - Как Операторы 'if' перестают работать? Я не понимаю, что вы имеете в виду. И, пожалуйста, отложите свой код, чтобы нам (и вам) было легче помочь вам. – Maroun
Мне просто нужно выбраться из моей петли, когда мой контроль приходит в другое утверждение! это просто, но мой код не работает! – user2496503
после reindent, возможно, вам нужно другое другое для первого, если: 'if (cell.getCellType() == Cell.CELL_TYPE_STRING) {'. BTW, разрыв будет только нарушать внутренний цикл, а не внешний цикл. вам нужно будет пометить первый цикл, если вы хотите вырваться из этого – TecHunter