Una delle particolarità che rendono Java un linguaggio di programmazione completò è la possibilità di creare applicazioni interattive che consentano all'utilizzatore di un programma di 'dialogare' con il software stesso. In questo piccolo articolo vedremo in breve il codice necessario per la creazione di un'applicazione 'intelligente' in grado di fornire output differenti sulla base di input inviati dall'utilizzatore.
Nello specifico creeremo un piccolo software in cui verrà memorizzato un array contenente i 12 mesi dell'anno; il programma chiederà all'utente di inserire il proprio nome tramite digitazione e, sulla base di un 'complicato' calcolo matematico basato sul rapporto trà il numero di caratteri del nome e i valori contenuti nell'array, indicherà il mese fortunato corrispondente.
Ecco il codice del nostro semplice programma interattivo:
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; public class intelArt { public static void main(String[] args) throws IOException { BufferedReader userInput = new BufferedReader (new InputStreamReader(System.in)); ArrayList<String> meseFortunato = new ArrayList<String>(); meseFortunato.add("Gennaio"); meseFortunato.add("Febbraio"); meseFortunato.add("Marzo"); meseFortunato.add("Aprile"); meseFortunato.add("Maggio"); meseFortunato.add("Giugno"); meseFortunato.add("Luglio"); meseFortunato.add("Agosto"); meseFortunato.add("Settembre"); meseFortunato.add("Ottobre"); meseFortunato.add("Novembre"); meseFortunato.add("Dicembre"); System.out.println("Il software della fortuna"); System.out.println("Come ti chiami?"); String nome = userInput.readLine(); Integer nomeLength = nome.length(); if (nomeLength == 0) { System.out.println("Non hai inserito il tuo nome!"); return; } Integer oraColo = nomeLength % meseFortunato.size(); System.out.println("\nCiao "+nome+", il tuo nome conta " + nomeLength + " caratteri,\n" + "Il tuo mese fortunato potrebbe essere: " + meseFortunato.get(oraColo)); } }Da notare come il software sia in grado di controllare l'effettivo inserimento del nome, di misurarne la lunghezza in caratteri e di restituire sempre lo stesso responso sulla base di un rapporto matematico predefinito e invariabile.