Parâmetros!

2 respostas
E

Estou fazendo um programa mais está dando erro no hora de passar parâmetro para outra classe eu posso usar uma variavel String como parâmetro??? posso passar cada parâmetro por vez? exemplo tenho 3 variaveis uma do tipo String outra do tipo int e outra do tipo double
posso passar cada uma por vez ou cada uma de uma vez … exemplo

vo deixar o codigo ai embaixo por favor quem descobrir o erro me mostre
implementado onde estou errando.

classe principal

/*Crie um aplicativo que leia os dados de um nº indeterminado veiculos até que digite
 0 no nº do chassis do veículo
 
 Os dados deverão ser agrupados em uma classe da dados: 
 - CHASSIS (alfanumerico)
 - MARCA
 - MODELO
 - VALOR
 - UTILITÁRIO (S/N)
 
 Criar um método para calcular o valor do IPI (3% do valor do veículo)
 Criar um método para calcular o valor do ICMS (25% do valor do veículo)
 Criar um método para calcular o valor do IPVA (4% para não utilitários ou 2% para
 utilitários do valor do veículo)
*/

import javax.swing.*;

public class Prog26
{
    public static void main(String args[])
    {
    	Prog26metodo calculo= new Prog26metodo(); 
    	
    	String cha,marca,mod,uti,uti1,uti2,saida;
    	double valor;
    	JTextArea texto = new JTextArea(5,20);
    	saida="Prog26 \n";
    	
    	do
    	{
    	
    	    cha=JOptionPane.showInputDialog("Dígite o CHASSI do veículo ");
    	    if(!cha.equalsIgnoreCase("0"))
    	    {
    	        marca=JOptionPane.showInputDialog("Dígite a marca do carro");
    	        mod=JOptionPane.showInputDialog("Dígite o modelo do veículo ");
    	        valor=Double.parseDouble(JOptionPane.showInputDialog(null,"Dígite o valor do carro","SOMENTE NÚMEROS",JOptionPane.WARNING_MESSAGE));
    	        
    	        
    	        
    	          do
    	           {
    	                uti=JOptionPane.showInputDialog("Deseja utilitário S para sim ou N para não");
    	                if(uti.equalsIgnoreCase("s"))
    	                {
    	                	uti1="s";
    	                	saida+=uti1;
    	                	calculo.setDados(uti1);//aqui estou passando uti1 para usar como metodo em outra classe mais na
    	                }
    	                if(uti.equalsIgnoreCase("n"))
    	                {
    	                	uti2="n";
    	                	saida+=uti2;
    	                	calculo.setDados(uti2);
    	                }
    	               
    	           }while(!uti.equalsIgnoreCase("s")&&!uti.equalsIgnoreCase("n"));
    	           
    	           calculo.setDados(valor);
    	    }
    	    
    	   
    	    
    	}while(!cha.equalsIgnoreCase("0"));
    	
    	saida+=calculo.getImprime();
   
    	
    	
    	texto.setText(saida);
    	
    	JOptionPane.showMessageDialog(null,texto);	
    	
    }
	
}

classe de dados

/*******************
 *classe de dados  *
 *******************/
 
 
 public class Prog26metodo
 {
 	private double Impost;
 	String aux1,aux2,Resultado;
 	int cont=-1;
 	
 	public void setDados(String uti1,String uti2,double valor)
 	{
 		Impost=valor;
 		aux1=uti1;
 		aux2=uti2;
 	
 	}
 	//***************************
 	public double getIPI()
 	{
 		return Impost*0.3;
 		
 	}
 	//***************************
 	public double getICMS()
 	{
 		return Impost*0.25;
 	}
 	//***************************
 	public double getIPVA()
 	{
 		if(aux1.equalsIgnoreCase("s"))
 		{
 			cont+=1.4;
 			 
 	
 	    }
 		
 		if(aux2.equalsIgnoreCase("n"))
 		{
 			cont+=1.2;
 		
 	    }
 	    return Impost*cont;
 		
 		
 		            
 	}
 	//***************************
    public String getImprime()
	{
	    Resultado="Será pago de IPI "+getIPI();
		Resultado+="\nSerá pago de ICMS "+getICMS();
		Resultado+="\nSerá pago de IPVA "+getIPVA();
		
		return Resultado;
	
	}
 	
 	
 }

2 Respostas

J

tem que passar todos os parametros de uma vez, caso contrario da erro.

você pode até ter métodos com o mesmo nome, desde que sejam com parametros diferentes.

exemplo:

public void setDados(String uti1,String uti2)
{
        .....
}

public void setDados(double valor)
{
         ......
}

public void setDados(String uti1, double valor)
{
        ...........
}

espero ter ajudado!!!

E

muito obrigado…vc me ajudou bastente!!! obrigado mesmo!

Criado 14 de junho de 2006
Ultima resposta 15 de jun. de 2006
Respostas 2
Participantes 2