Ajuda com trabalho da faculdade

5 respostas
R

galera será q alguem pode me ajudar nesse trabalho da faculdade… por q ele ta dando um erro q eu naum to conseguindo identificar…

segue programa:

Contribuinte.java

/**
 * @(#)Contribuinte.java
 *
 *
 * @author 
 * @version 1.00 2007/5/26
 */

//classe abstrata
public abstract class Contribuinte {
	private double rendaBrutaAnual;
	private String Nome;
	
	///metodo construtor
	public class Contribuinte(double rendaBrutaAnual, String Nome)
	{
		setrendaBrutaAnual(rendaBrutaAnual);
		setNome(Nome);
	}
    
    //metodos GET & SET
    public void setrendaBrutaAnual(double rendaBrutaAnual){
    	this.rendaBrutaAnual = rendaBrutaAnual;
    }
    public double getrendaBrutaAnual(){
    	return rendaBrutaAnual;
    }
    public void Nome(String Nome){
    	this.Nome = Nome;
    }
    public String getNome(){
    	return Nome;
    }
    
    public abstract class FornecaImposto(){
    }
}


PessoaFisica.java

/**
 * @(#)PessoaFisica.java
 *
 *
 * @author 
 * @version 1.00 2007/5/26
 */


public class PessoaFisica extends Contribuinte {

    private int NumeroDep;
    private String Cpf;
    private int gastosSaude;
    private int gastosEducacao;
    
    ///metodo construtor
    
    public class PessoaFisica(double rendaBrutaAnual,int NumeroDep, 
String Cpf, int gastosSaude, int gastosEducacao){
    	setNumeroDep(NumeroDep);
    	setCpf(Cpf);
    	setgastosSaude(gastosSaude);
    	setgastosEducacao(gastosEducacao);
    	setrendaBrutaAnual(rendaBrutaAnual);
    }
    
    //metodos GET & SET
    
    public void setNumeroDep(int setNumeroDep){
    	this.NumeroDep = NumeroDep;
    }
    public int getNumeroDep(){
    	return NumeroDep;
    }
    public void setCpf( String Cpf){
    	this.Cpf = Cpf;
    }
    public String getCpf(){
    	return Cpf;
    }
    public void setgastosSaude( int gastosSaude){
    	this.gastosSaude = gastosSaude;
    }
    public int getgastosSaude (){
    	return gastosSaude;    	
    }
    public void setgastosEducacao( int gastosEducacao){
    	this.gastosEducacao = gastosEducacao;
    }
    public int getgastosEducacao(){
    	return gastosEducacao;
    }
    
    public class FornecaImposto(){
    	if (rendaBrutaAnual <= 10.000,00)
    		System.out.println("Isento");
    	else if(rendaBrutaAnual >= 10.000,00 && rendaBrutaAnual <= 
20.000,00)
    		rendaBrutaAnual = rendaBrutaAnual - 1.000,00;
    	else if(rendaBrutaAnual < 200.000,00)
    		rendaBrutaAnual = rendaBrutaAnual - 45.000,00;
    }
}

PessoaJuridica.java

/**
 * @(#)PessoaJuridica.java
 *
 *
 * @author 
 * @version 1.00 2007/5/26
 */


public class PessoaJuridica extends Contribuinte {

    private String Nome1;
    private String Cnpj;
    private double gastosPessoal;
    private double gastosEquipamento;
    
    ///metodo construtor
    
    public class PessoaJuridica(double rendaBrutaAnual, String Cnpj, 
String Nome1, double gastosPessoal, double gastosEquipamento){
    	setrendaBrutaAnual(rendaBrutaAnual);
    	setNome1(Nome1);
    	setCnpj(Cnpj);
    	setgastosPessoal(gastosPessoal);
    	setgastosEquipamento(gastosEquipamento);
    }
    public void setCnpj( String Cnpj){
    	this.Cnpj = Cnpj;
    }
    public String getCnpj(){
    	return Cnpj;
    }
    public void setgastosPessoal(double gastosPessoal){
    	this.gastosPessoal = gastosPessoal;
    }
    public double getgastosPessoal(){
    	return gastosPessoal;
    }
    public void setgastosEquipamento(double gastosEquipamento){
    	this.gastosEquipamento = gastosEquipamento;
    }
    public double getgastosEquipamento(){
    	return gastosEquipamento;
    }
    public void setNome1(String Nome1){
    	this.Nome1 = Nome1;
    }
    public double getNome1(){
    	return Nome1;
    }
    public class FornecaImposto(){
    	if (rendaBrutaAnual <= 100.000,00)
    		System.out.println("ISENTO");
    	else if(rendaBrutaAnual >= 100.000,00 && rendaBrutaAnual <= 
200.000,00)
    		rendaBrutaAnual = rendaBrutaAnual - 5.000,00;
    	else if (rendaBrutaAnual)
    }
    
}


TesteContribuinte.java

/**
 * @(#)TesteContribuinte.java
 *
 *
 * @author
 * @version 1.00 2007/5/26
 */
import javax.swing.JOptionPane; 
///////Aplicao do programa/////////
public class TesteContribuinte{

