…
Novo metodo
11 Respostas
Tenho esse codigoÉ erro seu ouimport java.util.Calendar; import java.util.GregorianCalendar; class funcionario { String nome; String departamento; double salario; String dataentrada; String rg; static Calendar cal = new GregorianCalendar(); public static void main(String[] args) { int hour24 = cal.get(Calendar.HOUR_OF_DAY); //obtem a hora no formaato 24h boolean presente = (hour24 > 8 || hour24 < 18); if(presente) { System.out.println("Presente"); }else{ System.out.println("Nao esta presente"); } } void bonifica(double valor) { double novosalario = this.salario + valor; this.salario = novosalario; } }mais eu só consegui compilar esse metodo boolean colocando ele como metodo interno...
Mais estava pensando aqui, e esse nao é meu objetivo, meu objetivo é falar se é verdadeiro ou falso
e em otra classe envocar esse booleano, e se for verdadeiro ele vai responder de uma forma
e se for falso vai responder de outra...entao eu tentei fazer issoimport java.util.Calendar; import java.util.GregorianCalendar; class funcionario { String nome; String departamento; double salario; String dataentrada; String rg; static Calendar cal = new GregorianCalendar(); int hour24 = cal.get(Calendar.HOUR_OF_DAY); //obtem a hora no formaato 24h boolean presente = (hour24 > 8 || hour24 < 18); if(presente) { return false; }else{ return true; } void bonifica(double valor) { double novosalario = this.salario + valor; this.salario = novosalario; } }Mas com esse nao consegui compilar =((...
Ficaria como??
int hour24 = cal.get(Calendar.HOUR_OF_DAY); //obtem a hora no formaato 24h
boolean presente = (hour24 > 8 || hour24 < 18);
if(presente) {
return false;
}else{
return true;
}
public boolean getPresente(){
int hour24 = cal.get(Calendar.HOUR_OF_DAY); //obtem a hora no formaato 24h
return (hour24 > 8 || hour24 < 18);//Essa comparação já retorna um boolean, você não precisa ver depois se é verdadeiro para voltar true ou false para voltar false
}
Porque seu código está fora de um método.
Coloque o código da linha 10 a linha 18 dentro de um método que retorna este booleano.
Mark, mas eu queria em outra classe envocar esse metodo, para em outra classe se fosse verdadeiro imprimiria tal, e se fosse falso imprimiria outra coisa…
certo??? esse novo codigo seu eu nao entendi…eu nao entendi o que ele retorna…
=/
return (hour24 > 8 || hour24 < 18);
boolean result = (hour24 > 8 || hour24 < 18);
return result;
boolean presente = (hour24 > 8 || hour24 < 18);
if(presente) {
return false;
}else{
return true;
}
Tudo faz a mesma coisa mas é mais simples do modo que fiz.
Para usar o método em outras classes é só deixar ele public e acessar por outro objeto, um exemplo completo
public class Usuario {
private String user;
private String pass;
// Getters & Setters
public boolean senhaMenosDeCincoChars() {
return (pass.length() < 5);
}
}
public class OutraClasse {
public static void main(string[] args) {
Usuario user = new Usuario();
user.setUser("Mark_Ameba");
user.setPass("mark");
boolean menor = user.senhaMenosdeCincoChars();
if (menor)
System.out.println("Menor");
else
System.out.println("Maior");
user.setPass("m4rk0ameb4");
boolean menor = user.senhaMenosdeCincoChars();
if (menor)
System.out.println("Menor");
else
System.out.println("Maior");
}
}
EDIT: Código identado^^
Mark, mas eu queria em outra classe envocar esse metodo, para em outra classe se fosse verdadeiro imprimiria tal, e se fosse falso imprimiria outra coisa..... certo??? esse novo codigo seu eu nao entendi...eu nao entendi o que ele retorna... =/Tente o seguinte:
import java.util.Calendar;
import java.util.GregorianCalendar;
class Funcionario {
String nome;
String departamento;
double salario;
String dataentrada;
String rg;
Public boolean verificar(){
static Calendar cal = new GregorianCalendar();
int hour24 = cal.get(Calendar.HOUR_OF_DAY); //obtem a hora no formaato 24h
boolean presente = (hour24 > 8 || hour24 < 18);
if(presente) {
return false;
}else{
return true;
}
}
void bonifica(double valor) {
double novosalario = this.salario + valor;
this.salario = novosalario;
}
}
Funcionario fulano = new Funcionario();
fulano.verificar();
Obs.: A classe funcionario foi alterada para Funcionario.
T+
PS: Você não pode criar variaveis locais estaticas, isso tem que ficar na classe.
OLá Mark,
É isso mesmo, Viajei :oops:
É q não tenho como testar no momento, então passei batido.
Valeu pela correção
Abraços
Mark, mas eu queria em outra classe envocar esse metodo, para em outra classe se fosse verdadeiro imprimiria tal, e se fosse falso imprimiria outra coisa..... certo??? esse novo codigo seu eu nao entendi...eu nao entendi o que ele retorna... =/Tente o seguinte:Dai crie uma instância dessa classe na outra classe (a que deseja invocar o método) Exemplo:import java.util.Calendar; import java.util.GregorianCalendar; class Funcionario { String nome; String departamento; double salario; String dataentrada; String rg; Public boolean verificar(){ static Calendar cal = new GregorianCalendar(); int hour24 = cal.get(Calendar.HOUR_OF_DAY); //obtem a hora no formaato 24h boolean presente = (hour24 > 8 || hour24 < 18); if(presente) { return false; }else{ return true; } } void bonifica(double valor) { double novosalario = this.salario + valor; this.salario = novosalario; } }Funcionario fulano = new Funcionario(); fulano.verificar();Obs.: A classe funcionario foi alterada para Funcionario.
T+
Vixi
deu mais erros ainda
Funcionario.java:11:
Public boolean verificar(){
^
Funcionario.java:12: illegal start of expression
static Calendar cal = new GregorianCalendar();
^
Funcionario.java:16: illegal start of type
if(presente) {
^
Funcionario.java:16:
if(presente) {
^
Funcionario.java:18: illegal start of type
}else{
^
Funcionario.java:23: class, interface, or enum expected
void bonifica(double valor) {
^
Funcionario.java:25: class, interface, or enum expected
this.salario = novosalario;
^
Funcionario.java:26: class, interface, or enum expected
}
^
8 errors
Outra pergunta, eu estou sendo muito burro ou voces tiveram um pouco de duvida assim no começo??
=((
<blockquote><div class="quote-author">re_dexter:</div> Vixi
deu mais erros ainda
Funcionario.java:11: expected
Public boolean verificar(){
^
Funcionario.java:12: illegal start of expression
static Calendar cal = new GregorianCalendar();
^
Funcionario.java:16: illegal start of type
if(presente) {
^
Funcionario.java:16: expected
if(presente) {
^
Funcionario.java:18: illegal start of type
}else{
^
Funcionario.java:23: class, interface, or enum expected
void bonifica(double valor) {
^
Funcionario.java:25: class, interface, or enum expected
this.salario = novosalario;
^
Funcionario.java:26: class, interface, or enum expected
}
^
8 errors
Outra pergunta, eu estou sendo muito burro ou voces tiveram um pouco de duvida assim no começo??
=((
Como falei, estou sem ter como testar no momento.
A questão ai é que eu coloquei o Public com letra maiuscula…
Retire a linha:
static Calendar cal = new GregorianCalendar();
de dentro do método, colocando-a na classe
e tente tirar o static de Calendar, caso dê algum erro.
import java.util.Calendar;
import java.util.GregorianCalendar;
class Funcionario {
String nome;
String departamento;
double salario;
String dataentrada;
String rg;
static Calendar cal = new GregorianCalendar();
public boolean verificar(){
int hour24 = cal.get(Calendar.HOUR_OF_DAY); //obtem a hora no formaato 24h
return (hour24 > 8 || hour24 < 18);
}
void bonifica(double valor) {
double novosalario = this.salario + valor;
this.salario = novosalario;
}
}
Dúvida assim? Já tive no minímo umas 10 pior