codice:
public class Array {

	Scanner tast = new Scanner(System.in);

	private String[] elementi;
	private int numElementi;

	public Array(String[] a, int i) {
		elementi = a;
		numElementi = 1;
	}

public void print() {
		for (int k = numElementi - 1; k >= 1; k--) {
			for(int j = 0; j <= k - 1; j++)
				if(elementi[j].compareTo(elementi[k]) > 0) {
					String temp = elementi[k];
					elementi[k] = elementi[j];
					elementi[j] = temp;
				}
		}
		for(int n = 0; n < elementi.length; n++)
			System.out.print(elementi[n] + " ");
}
}
Il main è:
codice:
import java.util.Scanner;

public class TestArray {

	public static void main(String[] args) {

		Scanner tast = new Scanner(System.in);

		String[] a1 = {"c", "ci", "s", "p", "ca"};

		Array r1 = new Array(a1, 15);

		System.out.print("array ordinato: ");
		r1.print();
		System.out.println();
	}
}
Questo metodo dovrebbe stampare un array di stringhe in modo ordinato ma funziona in parte. Ordina tutte le parole tranne l'ultima.
Es: String[] a1 = {"c", "ci", "s", "p", "ca"};
Mi stampa: c, ci, p, s, ca.
Come risolvo?
Grazie