Solucionado (ver solução)

Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

Solucionado
(ver solução)
24
respostas

Exercicio 1 - orientação a objetos

Nao estou conseguindo sair daqui...não entedo ainda muito de orientação a objetos...

class Funcionario {

String nome; String departamento; double salario; String admissao; String rg;

void RecebeAumento(double AumentoSal){

This.salario += AumentoSal;

}

}

class Dados {

public static void main(strings[] args ) {

Funcionario cris = new empregado (); cris.departamento = recursoshumanos; cris.salario = 3.000; cris.admissao = 10/10/04; cris.rG = 0123456;

cris.RecebeAumento(1.000);

System.out.println("departamento"); System.out.println("salario"); System.out.println("admissao"); System.out.println("rG"); System.out.println("RecebeAumento");

}

}

24 respostas

alguem poderia me dar uma ajuda, não to conseguindo sair daqui

O que você não esta entendendo?

Um dos problemas do código acima não compilar é que a declaração do argumento do main

public static void main(String[] args)

obrigado...to querendo ver se consigo fazer as ligaçoes da class funcionario com a class dados

ele tem me dado todos esses erros....

Funcionario1.java:19: error: cannot find symbol public static void main(string[] args ) { ^ symbol: class string location: class Dados Funcionario1.java:11: error: cannot find symbol This.salario += AumentoSal; ^ symbol: variable This location: class Funcionario1 Funcionario1.java:21: error: cannot find symbol Funcionario cris = new empregado (); ^ symbol: class empregado location: class Dados Funcionario1.java:22: error: cannot find symbol cris.departamento = recursoshumanos; ^ symbol: variable recursoshumanos location: class Dados Funcionario1.java:24: error: cannot find symbol cris.admissao = 10/10/04; ^ symbol: variable admissao location: variable cris of type Funcionario Funcionario1.java:25: error: cannot find symbol cris.rG = 0123456; ^ symbol: variable rG location: variable cris of type Funcionario Funcionario1.java:27: error: cannot find symbol cris.RecebeAumento(1.000); ^ symbol: method RecebeAumento(double) location: variable cris of type Funcionario 7 errors

O Java é case-sensitive ou seja ele diferencia maiúscula de minuscula, observe que você esta escrevendo string e o correto é String

public static void main(String[] args){
}

Tente colocar seu código dentro bloco assim será mais fácil para ajuda-lo.

Outro problema é a instanciação do seu objeto Funcionario que esta dessa maneira:

Funcionario cris = new empregado();

forma correta:

Funcionario cris = new Funcionario();

Veja que você não possui nenhuma classe Empregado.

faça esses ajustes: Funcionario cris = new Funcionario ();


todas as atribuições em campos do tipo String deve estar com aspas duplas, por exemplo, cris.departamento = "recursos humanos";


ajuste todos os println com o seguinte formato: printl(cris.atributo).

Pessoal, muito obrigado pela ajuda, vou arrumar lá. obrigado

estava arrumando e ainda continua esses 4 erros... arrumei tudo que vocÊs falaram, desculpe, é minha primeira vez com orientação a objetos

Funcionario1.java:19: error: cannot find symbol public static void main(string[] args ) { ^ symbol: class string location: class Dados

Funcionario1.java:11: error: cannot find symbol This.salario += AumentoSal; ^ symbol: variable This location: class Funcionario1

Funcionario1.java:21: error: cannot find symbol Funcionario cris = new empregado (); ^ symbol: class empregado location: class Dados

Funcionario1.java:22: error: cannot find symbol cris.departamento = recursoshumanos; ^ symbol: variable recursoshumanos location: class Dados

Funcionario1.java:24: error: cannot find symbol cris.admissao = 10/10/04; ^ symbol: variable admissao location: variable cris of type Funcionario

Funcionario1.java:25: error: cannot find symbol cris.rG = 0123456; ^ symbol: variable rG location: variable cris of type Funcionario

Funcionario1.java:27: error: cannot find symbol cris.RecebeAumento(1.000); ^ symbol: method RecebeAumento(double) location: variable cris of type Funcionario 7 errors

Cole novamente aqui a sua classe DADOS que fica mais facil de analisar.

class Funcionario1 {

String nome;

String departamento;

double salario;

String admissao;

String rg;

void RecebeAumento(double AumentoSal){

This.salario += AumentoSal;

}

}

class Dados {

public static void main(String[] args ) {

Funcionario cris = new Funcionario ();

cris.departamento = "recursos humanos";

cris.salario = 3.000;

cris.admissao = "10 março 2004";

cris.rg = "0123456";

cris.RecebeAumento(1.000);

System.out.println("cris.departamento");

System.out.println("cris.salario");

System.out.println("cris.admissao");

System.out.println("cris.rg");

System.out.println("RecebeAumento");

}

}

em todos os println, tire as aspas.... fica só (cris.atributo)....


no ultimo println, alem de tirar as aspas, deixe (cris.RecebeAumento)

substitua class Funcionario1 por Funcionario.

Nivio, fiz tudo isso e agora me voltaram 7 erros

Funcionario1.java:11: error: cannot find symbol This.salario += AumentoSal; ^ symbol: variable This location: class Funcionario1

Funcionario1.java:24: error: cannot find symbol cris.admissao = "10 março 2004"; ^ symbol: variable admissao location: variable cris of type Funcionario

Funcionario1.java:25: error: cannot find symbol cris.rg = "0123456"; ^ symbol: variable rg location: variable cris of type Funcionario

Funcionario1.java:27: error: cannot find symbol cris.RecebeAumento(1.000); ^ symbol: method RecebeAumento(double) location: variable cris of type Funcionario

Funcionario1.java:31: error: cannot find symbol System.out.println(cris.admissao); ^ symbol: variable admissao location: variable cris of type Funcionario

Funcionario1.java:32: error: cannot find symbol System.out.println(cris.rg); ^ symbol: variable rg location: variable cris of type Funcionario

Funcionario1.java:33: error: cannot find symbol System.out.println(cris.RecebeAumento); ^ symbol: variable RecebeAumento location: variable cris of type Funcionario

Nivio, trocando a class, ficaram 2 erros

Funcionario1.java:11: error: cannot find symbol This.salario += AumentoSal; ^ symbol: variable This location: class Funcionario

Funcionario1.java:33: error: cannot find symbol System.out.println(cris.RecebeAumento); ^ symbol: variable RecebeAumento location: variable cris of type Funcionario 2 errors

acho que vc continua com FUNCIONARIO1.... vc tem que substituir por Funcionario (sem o 1).

ta na primeira linha do seu programa.

eu fiz isso ja, deixei Funcionario.. me sai ainda esses dois erros

Funcionario.java:11: error: cannot find symbol This.salario += AumentoSal; ^ symbol: variable This location: class Funcionario

Funcionario.java:33: error: cannot find symbol System.out.println(cris.RecebeAumento); ^ symbol: variable RecebeAumento location: variable cris of type Funcionario 2 errors

Lembre-se do case-sensitive, você esta escrevendo This.salario e a forma correta é:

this.salario +=AumentaSal;

Modifique o Modificador de acesso da sua classe Dados para public class Dados, o seu arquivo java deve possuir o mesmo nome da classe publica Dados.java, além disso somente uma classe pode ser public a outra deve ficar como esta, o ponto separa as casas decimais, observe o código abaixo:

class Funcionario1{
       String nome;
       String departamento;
       double salario;
       String admissao;
       String rg;
       void RecebeAumento(double AumentoSal){
            this.salario += AumentoSal;
       }
}
public class Dados{
     public static void main(String[] args) {
            Funcionario cris = new Funcionario();
            cris.departamento = "recursos humanos";
            cris.salario = 3000.00;
            cris.admissao = "10 março 2004";
            cris.rg = "0123456";
            cris.RecebeAumento(1000.00);
            System.out.println(cris.departamento);
            System.out.println(cris.salario);
            System.out.println(cris.admissao);
            System.out.println(cris.rg);            
     }
}

Diego, fiz as modificações.. e continua esses dois erros

Funcionario.java:17: error: class Dados is public, should be declared in a file named Dados.java public class Dados { ^

Funcionario.java:33: error: cannot find symbol System.out.println(cris.RecebeAumento); ^ symbol: variable RecebeAumento location: variable cris of type Funcionario

solução!

Como tinha dito modifique seu arquivo para Dados.java e dentro do arquivo as declarações das classes devem ficar dessa maneira:

class Funcionario{
}
public class Dados{
}

O segundo erro é que você esta tentando imprimir um método que está escrito de forma incorreta e que não retorna nada, se caso retornasse funcionaria encontre a linha abaixo e apague-a:

System.out.println(cris.RecebeAumento);

Pessoal, Muito OBrigado,

conseguimos fazer funcionar... valeu mesmo

boa noite

Boa sorte!!!