Lógica de Programação JAVA, OO

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

Ola,

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 :smiley:

Desculpa se tiver algum erro, estou atrasado para a aula :confused:

[]'s
Bertan

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 !