Ok questo è quello che ho fatto fino ad ora.. questo programma praticamente legge da file tutte le frasi e le mette in un array e poi ne prende una a caso e la stampa.. allora la mia richiesta è: invece di prendere le frasi da file come posso prenderle da un database in internet così da avere una piu vasta scelta??codice:import java.io.*; import java.util.*; public class ReadPhrases{ public static void main(String[] args){ String pathFile = "Phrases.txt"; String[] a = leggiDaFile(pathFile); System.out.println(phrasesRandom(a)); } public static String phrasesRandom(String[] v){ Random rand = new Random(); int casuale = rand.nextInt(v.length); return v[casuale]; } public static int conta(BufferedReader b){ try{ String a = b.readLine(); if (a == null){ b.close(); return 0; } return 1 + conta(b); } catch(IOException e){ System.out.println("Errore di lettura file"); } return 0; } public static String[] caricaArray(BufferedReader b, int i, String[] v){ try{ String s = b.readLine(); if (s == null){ b.close(); return v; } v[i] = s; return caricaArray(b,i+1,v); } catch(IOException e){ System.out.println("Errore di lettura file"); } return null; } public static String[] leggiDaFile(String s){ int i = 0; FileReader f = null; try{ f = new FileReader(s); BufferedReader b = new BufferedReader(f); String[] r = new String[contaRighe(s)]; return caricaArray(b,0,r); } catch(FileNotFoundException e){ System.out.println("Il file non esiste"); System.exit(0); } return null; } public static int contaRighe(String s){ int i = 0; FileReader f = null; try{ f = new FileReader(s); BufferedReader b = new BufferedReader(f); return conta(b); } catch(FileNotFoundException e){ System.out.println("Il file non esiste"); System.exit(0); } return 0; } }

Rispondi quotando