    public static void main(String args[]){
    	Contribuinte cont_1 = new Contribuinte();
    	////Pessoa Fisica///////////
    	String Nome_c;
    	int NumeroDep_c;
    	String Cpf_c; 
    	int gastosSaude_c;
    	int gastosEducacao_c;
    	/////Pessoa Juridica//////////
    	String Cnpj_c;
    	int gastosPessoal_c;
    	int gastosEquipamento_c;
    	String Nome1_c;
    	
//////////////////////////////////////////////////////////////////////////////
    	super(NumeroDep, gastosSaude, gastosEducacao, gastosPessoal, 
gastosEquipamento,
    	Cpf, Nome, Cnpj);
    	////////Cadastro de Pessao Fisica///////
       	Nome_c = JOptionPane.ShowInputDialog("Nome: ");
    	NumeroDep_c = JOptionPane.ShowInputDialog("Numero do Departamento:");
    	Cpf_c = JOptionPane.ShowInputDialog("Informe o CPF: ");
    	gastosSaude_c = JOptionPane.ShowInputDialog("Informe o Gasto na Saúde: ");
    	gastosEducacao_c = JOptionPane.ShowInputDialog("Informe o Gasto na Educação: ");
    	
/////////////////////////////////////////////////////////////////////////////////
    	//////Cadastro de Pessoa Juridica////
    	Nome1_c = JOptionPane.ShowInputDialog("Nome: ");
    	NumeroDep_c = JOptionPane.ShowInputDialog("Numero do Departamento: ");
    	Cnpj_c = JOptionPane.ShowInputDialog("Informe o CNPJ: ");
    	gastosPessoal_c = JOptionPane.ShowInputDialog("Informe o Gasto Pessoal: ");
    	gastosEquipamento_c = JOptionPane.ShowInputDialog("Informe o Gasto no Equipamento: ");
    	
/////////////////////////////////////////////////////////////////////////////////////// 
    	System.out.println("Dados Da Pessoa Fisica:");
    	System.out.println("Nome: "+cont_1.getNome());
    	System.out.println("Numero do Departamento: "+cont_1.getNumeroDep());
    	System.out.println("CPF do Cidadao: "+cont_1.getCpf());
    	System.out.println("Gastos na Área de Saúde: "+cont_1.getgastosSaude());
    	System.out.println("Gastos na Área de Educação: "+cont_1.getgastosEducacao());
    	///////pessoa juridica//////////////
    	System.out.println("Dados da Pessoa Juridica:");
    	System.out.println("Nome: "+cont_1.getNome1());
    	System.out.println("CNPJ:" +cont_1.getCnpj());
    	System.out.println("Gasto Pessoal: "+cont_1.getgastosPessoal());
    	System.out.println("Gasto no Equipamento: "+cont_1.getgastosEquipamento());
    	//////Programa encerrado aki... chega!//////////
    	
    	  
    }
    
    
}

espero a ajuda de vcs… desde ja thanks

5 Respostas

L

olha bem para isso:

///metodo construtor
   public class Contribuinte(double rendaBrutaAnual, String Nome)
   {
      setrendaBrutaAnual(rendaBrutaAnual);
      setNome(Nome);
   }

há varios métodos seus com modificador class 8O ?? não sei se é o unico erro, mas só esse ai ja é um assassinato a sintaxe… e o pior é que eu me pergunto: “como assim ele não consegue identificar?” é um erro de compilação, não consigo entender como vc não consegue identificar um erro de compilação!!!

bem, se vc não sabe, métodos não tem class, mas eu acho que seu professor não passaria um trabalho em java sem explicar como declarar um método :???:

R

opa foi erro meu msm…
vacilei brabo…
o burro aki sou eu…
nem me liguei nesse erro…

S

Cara outra coisa tb…
Senão estiver errado, um classe abstrata não tem construtor…
Você não pode instanciar uma classe abastrata atraves do operador new

ClasseAbstrata classeAbstrata = new ClasseAbstrata(); //Errado

Outro erro que eu identifiquei foi na assinatura do metodo FornecaImposto
Um metodo abstrato termina sempre com “;”, pois ele não terá um corpo.

public abstract void metodoAbstract(); //Correto
public abstract void metodoAbstract() {} //Errado

QQ coisa tamo ai

L

Suelmar, testa antes de fazer uma afimação dessas num forum, é claro que vc pode ter um construtor em uma classe abstrata, o usuário não pode fazer um new direto, mas classes que herdam da classe abstrata vaum usar o construtor, alem de vc tb pode criar uma classe anonima:

abstract class A {
		public A(int i) {
			
		}
	}
	
	class B extends A {
		
	}

Isso tah errado, mas é em B, porque A precisa de um parâmetro int, portanto o correto seria B ter um construtor que chame super passando um int:

public B(int i) {
			super(i);
		}

ou

public B() {
			super(777);
		}

ou o que vc quizer desde que no construtor de B chame super(int).

ou então vc pode ter algo assim dentro do codigo:

funciona perfeitamente…

S

Bem eu estava enganado…

Criado 30 de maio de 2007
Ultima resposta 30 de mai. de 2007
Respostas 5
Participantes 3