Pessoal, meu professor pediu para que fizéssemos um programa que inserisse o código de um funcionário ( se 0 == erro ), nome, salário bruto e exibisse, o código, nome e o valor liquido que ele receberia, consegui fazer tudo direito só que ele falou que a forma que o código está empregado para uma programação OO está errado gostaria da ajuda de vcs para eu saber como é o correto
[code]import java.util.Scanner;
public class SalarioLiquido {
public static void main (String [] args){
Scanner teclado=new Scanner (System.in);
int cod;
String nome;
double inss,sal,liq;
System.out.println("Digite o código do funcionário: ");
cod = teclado.nextInt();
if (cod == 0){
System.out.println("Codigo escrito errado");
}
else {
System.out.println("Digite o nome do funcionário: ");
nome = teclado.next();
System.out.println("Digite o salário bruto do funcionário: ");
sal = teclado.nextDouble();
inss = (sal*11)/100;
System.out.printf("O valor descontado de INSS é de ");
System.out.println(inss);
liq = sal-inss;
System.out.println("O funcionário");
System.out.println(nome);
System.out.println(" de matricula");
System.out.println(cod);
System.out.println(" ira ter o desconte de");
System.out.println(inss);
System.out.println(" e ira receber o valor liquido esse mês de ");
System.out.println(liq);
}
}
}[/code]
Quem poder me ajudar o mais rápido possível eu agradeço, pq amanha eu tenho uma entrevista de estágio e preciso aprender isso até umas 2 da manhã, obrigado a todos !
O que fez foi um programa sequencia de leitura e escrita de dados.
Na verdade não é nem programação procedural, já que você não tem nenhum método só o main.
você tem que criar um classe Funcionario e definir nela os atributos como código, nome e sálario bruto.
o sálario liquido é calculado dentro dessa classe, bem como o inss.
Depois disso você vai popular essa classe lendo os dados do teclado.
Entendi, seria como Estrutura de dados em C++ ? Então to ferrado que amanhã tenho uma entrevista de estágio e to querendo muito entrar e eu só tive uma aula de JAVA esse ano, amanhã anoite é a segunda :S
Não sei se é isto, mas segue um exemplo utilizando uma outra classe para Funcionario:
Classe Principal:
package javaapplication1;
import java.util.Scanner;
/**
*
* @author Bertan
*/
public class JavaApplication1 {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
Scanner teclado = new Scanner(System.in);
Funcionario funcionario = new Funcionario();
System.out.println("Digite o código do funcionário: ");
funcionario.setCodigo(teclado.nextInt());
if (funcionario.getCodigo() == 0) {
System.out.println("Codigo escrito errado");
} else {
System.out.println("Digite o nome do funcionário: ");
funcionario.setNome(teclado.next());
System.out.println("Digite o salário bruto do funcionário: ");
funcionario.setSal(teclado.nextDouble());
System.out.printf("O valor descontado de INSS é de ");
System.out.println(funcionario.getInss());
System.out.println("O funcionário");
System.out.println(funcionario.getNome());
System.out.println(" de matricula");
System.out.println(funcionario.getCodigo());
System.out.println(" ira ter o desconte de");
System.out.println(funcionario.getInss());
System.out.println(" e ira receber o valor liquido esse mês de ");
System.out.println(funcionario.getLiq());
}
}
}
classe funcionario:
package javaapplication1;
/**
*
* @author Bertan
*/
public class Funcionario {
private int codigo;
private String nome;
private double inss;
private double sal;
private double liq;
public Funcionario(){
}
/**
* @return the codigo
*/
public int getCodigo() {
return codigo;
}
/**
* @param codigo the codigo to set
*/
public void setCodigo(int codigo) {
this.codigo = codigo;
}
/**
* @return the nome
*/
public String getNome() {
return nome;
}
/**
* @param nome the nome to set
*/
public void setNome(String nome) {
this.nome = nome;
}
/**
* @return the inss
*/
public double getInss() {
return (getSal()*11)/100;
}
/**
* @return the sal
*/
public double getSal() {
return sal;
}
/**
* @param sal the sal to set
*/
public void setSal(double sal) {
this.sal = sal;
}
/**
* @return the liq
*/
public double getLiq() {
return (getSal()-getInss());
}
}
Boa sorte na entrevista
Desculpa se tiver algum erro, estou atrasado para a aula
Bertan e X@ndi Obrigado aos dois, entendi sim só que para eu aprender isso hj para tentar usar amanha vai ser osso, mesmo assim vou estudar obrigado e Bertan boa aula !