/** * Classe eseguibile che realizza la ricerca del minimo in un array di interi * in modo ricorsivo * * @author Adriano Luchetta * @version 5-nov-2005 * */ import java.util.Random; import javax.swing.JOptionPane; public class RecursiveMinFinder { private static int findMin(int[] a, int aSize) { // caso base if (aSize == 1) return a[0]; // passo ricorsivo int subMin = findMin(a, aSize - 1); return a[aSize - 1] < subMin ? a[aSize - 1] : subMin; } public static void main(String[] args) { int dim= Integer.parseInt(args[0]); int[] b = new int[dim]; int n = Integer.parseInt(args[1]); String str = "dim = " + dim + ", n = " + n + "\n" + "a = "; Random rand = new Random(); // un altro modo di generare un numero casuale!!! for (int i = 0; i < dim; i++) { b[i] = 1 + rand.nextInt(n); // un altro modo di generare un numero casuale!!! str = str + " " + b[i]; } int min = findMin(b, b.length); str = str + "\n" + "min = " + min; JOptionPane.showMessageDialog(null, str); System.exit(0); } }