Salve raga. Il mio problema è che quando richiamo un metodo generico non me lo riconosce!
codice:
public class TestArray
{
public static void main (String[] args)
{
int[] array = new int[6];
java.util.Scanner scanner = new java.util.Scanner (System.in);
for (int i = 0; i < array.length; i++)
{
System.out.print ("Inserisci elemento di posto " + i + ": ");
array[i] = scanner.nextInt();
}
System.out.println ("\n\n");
Array.print (array);
System.out.println ("\n\n");
Array.orderAsc (array);
Array.print (array);
System.out.println ("\n\n");
Array.orderDesc (array);
Array.print (array);
}
}
codice:
public class Array
{
public static < E extends Comparable < E > > void orderAsc (E[] array)
{
for (int i = 0; i < array.length - 1; i++)
for (int j = i + 1; i < array.length; j++)
if (array[i].compareTo (array[j]) > 0)
{
E tmp = array[i];
array[i] = array[j];
array[j] = tmp;
}
}
public static < E extends Comparable < E > > void orderDesc (E[] array)
{
for (int i = 0; i < array.length - 1; i++)
for (int j = i + 1; i < array.length; j++)
if (array[i].compareTo (array[j]) < 0)
{
E tmp = array[i];
array[i] = array[j];
array[j] = tmp;
}
}
public static < E > void print (E[] array)
{
for (int i = 0; i < array.length; i++)
System.out.print (array[i] + "\n");
}
}
Mi dice: <E>print(E[]) cannot be applied to (int[])... tutte le volte che richiamo un metodo generico, ma cosa sbaglio??