Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    incremento contatori giornalieri/mensili java

    Ciao a tutti

    devo implementare in java due metodi che incrementano 2 contatori.

    1 contatore richieste giornaliere di un client

    2 contatore richieste mensili di un client

    avevo pensato ad un metodo



    codice:
    java
    
         increasecounter(int richiesteGiornaliere, long timestamp, string client)
    il timestamp sarebbe il tempo in cui arriva la richiesta. e poi incrementa il contatore

    ora come faccio ad azzerare il contatore ogni giorno nel primo caso e ogni mese nel secondo caso?

    Spero di essere stato chiaro sul mio problema

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    devi fare sempre un reset dei contatori. Il punto è quando lo fai, cioè come subordini il reset. Se l'interfaccia è fissa significa che il chiamante DEVE prima di ogni incremento, controllare se deve aggiornare oppure meno. Come fa? Tiene una variabile con mese e una con giorno, prima di ogni incremento controlli che il giorno /mese attuale non coincidano con il tuo, se non coincidono fai reset.
    RTFM Read That F*** Manual!!!

  3. #3
    Prendiamo il caso giornaliero

    Avevo pensato logicamente così

    controllare se è il primo accesso giornaliero

    se SI contatore = 0 altrimenti incrementa

    la mia difficoltà sta proprio nel fatto di come implementare questo controllo

    e poi come fare per far salvare il valore del contatore senza riazzerarlo quando riparte l'applicazione

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    Tieni una variabile di classe, un file, una costante che ti faccia da bandiera. Guarda basta anche che questa variabile sia booleana: se true hai fatto un accesso, se false no quindi reset.
    RTFM Read That F*** Manual!!!

  5. #5
    io l'ho implementato così

    codice:
    java
    
    
    public class ApiUtility {
    	
    	static int richiesteGiornaliere;
    
    	public static void increaseCounter(String request,long timestamp, String client) throws ParseException{		
    		Date current = new Date();   // Data di oggi
    		SimpleDateFormat sdf = new SimpleDateFormat("HH:mm"); 	
    		if(sdf.format(current).equals("00:00")){
    			richiesteGiornaliere=0;
    		}
    		richiesteGiornaliere++;	
    		//currentDate.setTime(sdf.parse(Long.toString(dataMilli)));
    	}
    }
    il problema che mi riazzera ogni volta che restarto l'applicazione il contatore invece di riazzerarlo solo a mezzanotte.

  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    chiaro, perché è una variabile statica che smette di esistere alla fine dell'applicazione.
    Devi scrivere su file questo valore, leggerlo all'avvio del programma e scriverlo subito dopo averlo aumentato.
    RTFM Read That F*** Manual!!!

  7. #7
    grazie cosi funziona però ho scoperto che il metodo che ho implementato io non va bene perchè se la prima richiesta giornaliera arriva alle 00:01 non azzera il contatore quindi è sbagliato logicamente ufff

  8. #8
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    ok ti sei reso conto che un booleano non basta, ma all'inizio ti avevo detto di segnarti la data attuale, scrivila su file e azzera solo se la data attuale è differente rispetto a quella su file
    RTFM Read That F*** Manual!!!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.