public class Data {
int dia;
int mes;
int ano;
Data(){
Calendar calendario = Calendar.getInstance();
dia = calendario.get(Calendar.DAY_OF_MONTH);
mes = calendario.get(Calendar.MONTH);
ano = calendario.get(Calendar.YEAR);
// System.out.println(calendario);
System.out.println(dia);
System.out.println(mes);
System.out.println(ano);
System.out.println(Maior(calendario));
}
private boolean Maior(Calendar dt){
String data;
data = JOptionPane.showInputDialog("Entre com a data dd/mm/aaaa");
if(dt.after(data)){
return true;
}else{
return false;}
}
}
[Resolvido] Problemas no retorno com after em datas
Estou tentando fazer uma comparação para saber se a data que o usuário digita é maior que a do pc porém o retorno true não está entrando....
Alguém poderia me ajudar?
4 Respostas
F
Estou tentando fazer uma comparação para saber se a data que o usuário digita é maior que a do pc porém o retorno true não está entrando.... Alguém poderia me ajudar?public class Data { int dia; int mes; int ano; Data(){ Calendar calendario = Calendar.getInstance(); dia = calendario.get(Calendar.DAY_OF_MONTH); mes = calendario.get(Calendar.MONTH); ano = calendario.get(Calendar.YEAR); // System.out.println(calendario); System.out.println(dia); System.out.println(mes); System.out.println(ano); System.out.println(Maior(calendario)); } private boolean Maior(Calendar dt){ String data; data = JOptionPane.showInputDialog("Entre com a data dd/mm/aaaa"); if(dt.after(data)){ return true; }else{ return false;} } }
Boa tarde Gustavo
estou colando o fonte do metodo que tu estas usandopublic boolean after(Object paramObject)
{
return ((paramObject instanceof Calendar) && (compareTo((Calendar)paramObject) > 0));
}
String data;
data = JOptionPane.showInputDialog("Entre com a data dd/mm/aaaa");
Eu fiz a coversão para o formato Date ao inves de string, mas ainda está saindo apenas falso as entradas na comparação não estão batendo… oq acha que devo alterar…?
DateFormat formatter ;
Date date ;
formatter = new SimpleDateFormat("dd/MM/yyyy");
date = (Date)formatter.parse(data);
Calendar cal=Calendar.getInstance();
cal.setTime(date);
if(dt.after(date)){
return true;
}else{
return false;}
fiz algumas alteracoes no seu codigo, faça um teste.
/**
*
* @author Juliano Landim
* @date 20/02/2012
*/
package guj;
import java.util.Calendar;
import javax.swing.JOptionPane;
public class Data {
int dia;
int mes;
int ano;
Data() {
Calendar calendario = Calendar.getInstance();
dia = calendario.get(Calendar.DAY_OF_MONTH);
calendario.set(Calendar.MONTH, Calendar.MONTH);
mes = calendario.get(Calendar.MONTH);
ano = calendario.get(Calendar.YEAR);
// System.out.println(calendario);
System.out.println(dia);
System.out.println(mes);
System.out.println(ano);
System.out.println(dia + "/" + mes + "/" + ano);
System.out.println(Maior(calendario));
}
private boolean Maior(Calendar dt){
String dataStr;
dataStr = JOptionPane.showInputDialog("Entre com a data dd/mm/aaaa");
String[] data = dataStr.split("\\/");
Calendar dataDig = Calendar.getInstance();
dataDig.set(Calendar.DAY_OF_MONTH, Integer.parseInt(data[0]));
dataDig.set(Calendar.MONTH, Integer.parseInt(data[1]));
dataDig.set(Calendar.YEAR, Integer.parseInt(data[2]));
if (dataDig.after(dt)) {
return true;
} else {
return false;
}
}
public static void main(String[] args) {
new Data();
}
}
Boa Sorte !!!
Agora funcionou…Vlw rapaz…xD
Criado 20 de fevereiro de 2012
Ultima resposta 20 de fev. de 2012
Respostas 4
Participantes 3
Alura POO: o que é programação orientada a objetos? Aprenda os conceitos básicos da programação orientada a objetos, como classes, objetos, herança, encapsulamento e polimorfismo, com exemplos.
Casa do Codigo Inteligencia Artificial e ChatGPT: Da revolucao dos... Por Fabricio Carraro — Casa do Codigo