Metodo com retorno

Boa dia a todos,gostaria de que me tirassem uma duvida.
estou fazendo varios exercicios para não perder a logica de objetos,e me deparei com um problema serio(ao meu ver)

fiz uma classe chamada funcionario(um funcionario de banco)
nele fiz alguns atributos e afins.
o problema foi quando eu fiz um metodo com retorno.

vou explicar melhor.
o que eu tentei fazer foi um metodo que recebe o numero de atendimentos do funcionario,e com esse numero verifica se a meta de atendimentos foi atingida,caso tenha sido atingida,o salario desse funcionario vai receber uma bonificação,com base nos atendimentos.

EX : caso sejam mais de 30 atendimentos ,para cada atendimento acima dos 30 ele vai receber 1.05 do salario a mais,(algo como salario*1.05),
mas quando dou o print,pra ver se esta funcionando,o salario do individou continua o mesmo.

o codigo da minha classe é esse :

[code]public class Funcionario {

String nome;
String Dep;
double Salario;
String dataadmisao;
String RG;
boolean ativo;
int atendimentos;



//metodos
void bonifica(double aumento){
	if(this.atendimentos>=30){
		System.out.println("Você alcançou a meta esse mês");
		Salario=+atendimentos*1.05;
		 
	}
	else{
		System.out.print("Você não alcançou a meta de atendimentos esse mes");
	}
	
	
}

void demite(){
	if (ativo==true){
		System.out.print("O funcionario está na empresa");
	}
	else {
		System.out.print("O funcionario foi demitido");
		}
			
			
	}
}[/code]

edit

desculpem esqueçi do codigo do main

[code]public class principal {

public static void main(String[] args) {

Funcionario employ01;
employ01 = new Funcionario();

employ01.atendimentos=60;
employ01.ativo= true;
employ01.dataadmisao= “02/01/2010”;
employ01.Dep= “Atendimento ao consumidor”;
employ01.nome=“joao”;
employ01.RG= “MG-00.000.000”;
employ01.Salario= 12000;

System.out.println(employ01.atendimentos);
System.out.println(employ01.ativo);
System.out.println(employ01.dataadmisao);
System.out.println(employ01.Dep);
System.out.println(employ01.nome);
System.out.println(employ01.RG);
System.out.println(employ01.Salario);
employ01.bonifica(250);
}

}[/code]

A soma é += não =+

Para que o salário do funcionário seja alterado, o método bonifica deveria se assim:

   void bonifica(double aumento){  
        if (this.atendimentos >= 30){  
            System.out.println("Você alcançou a meta esse mês");  
            Salario +=atendimentos*1.05;  
        }  
        else{  
            System.out.print("Você não alcançou a meta de atendimentos esse mes");  
        } 
    }

Repare no += ao invés de =+.

Outra coisa, apenas com convenção do Java, atributos começam com letra minúscula.

a saída ficou assim :

Atendimento ao consumidor
joao
MG-00.000.000
Você alcançou a meta esse mês
14512.5
O funcionario está na empresa

Era o que eu queria,mas tenho algumas perguntas,se vocês não se importam em responder,bom primeiramente ,o método aumenta o salario do funcionário em função da quantidade de atendimentos,quanto mais ele atender melhor,mas estou colocando o valor default dos atendimentos desse cara no main pelo employ01.atendimentos=xxx se eu pedisse para que o usuário digita-se a quantidade de atendimentos o que mudaria,e como eu poderia fazer isso.
segundo não entendi direito o retorno de métodos,nem mesmo usando esse exemplo.
a sim mudei um pouco o metodo,ele ficou assim :

[code]double bonifica(double novoSalario){
	if(this.atendimentos>=30){
		System.out.println("Você alcançou a meta esse mês");
		this.salario+=atendimentos*10.05;
		 
	}
	else{
		System.out.println("Você não alcançou a meta de atendimentos esse mes");
	}
	return novoSalario;
}[/code]

