Cannot find symbol

4 respostas
Mancini

Oi Galera, alguem sabe o que poderá tar se passando neste código?

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Leitura JDBC</title>
    </head>
    <body>
        <jsp:useBean id="LigaBDBean" scope="session" class="Cap6.Ex3.LigaBD" />
        <jsp:setProperty name="LigaBDBean" property="*" />

    Tabela bd1:<br/>

    <%
    String res_id[] = new String[20];
    String res_val[] = new String[20];
    out.print("Ligação à BD:");
    boolean res=LigaBDBean.fetch();
    if (res)
            out.print("ok<br/>");
    else
            out.print("falhou<br/>");
    res_id=LigaBDBean.getId();
    res_val=LigaBDBean.getVal();

    for (int k=0;k<LigaBDBean.getRegistos();k++);
        {
        out.print("ID: ");
        out.print(res_id[k]);<---------- dizendo aqui : Cannot find symbol
        out.print("Valor: ");
        out.print(res_val[k]);<-------- dizendo aqui : Cannot find symbol
        out.print("<br/>");
        }

    %>
    </body>
</html>

Alguém sabe o que poderá ser?

A variável tá declarada no ciclo for. Daí não sei o que tá passando.

Cumprimentos.

Mancini.

4 Respostas

T
for (int k=0;k&lt;LigaBDBean.getRegistos();k++);

Aham - há um “;” sobrando depois do “)” do “for” . Isso faz com que o for fique um “laço vazio”, e o “k” acaba ficando indefinido depois do “for”.

O estilo preferido em Java (mas não em C++ ou C#) manda você pôr as chaves assim:

for (int k=0;k&lt;LigaBDBean.getRegistos();k++) {
    out.print("ID: ");  
    out.print(res_id[k]);
    out.print("Valor: ");  
    out.print(res_val[k]);
    out.print("&gt;<br/>");  
}

Isso economiza um pouco de linhas e faz com que você não se esqueça que não deve haver um “;” depois do “)” do “for”.

Mancini

LOL

Valeu thingol.

Tava mesmo dormindo ontem à noite qd tava fazendo isso.

Coisa básica.

Cumprimentos.

Mancini.

T

Podia ser muito pior. Prefiro ter um erro de compilação que um de execução.
Imagine se fosse isto aqui (que já vi em muitos lugares diferentes):

int k = 0;   
     for (k=0;k&lt;LigaBDBean.getRegistos();k++);  
         {  
         out.print("ID: ");  
         out.print(res_id[k]);
         out.print("Valor: ");  
         out.print(res_val[k]);
         out.print("&gt;<br/>");  
         }

Isso irá provocar um erro de execução muito difícil de descobrir.

Mancini

É isso mesmo, antes deste tipo de erros. :slight_smile:

Valeu.

Cumprimentos.

Mancini.

Criado 14 de junho de 2009
Ultima resposta 15 de jun. de 2009
Respostas 4
Participantes 2