Olá pessoal,
Estava analisando esse codigo e ao executar o programa, ele pede para entrar com nome, codigo e salario do 1º funcionario e quando entro com o nome do 2º funcionario está escrito o nome do 1º funcionario, e o mesmo acontece com o codigo e salario. Ao executar o programa aparece:
Exemplo:
Informe nome -->
joao
Informe codigo -->0
10
Informe salario -->0.0
200
nome -->joao
codigo–>10
salario–>200
Informe nome —>joao //nao entendi porque apareceu joao, se foi digitado carlos??
carlos
Informe codigo -->10 //apareceu esse 10, mas foi digitado 11?
11
Informe salario -->200.0 //apareceu 200.0, aqui foi digitado 500?
500
Porque esta aparecendo os dados do 1º funcionario?Como faço para quando for digitar os dados do 2º funcionario nao aparecer os dados do 1º funcionario?
import java.io.*;
import java.util.*;
class Funcionario
{
String nome;
int codigo;
float salario;
Funcionario()
{
nome="sem nome";
codigo=0;
salario=0;
}
void recebedados(String n,int c,float sal)
{
nome=n;
codigo=c;
salario=sal;
}
void mostra()
{
System.out.println("nome -->" +nome);
System.out.println("codigo -->"+codigo);
System.out.println("salario -->"+salario);
}
public static void main(String[] arg)
{
String n="";
int c=0;
float sal=0;
Funcionario a=new Funcionario();
Funcionario b=new Funcionario();
Scanner scan=new Scanner(System.in);
System.out.println("Informe nome -->"+n);
n=scan.next();
System.out.println("Informe codigo -->"+c);
c=scan.nextInt();
System.out.println("Informe salario -->"+sal);
sal=scan.nextFloat();
a.recebedados(n,c,sal);
a.mostra();
System.out.println("Informe nome -->"+n);
n=scan.next();
System.out.println("Informe codigo -->"+c);
c=scan.nextInt();
System.out.println("Informe salario -->"+sal);
sal=scan.nextFloat();
b.recebedados(n,c,sal);
b.mostra();
a.mostra();
}
}