Java – Generare valori “casuali” con una certa probabilità

Nel precedente articolo Generazione di numeri “casuali” ho descritto le funzionalità che il framework standard di Java mette a disposizione per generare dei numeri “casuali”.

Ci possono essere delle situazioni particolari in cui c’è bisogno di estrarre dei valori casuali che abbiano una certa probabilità specifica di uscita. Esistono due esempi molto classici: la moneta “truccata” e il dado “truccato”. In questo articolo descriverò questi due casi mostrando anche del codice concreto di prova.

Continua a leggere

Pubblicato in Java

Java – Guida al costrutto “for-each”

L’uscita di Java 5, avvenuta nel lontano 2004, aveva portato un gran numero di novità molto importanti tra cui i generics, le annotation, le enum e svariate altre funzionalità. Tra queste novità c’è stata anche la introduzione di un nuovo tipo di ciclo “for” che nella documentazione ufficiale è denominato enhanced for (“for migliorato”) ma viene generalmente chiamato in maniera più amichevole e informale for-each (o senza trattino, for each). Questo termine, tra l’altro, è usato anche in altri linguaggi e contesti quindi è facilmente riconoscibile e comprensibile.

Continua a leggere

Java – Avviare ricerca internet con il browser predefinito

In una applicazione Java “desktop” di tipo grafico (o al limite una applicazione “console”) potrebbe essere necessario, in qualche caso, lanciare un browser esterno per aprire la pagina con i risultati della ricerca su internet fatta tramite uno specifico “motore di ricerca” (es. Google o Bing, giusto per citarne due noti).

Continua a leggere

Java – Generazione di numeri “casuali”

Poter generare numeri “casuali” è una necessità che si può avere in svariati tipi di applicazioni, ad esempio in ambito matematico/scientifico ma anche, più banalmente, in applicazioni a scopo ludico o didattico (es. giochi, quiz, ecc...).

Il framework standard di Java fornisce già diverse possibilità per la generazione di numeri casuali. L’obiettivo di questo articolo è di descrivere queste funzionalità con l’aiuto di alcuni esempi pratici.

Continua a leggere

Pubblicato in Java

Java – Il limit dello split per le stringhe

A partire dalla release 1.4 di Java la classe String ha due metodi split che permettono di spezzare una stringa sfruttando il meccanismo delle regular expression (espressioni regolari), introdotte anch’esse in Java 1.4. L’uso di questi split mi ha talvolta causato dubbi/disagi ma non per il concetto stesso di “split” o per l’uso delle espressioni regolari. No, per un altro motivo: il concetto “extra” del limit che è stato volutamente aggiunto nello split. E ogni volta devo andare a rileggere la documentazione javadoc per ricordarmi la logica di questo limit ...

Continua a leggere

Presentazione del mio sito-blog

Questo mio nuovo sito-blog nasce, finalmente, dopo molto tempo (e dopo “mille” valutazioni e considerazioni) dalla mia volontà di esporre e condividere le mie competenze tecniche nel campo della programmazione, specialmente in ambito Java. Il mio obiettivo per questo blog sarà quindi molto semplice: cercare di pubblicare con costanza e continuità articoli “tecnici” curati e ben scritti, ideati da me personalmente, che spaziano su molti argomenti legati al mondo della programmazione, su Java in modo specifico ma anche potenzialmente più in generale. E in futuro, se ne avrò l’opportunità, potrei eventualmente orientarmi anche versi altri linguaggi di programmazione e tecnologie (tipo ad esempio Scala e Kotlin).

Già in passato avevo provato a portare avanti un blog di questo tipo ma era su una piattaforma WordPress “gratuita”, che però aveva, chiaramente, parecchi limiti (poco personalizzabile, non molto performante, molta pubblicità invasiva, ecc...).

Con il servizio di hosting WordPress che ho attualmente, a pagamento, altamente personalizzabile e abbastanza performante, conto di poter operare molto meglio nello sviluppo del blog e degli articoli.

Inizia oggi 1 Giugno 2019, ufficialmente, il mio sito-blog.
Buona lettura, quindi!

Andrea Binello
Senior Java developer