- decidi la lunghezza della password (fissa, o variabile, magari in questo caso, prevedendo un minimo di caratteri)
Ok, questo non ci sono problemi a farlo, mi chiedo in input di che lunghezza voglio pa pw e il gioco è fatto

- crei il tuo "haystack" da cui pescare lettere e numeri che formeranno la tua password concatenando tutti i dati inseriti e generati in un unico String haystack
- peschi x (dove x è la lunghezza della password) caratteri dal tuo haystack, ad esempio tramite ciclo for, usando charAt di String e nextInt(int n) di Random, passando come parametro n la lunghezza dell'haystack.
Questi due punti invece ho bisogno di aiuto per scrivere il codice.

Posto intanto il codice che ho scritto io:
codice:
/**
 * @author Dennis
 */

//***********************************
//                                  *	
//		Librerie					*
//									*
//***********************************
import java.util.Calendar;
import java.util.GregorianCalendar;
import java.util.Scanner;

//***********************************
//									*	
//		Algoritmo					*
//									*
//***********************************

public class AlgoritmoCreaPw {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner sc = new Scanner(System.in);
		System.out.println("Inserisci il nome dell'utente");
		String name = sc.next();
		System.out.println("Inserisci il cognome dell'utente");
		String surname = sc.next();
		System.out.println("L'utente di cui vuoi calcolare la pw e': "+name+" "+surname);

		
		Calendar cal = new GregorianCalendar();
		int giorno = cal.get(Calendar.DAY_OF_MONTH);
		int mese = cal.get(Calendar.MONTH);
		int anno = cal.get(Calendar.YEAR);
		System.out.println(+giorno+"-"+(mese+1)+"-"+anno);
		
		  
		  String orario;
		  int ore = cal.get(Calendar.HOUR);
		  int minuti = cal.get(Calendar.MINUTE);
		  int secondi = cal.get(Calendar.SECOND);
		  
		  if(cal.get(Calendar.AM_PM) == 0)
		  orario = "A.M.";
		  else
		  orario = "P.M.";
		  System.out.println("Sono le : " + ore + ":" 
		  + minuti + ":" + secondi + " " + orario);
	}

}
è semplice semplice, infatti per ora chiede nome e cognome e si calcola data e ora