Gente o que há de errado nesse código? porque não funciona?

6 respostas
renatotn7
import java.io.File;

import java.io.FileInputStream;

import java.io.FileOutputStream;

import java.io.FileWriter;

import java.util.GregorianCalendar;

import java.util.Properties;

import javax.swing.JOptionPane;

public class contador {

public contador(){}

public void primeirouso(){

GregorianCalendar calendario = new GregorianCalendar();
File primeiroUso= new File("sil.pac");
if (!primeiroUso.exists()){
try{
FileWriter writer=new FileWriter(primeiroUso);

String diaPrimeiroUso = "dia="+calendario.get(calendario.DAY_OF_MONTH)+"\n";
String mesPrimeiroUso = "mes="+calendario.get(calendario.MONTH)+"\n";
String anoPrimeiroUso = "ano="+calendario.get(calendario.YEAR);

writer.write(diaPrimeiroUso+mesPrimeiroUso+anoPrimeiroUso);
}catch(Exception e){
	JOptionPane.showMessageDialog(null,"Erro na Inicialiazação\nExecute Novamente");
	System.exit(0);
}
}

}


public void acabaOUso(){
	Properties prop = new Properties();
	GregorianCalendar calendario = new GregorianCalendar();
	File primeiroUso= new File("sil.pac");
	if (primeiroUso.exists()){
	try{

	FileInputStream in = new FileInputStream(primeiroUso);
	
	prop.load(in);
	in.close();
	
	
	Integer diaAtual = calendario.get(calendario.DAY_OF_MONTH);
	Integer mesAtual = calendario.get(calendario.MONTH);
	Integer anoAtual = calendario.get(calendario.YEAR);
	
	String diaPrimeiroUso = prop.getProperty("dia");
	String mesPrimeiroUso = prop.getProperty("mes");
	String anoPrimeiroUso = prop.getProperty("ano");
	
	Integer idiaPrimeiroUso, imesPrimeiroUso, ianoPrimeiroUso;
		idiaPrimeiroUso=Integer.parseInt(diaPrimeiroUso);
		imesPrimeiroUso=Integer.parseInt(mesPrimeiroUso);
		ianoPrimeiroUso=Integer.parseInt(anoPrimeiroUso);
	
		if ((mesAtual&gt(imesPrimeiroUso+1))){
			if(diaAtual&gtidiaPrimeiroUso){
				
				JOptionPane.showMessageDialog(null,"A Data para Avaliação Expirou");
				System.exit(0);
			}}	
			
		if ((mesAtual&gt(imesPrimeiroUso+2))){
								
				JOptionPane.showMessageDialog(null,"A Data para Avaliação Expirou");
				System.exit(0);
			}	
			

		
	}catch(Exception e){
		JOptionPane.showMessageDialog(null,"Erro na Inicialiazação\nExecute Novamente");
		System.exit(0);
	}
	}	
	}

}

6 Respostas

T
  1. Ponha os tags [ code ] por favor
  2. Pergunta número um: o que você quer que seu código faça? Explique o que ele tem de fazer e o que ele está fazendo na verdade.
renatotn7

a idéia é que no primeiro uso do programa esse código armazene num arquivo o dia mes e ano, e depois teste se ja passou o tempo desejado
e então trave o uso do programa

[code] ?

T

Como você está fazendo a comparação entre datas? Pegue o dia, mês, ano, converta em um Calendar (como você já fez) e, aproveitando o fato que Calendar implementa Comparable, efetue a comparação entre as datas. (Do jeito que você fez é muito complicado :stuck_out_tongue: )

Vou dar um exemplo daqui a pouco.

fabiozoroastro

Code são tags do forum que te ajudam a postar suas dúvidas corretamente.
Vá debugando o seu código e verifique onde falhou, se ocorrer alguma exception posta aew pra gente tentar resolver.

Abraço

T
import java.util.Calendar;
import java.text.DateFormat;
import java.text.SimpleDateFormat;

class TesteComparacaoDatas {
     public static void main(String[] args) {
          DateFormat df = new SimpleDateFormat ("dd/MM/yyyy");
          Calendar cal1 = Calendar.getInstance();
          Calendar cal2 = Calendar.getInstance();
          // Vamos comparar 01/01/2007 com 31/12/2006.
          // set(int year, int month, int date) 
          // Cuidado! Janeiro = 0
          cal1.set(2007, 1 - 1, 1); 
          cal2.set(2006, 12 - 1, 31);
          if (cal1.compareTo (cal2) &lt 0) {
              System.out.println (df.format (cal1.getTime()) + " &lt " + df.format (cal2.getTime()));
          } else if (cal1.compareTo (cal2) &gt 0) {
              System.out.println (df.format (cal1.getTime()) + " &gt " + df.format (cal2.getTime()));
          } else {
              System.out.println (df.format (cal1.getTime()) + " == " + df.format (cal2.getTime()));
          }
          // Vamos comparar 31/01/2007 com 01/12/2007.
          cal1.set(2007, 1 - 1, 31);
          cal2.set(2007, 12 - 1, 1);
          if (cal1.compareTo (cal2) &lt 0) {
              System.out.println (df.format (cal1.getTime()) + " &lt " + df.format (cal2.getTime()));
          } else if (cal1.compareTo (cal2) &gt 0) {
              System.out.println (df.format (cal1.getTime()) + " &gt " + df.format (cal2.getTime()));
          } else {
              System.out.println (df.format (cal1.getTime()) + " == " + df.format (cal2.getTime()));
          }
          // Vamos comparar 28/02/2007 com 28/02/2007.
          cal1.set(2007, 2, 28);
          cal2.set(2007, 2, 28);
          if (cal1.compareTo (cal2) &lt 0) {
              System.out.println (df.format (cal1.getTime()) + " &lt " + df.format (cal2.getTime()));
          } else if (cal1.compareTo (cal2) &gt 0) {
              System.out.println (df.format (cal1.getTime()) + " &gt " + df.format (cal2.getTime()));
          } else {
              System.out.println (df.format (cal1.getTime()) + " == " + df.format (cal2.getTime()));
          }
     }
}
renatotn7

Vlw pelo exemplo tingol!

consegui resolver

abs a todos!!!

Criado 22 de fevereiro de 2007
Ultima resposta 26 de fev. de 2007
Respostas 6
Participantes 3