import javax.swing.JOptionPane; public class SequenzeTestaCroce { public static char lanciaMoneta() { double d = Math.random(); if(d<0.5) return 'T'; else return 'C'; } public static int leggiIntero(String messaggio) { int n = 0; boolean erroreVerificato = false; do { try { erroreVerificato = false; n = Integer.parseInt(JOptionPane.showInputDialog(messaggio)); } catch(NumberFormatException e) { erroreVerificato = true; JOptionPane.showMessageDialog(null, "Attenzione, puoi scrivere solo cifre!"); } } while(erroreVerificato || n<0); return n; } public static void generaEstrazioni(char[] v) { for(int i=0; i max) max = len; len = 1; // ne inizia un'altra } } if(len > max) // verifichiamo se l'ultima sequenza e' la massima max = len; return max; } public static void esperimento(int lungh) { char[] estrazioni = new char[lungh]; generaEstrazioni(estrazioni); // togliere il commento alla riga seguente se si vuole visualizzare la sequenza estratta // stampaEstrazioni("Ecco la sequenza:", estrazioni); int maxLung = lunghezzaSequenzaMassima(estrazioni); System.out.println("\t"+lungh+"\t"+maxLung); } public static void main(String[] args) { int n = leggiIntero("dammi la lunghezza massima"); for(int lungh=2; lungh<=n; lungh=lungh*2) esperimento(lungh); } }