Ir ao conteúdo
  • Cadastre-se
Visitante

ajuda em java

Posts recomendados

Visitante

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]);

Compartilhar este post


Link para o post
Compartilhar em outros sites

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" + 

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • Autor do tópico
  •    1
    Visitante

    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

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    Crie uma conta ou entre para comentar

    Você precisar ser um membro para fazer um comentário

    Criar uma conta

    Crie uma nova conta em nossa comunidade. É fácil!

    Crie uma nova conta

    Entrar

    Já tem uma conta? Faça o login.

    Entrar agora





    Sobre o Clube do Hardware

    No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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...

    GRÁTIS: minicurso “Como ganhar dinheiro montando computadores”

    Gabriel TorresGabriel Torres, fundador e editor executivo do Clube do Hardware, acaba de lançar um minicurso totalmente gratuito: "Como ganhar dinheiro montando computadores".

    Você aprenderá sobre o quanto pode ganhar, como cobrar, como lidar com a concorrência, como se tornar um profissional altamente qualificado e muito mais!

    Inscreva-se agora!