bom galera, não sei o que ta errado nesse codigo. preciso receber um vetor de 9 posições depois percorrer o vetor e verificar um a um os numeros pra saber se são primos. Os que forem devo imprimir na tela o numero e a posição no vetor.
criei esse codigo e não sei o que ta errado. Se alguem puder me dizer onde esta o erro fico agradecido.
publicstaticvoidmain(String[]args){intn[]=newint[9];for(inti=0;i<n.length;i++){n[i]=Integer.parseInt(JOptionPane.showInputDialog("Digite o "+(1+i)+"º numero"));}for(inti=1;i<n.length;i++){booleanprimo=true;for(intj=2;j<n.length;j++){if(n[i]%i==0){primo=false;break;}}if(primo==true){System.out.println(n[i]);System.out.println(i);}}}}
Não existe números primos em Java e sim em Matematica. Creio que um livro de 4º ou 5º irá lhe ajudar.
Abs,
A
Andre_Rosa
O @Kanin Dragon já disse tudo. A linguagem Java não sabe o que é um número primo. O que você pode fazer é buscar um algoritmo matemático, e implementa-lo em uma linguagem de programação.
G
garotinhodejesus
Desculpe ai Andre Rosa se te ofendi. só preciso de ajuda.
A
Andre_Rosa
garotinhodejesus:
kkkkkkkk
se vcs não podem ajudar deveriam ficar calados e nem perder o seu tempo.
eu sei que um numero primo só pode ser dividido por 1 e ele mesmo. não estou conseguindo fazer isso na linguagem java. por isso pedi ajuda. agora vcs que se jugam tão inteligentes, fazer o que né babacas.
Não seja mal agradecido. :-o
Se você rever o tópico, verá que além de tudo sua pergunta está mal-formulada.
bom galera, não sei o que ta errado nesse codigo. preciso receber um vetor de 9 posições depois percorrer o vetor e verificar um a um os numeros pra saber se são primos. Os que forem devo imprimir na tela o numero e a posição no vetor.
criei esse codigo e não sei o que ta errado. Se alguem puder me dizer onde esta o erro fico agradecido.
E nem nós sabemos! Você não informou a mensagem de erro emitida pelo compilador (caso haja), você não informou o porque de achar que está errado e etc. Um dos segredos é saber fazer perguntas inteligentes, e um outro segredo é saber ter a devida educação em fóruns.
G
garotinhodejesus
Desculpe ai Andre Rosa se te ofendi. só preciso de ajuda.
Pode me dá um exemplo que calcule corretamente se um numero é primo?
No proprio forum vc encontra sobre a sua duvida, pois muitos ja tiveram.
Olha este link: http://www.guj.com.br/java/81234-numeros-primos
A
Andre_Rosa
garotinhodejesus:
Desculpe ai Andre Rosa se te ofendi. só preciso de ajuda.
Pode me dá um exemplo que calcule corretamente se um numero é primo?
A resposta está aqui:
Só tente entender o que se passa. A explicação do EugenioMonteiro está ótima.
E
Elizeu_Santos
ele continua com este problema de preguiça…
R
ReX
Vou colocar os erros como comentários:
publicstaticvoidmain(String[]args){intn[]=newint[9];for(inti=0;i<n.length;i++){n[i]=Integer.parseInt(JOptionPane.showInputDialog("Digite o "+(1+i)+"º numero"));}for(inti=1;i<n.length;i++){// Aqui o valor de i deveria ser 0, já que os vetores começam em zerobooleanprimo=true;for(intj=2;j<n.length;j++){// Aqui, ao invés de n.length, você deveria usar n[i], ou seja, o próprio númeroif(n[i]%i==0){// O j deve ser usado, sendo que i vai ser sempre o mesmo valor na execução do segundo for (que usa j)primo=false;break;}}if(primo==true){System.out.println(n[i]);// Aqui você está exibindo o próprio número,System.out.println(i);// pulando uma linha e exibindo a posição no vetor e nada mais}}}
No caso, o código já com as correções:
publicstaticvoidmain(String[]args){intn[]=newint[9];for(inti=0;i<n.length;i++){n[i]=Integer.parseInt(JOptionPane.showInputDialog("Digite o "+(1+i)+"º numero"));}for(inti=0;i<n.length;i++){booleanprimo=true;for(intj=2;j<n[i];j++){if(n[i]%j==0){primo=false;break;}}if(primo==true){System.out.println(n[i]+" é primo. Posição no vetor: "+i);}}}