package Lista03;
import javax.swing.JOptionPane;
public class exe09 {
public static void main (String args[]){
int n, cont, ndiv;
String entrada;
String saida;
entrada = JOptionPane.showInputDialog ( " Escreva um número inteiro " );
n = Integer.parseInt ( entrada );
while (n<0){
ndiv = 0;
[color=darkred]for[/color] (cont=0;1>=n;cont++){
resto = n % cont; // O ERRO ACONTECE AQUI, NA PALAVRA RESTO
if (ndiv <=2)
{
saida = " É primo " + n;
JOptionPane.showMessageDialog (null, saida);
}
else
{
saida = " Não é primo " + n;
JOptionPane.showMessageDialog (null, saida);
}
}}}}
Erro em java
17 Respostas
Avariável “resto” não esta declarada.
Então, posso declarar como double, ai tenho que converter?
Declara como double só isso, pra que converter?
O módulo de um número é sempre um número inteiro. Pelo que vi do seu código, você pode declarar resto como inteiro mesmo.
Agora ficou uma lâmpada com um !, lá em cima na variável resto que eu declarei.
Quando eu executo o programa pede para digitar um Nº, eu digito ai some.
A lâmpada com um ! (rss) é o checkstyle. Se você passar o mouse sobre ela, vai receber uma dica sobre como melhorar o código da sua aplicação. Se o programa some depois que você digita um número, você tem que analisar o código para ver o que está acontecendo de errado. Seu código faz exatamente o que você mandou ele fazer.
Procure analisar o erro antes de postar aqui, para que você aprenda a linguagem.
Dica: execute o programa em modo de depuração, para ver em que ponto a aplicação “some”.
A lâmpada com um ! (rss) é o checkstyle. Se você passar o mouse sobre ela, vai receber uma dica sobre como melhorar o código da sua aplicação. Se o programa some depois que você digita um número, você tem que analisar o código para ver o que está acontecendo de errado. Seu código faz exatamente o que você mandou ele fazer.
O erro é: The local variable resto is never read.
Tem alguma coisa errada no código?
Não é um erro, é um alerta. Se você traduzi-lo está dizendo assim:
“A variável local resto nunca é lida” . Aí você me responde: tem algo errado com seu código? (Dica: não pense em Java, pense no algoritmo que você está codificando).
Não é um erro, é um alerta. Se você traduzi-lo está dizendo assim:
“A variável local resto nunca é lida” . Aí você me responde: tem algo errado com seu código?
A meu ver não tem erro.
Se não tem erro o programa já está pronto…rsssss. Por isso que não é legal que as pessoas já postem diretamente o problema do seu código e dêem uma solução, porque não te ajuda a aprender como analisar o código e detectar erros no algoritmo.
-
- Repare a declaração do seu while. É isso mesmo que você deseja fazer?
-
- Repare as variáveis resto e ndiv. É isso mesmo que você deseja fazer?
Se não tem erro o programa já está pronto…rsssss. Por isso que não é legal que as pessoas já postem diretamente o problema do seu código e dêem uma solução, porque não te ajuda a aprender como analisar o código e detectar erros no algoritmo.
- Repare a declaração do seu while. É isso mesmo que você deseja fazer?
- Repare as variáveis resto e ndiv. É isso mesmo que você deseja fazer?
Eu olhei tudo aqui e, sinceramente, não achei nenhum erro.
Então tá tudo certo, uai, porque eu não sei qual algoritmo você quer implementar e se não dá erro de compilação não há erro de sintaxe Java.
Então tá tudo certo, uai.
Então por que não executa?
Executando está. E está fazendo exatamente o que você manda fazer.
Sugestão: esqueça o java. Pegue um papel, um lápis e faça o chinês desse algoritmo que você implementou. Pegue um número tipo 50, e vai escrevendo os valores de cada variável, aí você vai descobrir porque a execução não está fazendo o que (eu acho) você quer que faça. Agora eu vou almoçar, volto às 13h.
O seu for ta bem estranho… A condição nem sequer está ligada ao contador.
Executando está. E está fazendo exatamente o que você manda fazer.
Sugestão: esqueça o java. Pegue um papel, um lápis e faça o chinês desse algoritmo que você implementou. Pegue um número tipo 50, e vai escrevendo os valores de cada variável, aí você vai descobrir porque a execução não está fazendo o que (eu acho) você quer que faça. Agora eu vou almoçar, volto às 13h.
valeu pelas dicas, vou fazer isso.
O for eu nem tinha reparado, só o while que também está estranho, assim como as referências às variáveis resto e ndiv. Por isso estou sugerindo ao nosso amigo autor do tópico que esqueça a linguagem e pense no algoritmo.