Problema com parametro

5 respostas
G

Faça um algoritmo que leia um numero inteiro N, após realize um processo somando todos os numero de 1 até N que não são primos. Crie uma função para o somatório e utilize a função do exercício anterior.

nao estou consiguindo retornar a funcao

package Lista04;

import javax.swing.JOptionPane;

public class ex08 {
public static void main(String[] args) {
	Ler();
}
static void Ler(){
	int q = Integer.parseInt(JOptionPane.showInputDialog(null, "Qtde de números: "));
	int[] num = new int[q];
	for (int i=0;i<q;i++){
		num[i]= Integer.parseInt(JOptionPane.showInputDialog(null, "Informe um número: "));

	}
	valor(num,q);
}

static int valor(int[] n,int q){
	int soma = 0;
	for(int i=0;i<q;i++){
		if(n[i] % 2 == 0){
			soma = soma + n[i];

		}
	}
	return soma;
}

}

Obrigado pela ajuda de todos abracos

5 Respostas

rodolfo_b_g

nao entendi ...vc quer pegar um numero inteiro e fazer um somatório de 1 ateh esse numero , soh q apenas somando os numeros q nao sao primos?

package Lista04; 
import javax.swing.JOptionPane; 
public class ex08 { 

public static void main(String[] args) { 
Ler(); 
} 
static void Ler(){ 

int num= Integer.parseInt(JOptionPane.showInputDialog(null, "Informe um número: ")); 

} 
valor(num); 
} 

public int valor(int num){ 
int soma = 0, Teste=0; 

for(int i=1;i<num;i++){ 

Teste=VerificaSePrimo(i);
if(teste == 0){ 
     soma = soma + i ; 
   } 
} 
return soma; 
} 
} 
public int VerificaSePrimo(num){
/* num é o número e i é a variável auxiliar */
for(i=2;i*i&lt=num;++i) {
   if(!num%i) return 0; /* não é primo */
}
return 1; /* é primo */

}

fiz algumas alterações no seu código....ve se eh isso q precisa>

JHugo

Então, pelo que entendi sua função ta funcionando mas vc não consegue pegar o resultado dela.

É que vc não ta fazendo nada com o resultado…ve se eh isso:

int resultado;
resultado = valor(num,q); 

// Agora faz o que quizer com o retorno 

System.out.println(resultado);

espero ter ajudado
[]´s

mariofcc

E isso ai vc naum ta jogando o valor retornado pela funcao em nehuma variavel, mas o que rodolfo_b_g coloco tb funciona…

abracos

G

tpw mais tem q ter o retorno como valor logico

rodolfo_b_g
packageLista04;   
importjavax.swing.JOptionPane;   
publicclassex08 {   
  
publicstaticvoidmain(String[] args) {   
Ler();   
}   
staticvoidLer(){   
  
int num= Integer.parseInt(JOptionPane.showInputDialog(null, "Informe um número: "));   
int resultado;  
resultado=valor(num);   
JOptionPane.showMessageDialog(null,"Resultado: "+resultado);
}
  
publicintvalor(intnum){   
intsoma = 0, Teste=0;   
  
for(inti=1;i<num;i++){   
  
Teste=VerificaSePrimo(i);   
if(teste == 0){   
     soma = soma + i ;   
   }   
}   
returnsoma;   
}   
}   
publicintVerificaSePrimo(num){   
/* num é o número e i é a variável auxiliar */  
for(i=2;i*i<=num;++i) {   
   if(!num%i) return0; /* não é primo */  
}   
return1; /* é primo */  
  
}

Verdade nem notei que não estava usando o resultado.... coloquei agora a variavel resultado pra pegar a soma.... mais não entendi pq tem que ter o retorno como valor lógico? não é pra ter o retorno da soma?>

Criado 18 de setembro de 2007
Ultima resposta 19 de set. de 2007
Respostas 5
Participantes 4