5
respostas

Quais os muitos erros que estao no meu codigo? estou em um looping infinito haha

import java.util.Scanner;

public class PositivoONegativo { public static void main(String[] args) { System.out.println("Bem vindo a respota sobre o seu numero !!! positivo ou negativo? qual e a resposta ?"); Scanner leitura = new Scanner(System.in);

    int num1 = leitura.nextInt();
    while (num1 != 10) {
        System.out.println("Digite um numero a seguir: ");
        if (num1 < 0) {
            System.out.println("O numero digitado foi negativo");
        } else {
            System.out.println("O numero digitado foi positivo");
        }

        System.out.println("Processo concluido com sucesso");
    }
}

}

5 respostas

Boa tarde Marcelo, cara seu erro parece estar ligado ao fato de você não reatribuir um novo valor a variável num1, logo quando você digita um número diferente que 10 na primeira linha, ele entra dentro do while mas como esse valor não é alterado ele nunca vai sair do while. Para resolver isso basta reatribuir um valor a essa variável, olhando seu código vi que tem uma linha que você printa a seguinte mensagem "Digite um numero a seguir: ", acredito que seja pra ele digitar um novo número, caso seja isso na linha de baixo vc precisa atribuir esse valor que ele vá digitar na variável num1, para fazer isso basta repetir o mesmo processo da primeira linha: num1 = leitura.nextInt();

Espero ter ajudado : )

Olá, Marcelo! O seu código está em loop infinito, pois o valor do seu num1 é lido uma vez antes do loop while, mas nunca é atualizado, por isso não tem como sair dele. Você pode consertar isso definindo um valor à variável num1 antes do while e ler ele novamente logo após o println "Digite um numero a seguir: ". Com isso, o seu código funcionará corretamente. Espero tê-lo ajudado, boa sorte nos estudos!!

Hey Brothers. Obrigado por responder

Tu poderia me mandar um exemplo de como ficaria?

Desculpa essas perguntas bobas. e que estou bem no inicio.

Obrigado

Opa man, que isso cara, tem que perguntar mesmo, todo mundo um dia iniciou, não fique com medo de perguntar não. Aqui está um exemplo do código corrigido:


    int num1 = leitura.nextInt();
    while (num1 != 10) {
        System.out.println("Digite um numero a seguir: ");
        num1 = leitura.nextInt();
        if (num1 < 0) {
            System.out.println("O numero digitado foi negativo");
        } else {
            System.out.println("O numero digitado foi positivo");
        }

        System.out.println("Processo concluido com sucesso");
    }
}

Show meu brother. Muito obrigado.