para alterar o valor dos atendimentos vc pode fazer o usuario digitar(ou sei la…trazer de um banco) e passar como um segundo parametro no seu metodo

não entendi pq vc usou um parametrso de novoSalario, sendo q vc naum usou ele dentro do metodo…

ao meu ver ficaria assim

double bonifica(double salario, double acrecimo){ //voca passa o salario norma do cara, e o acrecimo 
         if(this.atendimentos>=30){  
             System.out.println("Você alcançou a meta esse mês");  

             //pelo q vc explicou no comeco sao os atendimento acima de 30 entaum seria
             int nAtendimentos = this.atendimentos - 30;
             salario+=nAtendimentos*acrecimo;  //utilizar o += sera o mesmo q vc fazer salario = salario+(atendimentos*acrecimo)
               
         }  
         else{  
             System.out.println("Você não alcançou a meta de atendimentos esse mes");  
         }  
         return salario;  

Bom consegui com a ajuda de todos fazer a saída do programa corretamente,mas vocês poderiam me mostra como usar um método com parâmetro corretamente,ainda tenho muitas duvidas em relação a isso.

Maneira correta…???

A sua classe tera metodos…e conforme sua necessidade eles irão receber parametros e podem ter retorno ou não…

Exemplo de Metodos com parametros

public class MetodoComParemetro {
    
    public static void main(String[] args) {
        MetodoComParemetro medoto = new  MetodoComParemetro();
        medoto.Mostra(100);
        medoto.Paremetros2("a", "b");
    }

    private void Mostra(int i){
        System.out.println("Inteiro passado eh = "+ i);
    }
    
    private void Paremetros2(String a, String b){
        System.out.println("Parametro a  "+a);
        System.out.println("Parametro b  "+b);
        
    }
}

Metodos com parametros nao existem uma maneira correta de ser usado…
Pois cada metodo tem sua finalidade …o que existe sao boas praticas de programação…
Como por exemplo nao criar variaveis que nao serão usadas, colocar nomes claros em variáveis.
A Apostila do curso FJ-11 da Caelum vai te dar uma boa Base sobre criação de métodos hehe pelo q to vendo vc já esta a usando neh? hehe conheço esse exercicio…
É só ficar atento aos erros mesmo…aconselho a você a usar Eclipse ou NetBeans para fazer seus codigos…ajudam muito nessas horas pois apontam erros no codigo de acordo com que vc vai digitando o codigo…

    //metodos  
    void bonifica(double aumento){   //neste caso vc nao nescessita colocar parametro uma vez que ele nao esta sendo utilizado.
        if(this.atendimentos>=30){   
            System.out.println("Você alcançou a meta esse mês");  
            Salario+=atendimentos*1.05;  //já corrigi o =+
               
        }  
        else{  
            System.out.print("Você não alcançou a meta de atendimentos esse mes");  
        }  
          
          
    }  
      
    void demite(){  
        if (ativo==true){  
            System.out.print("O funcionario está na empresa");  
        }  
        else {  
            System.out.print("O funcionario foi demitido");  
            }  
                  
                  
        }  
    }  

Obrigado,a minha duvida com procedimento é de como usar os parâmetros do mesmo,e com o retorno,ainda não entendi o uso. na verdade não é bem o uso,mas sim o funcionamento,desculpem se pareço muito “burro” ou “lento”.Mas obrigado pelas respostas.

Que isso abbclobato…estamos aqui para ajudar e não para julgar…

o metodo a grosso modo são acões que seu objeto deve realizar…
Se para esta acão ser executada houver a necessidade de alguma outra informação, voce ira passar ela como parametro.
Se esta acão tiver algumas resposta ela ira vir como retorno…e este retorno deve estar explicito na assinatura do seu metodo
ex

public String getNome() // este metodo não tem parametro, e vai me restornar uma String

se não havera nenhum retorno no metodo o mesmo deve ter em sua assinatura a palavra void
por exemplo

public void setNome(String nome) //este metodo tem 1 parametro, porem não me dara nenhum retorno..

Att.,