Do capitulo Começando com Orientação a objetos, não consegui executar o código dos exercícios: 6, 7, 8 e 9.
Se Alguém por gentileza, puder me ajudar, agradeço de coração.
Do capitulo Começando com Orientação a objetos, não consegui executar o código dos exercícios: 6, 7, 8 e 9.
Se Alguém por gentileza, puder me ajudar, agradeço de coração.
Boa noite Vicente, poste o sua dúvida para que eu possa ajudá-lo....
Boa noite! Theomar, as minhas duvidas ou dificuldades começam no Exercício 6 e vai até o Exercício 9.
Estou postando o Exercício 6, acredito que se este funcionar, o restante irá executar.
Ao compilar a classe TestaFuncionariox ocorre os seguintes erros:
C:\Ambiente Alura>javac tstaFuncionariox.java
TestaFuncionariox.java:9: error: incompatible types
F1.dataEntrada = new Data();
Required: String
Found: Data
TestaFuncionariox.java:10: error: cannot find symbol
F1.dataEntrada.preencheDataEntrada(15,01,2014);
Symbol: method preencheDataEntrada(int,int,int);
Location: variable dataEntrada of type String
2 errors
public class Data {
int dia;
int mes;
int ano;
void preencheDataEntrada (int dia, int mes, int ano) {
this.dia = dia;
this.mes = mes;
this.ano = ano;
}
}
public class Funcionariox {
String nome;
Data dataEntrada;
double salario;
void recebeAumento(double aumento) {
this.salario +=aumento;
}
void mostra1() {
System.out.println("Nome f1.........: " + this.nome);
System.out.println("Data Entrada f1.: " + this.dataEntrada);
System.out.println("Salario Atual f1: " + this.salario);
}
}
public class TestaFuncionariox {
public static void main(String[] args) {
Funcionario f1 = new Funcionario();
f1.nome = "Vicente Paulo";
f1.salario = 240.00;
f1.recebeAumento(60);
f1.dataEntrada = new Data();
f1.dataEntrada.preencheDataEntrada(15, 01, 2014);
f1.mostra1();
}
}
Boa Tarde Vicente! Você nomeou sua classe como 'TestaFuncionariox' e quando está pedindo para compilar está digitando 'javac tstaFuncionariox.java' tente fazer 'javac TestaFuncionariox.java'.
Boa tarde Vicente, você criou sua classe como "public class Funcinonariox" e está instanciando como new Funcionario()
Theomar, tem muitas coisas estranhas no seu código.
1) O que o Fabio já falou: você está compilando tstaFuncionariox.java.
O arquivo tstaFuncionariox.java existe no seu computador ??
Se ele não existe a mensagem de erro seria que o arquivo não foi encontrado...
2) As 3 classes são púlicas. Por isto devem ser salvas nos arquivos
Data.java
Funcionariox.java
TestaFuncionariox.java
3) Como o Hugo já disse, você tem a classe Funcionariox, e não Funcionario.
Para que seu código funcione você deve ter 3 arquivos como segue:
Data.java
public class Data {
int dia;
int mes;
int ano;
void preencheDataEntrada (int dia, int mes, int ano) {
this.dia = dia;
this.mes = mes;
this.ano = ano;
}
}
Funcionariox.java
public class Funcionariox {
String nome;
Data dataEntrada;
double salario;
void recebeAumento(double aumento) {
this.salario +=aumento;
}
void mostra1() {
System.out.println("Nome f1.........: " + this.nome);
System.out.println("Data Entrada f1.: " + this.dataEntrada);
System.out.println("Salario Atual f1: " + this.salario);
}
}
TestaFuncionariox.java
public class TestaFuncionariox {
public static void main(String[] args) {
Funcionariox f1 = new Funcionariox();
f1.nome = "Vicente Paulo";
f1.salario = 240.00;
f1.recebeAumento(60);
f1.dataEntrada = new Data();
f1.dataEntrada.preencheDataEntrada(15, 01, 2014);
f1.mostra1();
}
}
Compile os 3
javac Data.java
javac Funcionariox.java
javac TestaFuncionariox.java
para testar: java TestaFuncionariox
4) Outra coisa muito estranha: De onde saiu F1.dataEntrada = new Data(); ??? O java é case sensitive. No seu código não vi F1 em nenhum lugar...
Desculpe estava me referindo ao Vicente e não ao Theomar
Além disto, onde eu digo pulicas, leia-se públicas.
Realmente o único problema é chamar "new Funcionario()" no lugar de "new Funcionariox()"
Quanto ao "javac tstaFuncionariox.java" está correto pois o nome do arquivo e da classe principal (main) é tstaFuncionariox. Deve-se compilar pelo nome do arquivo e o colega estava fazendo isso correto, tanto que o compilador identifica um problema durante a compilação, ou seja, encontrou o arquivo.
Acabei de perceber mais uma coisa, o compilador acusa que tu chamou F1.dataEntrada e pelo teu código tu definiu a variável como f1. Cuidado que JAVA é case sensitive, ou seja f1 e F1 são coisas diferentes.
Obrigado! a todos, consegui entender e resolver a questão.