2014-08-31 3 views
1

Я получил этот код java и по какой-то причине компилятор вытащил ошибку на writer.println(linestr);; Ошибка: (51, 13) Java: недостижимо заявлениеJava: недостижимое утверждение для writer.println()?

String linestr =""; 
int row = 1, col = 1; 
PrintWriter writer = new PrintWriter("C:\\Users\\User\\Selenium\\scrapjv\\output\\out.txt", "UTF-8"); 
while(isElementPresent(By.xpath("//div[@id='quotes_content_left_pnlAJAX']/table/tbody/tr[" + row + "]"))) { 
    for (col = 1; ; col++) { 
     linestr = linestr + driver.findElement(By.xpath("//div[@id='quotes_content_left_pnlAJAX']/table/tbody/tr[" + row + "]/td[" + col + "]")).getText() + ","; 
    } 
    writer.println(linestr); 
    row++; 
} 
writer.close(); 

Я просто хочу, чтобы преобразовать вкладку HTML в формат CSV с , разделителем столбцов и \n для строк. Вы понимаете, что плохо с моим кодом? И кстати, может быть, вы знаете какую-то удобную библиотеку для быстрого преобразования html-таблицы в csv?

+0

Комментарий линии. Ошибка изменилась - что это? Теперь обобщите ошибку (и заголовок). – user2864740

ответ

4

Что происходит, что ваш for цикл бесконечен, потому что вы не указать условие терминации ни break заявления в корпус петли:

for (col = 1; ; col++) 
      ^

Таким образом, программа никогда не дойдет до кода после for петля.

+0

oh wow даже не заметил, что я скопировал for из другого заявления, в котором был перерыв ... thank's – Wicelo

3
for (col = 1; ; col++) { 

выше for цикл не имеет конечного состояния, поэтому он никогда не закончится, поэтому утверждение следует цикл for никогда не будет достигнута.

Вот пример for цикла, который заканчивается:

for (col = 1; col < 10; col++) { 
Смежные вопросы