Ir ao conteúdo
  • Cadastre-se

ajuda em java


Visitante

Posts recomendados

Pessoal, estou fazendo um programa simples pra aula da facul, e estou com um problema nele...

Seguinte: Ele primeiro pega um valor com o usuario para ser o tamanho deste vetor. Depois preenche esse vetor apenas com números primos digitado pelo usuario. Se caso um dos numeros digitados não for primo, ele retorna uma mensagem que o número não é primo e pede pra digitar outro...

import javax.swing.JOptionPane;

public class pergunta06
{
static boolean ePrimo(int n){
for (int i=2;i<n/2;i++){
if(n%i == 0)// % devolve o resíduo da divisão entre dois números
return false;
}
return true;
}
public static void pergunta06(String[] args) {
int a;
int aux;
String x = JOptionPane.showInputDialog("digite o tamanho do vetor: ");
a = Integer.parseInt(x);
int vetor [] = new int [a];
for (aux = 0; aux < a; aux++){
String y = JOptionPane.showInputDialog("posição " + aux + ": ");
while(ePrimo(vetor[a]) == false){
JOptionPane.showMessageDialog(null, y + "não é um numero primo");
String y = JOptionPane.showInputDialog("posição " + aux + ": "); //O ERRO ESTÁ NESSA LINHA
}
a = Integer.parseInt(y);
}
JOptionPane.showMessageDialog(null, "o vetor é: " + vetor);
}
}

Simplesmente retorna um erro informando que o "y" já foi utilizado... Pensei em colcoar um "z" ali, mas ai teria que mudar o comando logo abaixo, sendo que se caso não entrasse no while, não pegaria o valor de "y"...

o que fazer neste caso? :confused:

valeu!

edit: Aproveitando o tópico, tem uma forma mais fácil de imprimir um vetor/matriz inteiro sem ser digitando posição por posição?

exemplo:

JOptionPane.showMessageDialog(null, novamatriz[0][0] + " " + novamatriz[0][1] + " " + novamatriz[0][2] + "\n" + 
novamatriz[1][0] + " " + novamatriz[1][1] + " " + novamatriz[1][2] + "\n" +
novamatriz[2][0] + " " + novamatriz[2][1] + " " + novamatriz[2][2] + "\n" +
novamatriz[3][0] + " " + novamatriz[3][1] + " " + novamatriz[3][2]);

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Pessoal, estou fazendo um programa simples pra aula da facul, e estou com um problema nele...

Seguinte: Ele primeiro pega um valor com o usuario para ser o tamanho deste vetor. Depois preenche esse vetor apenas com números primos digitado pelo usuario. Se caso um dos numeros digitados não for primo, ele retorna uma mensagem que o número não é primo e pede pra digitar outro...

public class pergunta06

{

static boolean ePrimo(int n){

for (int i=2;i<n/2;i++){

if(n%i == 0)// % devolve o resíduo da divisão entre dois números

return false;

}

return true;

}

public static void pergunta06(String[] args) {

int a;

int aux;

String x = JOptionPane.showInputDialog("digite o tamanho do vetor: ");

a = Integer.parseInt(x);

int vetor [] = new int [a];

for (aux = 0; aux < a; aux++){

String y = JOptionPane.showInputDialog("posição " + aux + ": ");

while(ePrimo(vetor[a]) == false){

JOptionPane.showMessageDialog(null, y + "não é um numero primo");

String y = JOptionPane.showInputDialog("posição " + aux + ": "); //O ERRO ESTÁ NESSA LINHA

}

a = Integer.parseInt(y);

}

JOptionPane.showMessageDialog(null, "o vetor é: " + vetor);

}

}
import javax.swing.JOptionPane;

Simplesmente retorna um erro informando que o "y" já foi utilizado... Pensei em colcoar um "z" ali, mas ai teria que mudar o comando logo abaixo, sendo que se caso não entrasse no while, não pegaria o valor de "y"...

o que fazer neste caso?
:confused:

valeu!

edit: Aproveitando o tópico, tem uma forma mais fácil de imprimir um vetor/matriz inteiro sem ser digitando posição por posição?

exemplo:

novamatriz[1][0] + " " + novamatriz[1][1] + " " + novamatriz[1][2] + "\n" +

novamatriz[2][0] + " " + novamatriz[2][1] + " " + novamatriz[2][2] + "\n" +

novamatriz[3][0] + " " + novamatriz[3][1] + " " + novamatriz[3][2]);
JOptionPane.showMessageDialog(null, novamatriz[0][0] + " " + novamatriz[0][1] + " " + novamatriz[0][2] + "\n" + 

Link para o comentário
Compartilhar em outros sites

obrigado man!

ajudou bastante... ^_^

o primeiro item, eu nem me toquei que era declaração... :(

vou começar a prestar mais atenção no que escrevo... :D

tive um pouco de problema com o desenvolvimento do código mesmo depois de ler o que você postou aqui... mas consegui resolver sem ver o código que você fez... ^_^

dei uma olhada nele e vi que tem explicação em cada linha... isso me ajudou a entender um pouco mais sobre cada comando...

estou com uma lista de exercícios pra fazer e está meio tenso... quanto mais eu faço mais dúvidas e dificuldades surgem... :(

mas fazer o que né? pra entender e aprender tem que fazer... ^_^

caso eu tenha mais dúvidas eu posto aí...

valeu

e obrigado novamente! :D

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!