Ir para conteúdo

POWERED BY:

Arquivado

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

eduardomonteiro

Cálcular sequência

Recommended Posts

Problema usando Programação orientada a Objeto

Pessoal, preciso escrever uma classe chamada progressão em que cada valor é o módulo da diferença de dois vetores anteriores.(por exemplo imprime 198, depois 196.....

No primeiro construtor "default" inicializa os dois primeiros valores da sequência com 2 e 200.)

O Segundo contrutor recebe os dois valores e como parâmetro einicializa os dois primeiros valores da sequência e termina quando o módulo da diferença for igual a zero.

 

 

//inicio classe progressao
import java.util.Scanner;
public class Progressao {

public static void main(String args[]) {
	Scanner input = new Scanner(System.in);	

	int diferenca=0;
		int n=0;

//construtor default
public Progressao { 

	int vetor[]=new int[150];
		int vetor[2]={2,200}; 

			
}

 //segundo construtor
public Progressao{

	diferenca= vetor[1]- vetor[0];
		n=n+diferenca;

			for (n<=0;n++){

				diferenca= diferenca-2;
}
}

System.out.println("Diferença="+diferenca);//Imprime diferenca
}
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa noite Eduardomonteiro.

 

Essa sua classe não está gerando erro não ?

 

Sabe qual, voce está sobrecarregando dois métodos contrutores com a mesma assinatura, ou seja, com o mesmo código, assim:

 

//construtor default

public Progressao {

 

int vetor[]=new int[150];

int vetor[2]={2,200};

 

 

}

 

//segundo construtor

public Progressao{

 

diferenca= vetor[1]- vetor[0];

n=n+diferenca;

 

for (n<=0;n++){

 

diferenca= diferenca-2;

}

Isso, em qualquer linguagem orientada a objetos não é permitido, onde dois métodos pode até ter o mesmo nome, entretanto eles tem que se diferenciar na passagem de parâmetros. assim:

 

//construtor default

public Progressao {

 

int vetor[]=new int[150];

int vetor[2]={2,200};

 

 

}

 

//segundo construtor

public Progressao(String param){

 

System.out.println(param);

 

diferenca= vetor[1]- vetor[0];

n=n+diferenca;

 

for (n<=0;n++){

 

diferenca= diferenca-2;

}

Repare que no segundo construtor, criei um parâmetro qualquer só para diferenciar do primeiro construtor default.

 

Um abraço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.