Erro na instrução continue

9 respostas
shuremaster

Boa noite galera, estou começando a programar em java e uso o Java como programar 4ª edição como professor XD, galera é o seguinte. Tenho um problema na hora de implementar a instrução continue, fiz como o livro me pediu mas nada feito. Se puderem me ajudar agradeço muito, estou aqui para elogios e conselhos. Ah lembrando que eu uso MAC OS isso faz diferença ? Bom espero que não. Obrigado.

Aqui vai o código

package continuelabeltest;

/**
 *
 * @author adrianomoreirainacio
 */
import javax.swing.JOptionPane;

public class ContinueLabelTest {
    private static int colunm;

    public static void main(String[] args) {
        String output = "";

        nextRow: // Rotulo alvo da instrucao continue
        // Conta 5 linhas
        for (int row = 1; row <= 5; row++);
        {
            output = "\n";

            // Conta 10 colunas por linha

            for (int colunm = 1; colunm <= 10; colunm++);
            {

                //Se a coluna for maior que a linha, pule para a proxima linha
                if (colunm >= 5)
                    continue;
                    

                output += "*  ";

            }
        }

        JOptionPane.showMessageDialog(
                null, output, "Teste continue label",
                JOptionPane.ERROR_MESSAGE);
        System.exit(0);

    }
}

9 Respostas

leonardom

pelo que entendi do seu código faltou você informar o label do seu for na instrução continue. Tenta algo assim:

//Se a coluna for maior que a linha, pule para a proxima linha  
    if (colunm >= 5)  
        continue nextRow;
shuremaster

Boa noite Leonardm, muito obrigado por colaborar, mas ão deu certo cara … tiver mais opções a serem utilizadas estou na espera Ok. Grato !

S

continue, não pode ser usado fora de um loop.

leonardom

E quem disse pra usar o continue fora do loop? O exemplo que eu dei era pra substituir o if de dentro do for.

leonardom

shurmaster, o erro está no ponto e vírgula que você colocou final da linha 23. Remova-o e deixa apenas o abre chaves. Você fez a mesma coisa na linha 17.

Sempre que for fazer um for use abre e fecha chaves e não ponto e virgula.

Segue o código corrigido:

/**
 *
 * @author adrianomoreirainacio
 */
import javax.swing.JOptionPane;

public class ContinueLabelTest {
    private static int colunm;

    public static void main(String[] args) {
        String output = "";

        nextRow: // Rotulo alvo da instrucao continue
        // Conta 5 linhas
        for (int row = 1; row <= 5; row++) {
            output = "\n";

            // Conta 10 colunas por linha

            for (int colunm = 1; colunm <= 10; colunm++) {

                //Se a coluna for maior que a linha, pule para a proxima linha
                if (colunm >= 5) {
                    continue;
                }

                output += "*  ";

            }
        }

        JOptionPane.showMessageDialog(
                null, output, "Teste continue label",
                JOptionPane.ERROR_MESSAGE);
        System.exit(0);

    }
}
shuremaster

Obrigado Leonardm, deu certo o erro era o ponto e vírgula mesmo, como estava pasasndo por dificuldades, nem prestei atenção no “;” mas valew mesmo cara. Obrigado

fantomas

Por que vc não fêz assim?

for (int  colunm = 1; colunm <= 10; colunm++) {  
   
                 //Se a coluna for maior que a linha, pule para a proxima linha  
                 if (colunm < 5) {  
                     output += "*  ";  
                 }  
   
             }

Iria economizar um linha, não iria?

flws

shuremaster

Ok muito obrigado, agradeço pela ajuda galera XD !

WellingtonRamos

+1!

A resposta está nesta linha:

um loop terminando com um [size=18];[/size] é como se fosse

Para o seu código, seria o mesmo que:

for (int colunm = 1; colunm <= 10; colunm++) { } 
{
 //faz o que vc implementou e acha que está dentro do loop mas não está.
}
Criado 3 de maio de 2010
Ultima resposta 6 de mai. de 2010
Respostas 9
Participantes 5