
Originariamente inviata da
Klibion
codice:
public static void main(String[] args) {
// TODO Auto-generated method stub
int []array={5,3,7,7,3,10,5};
int numero=2;
System.out.print ("presente una sola volta:");
System.out.println(primaOccorrenza(array,numero));
}
public static boolean primaOccorrenza (int[]a, int pos){
boolean primaOcc=false;
for (int i=0; i<a[pos-1]; i++){
if (a[i]!=a[pos]){
primaOcc=true;
}
} primaOcc=false;
return primaOcc;
}
}
Nella tua funzione verifichi una condizione (giusto), ma SEMPRE imposti primaOcc= false poich� la metti alla fine della tua funzione appena prima del return, (dovresti inserirla in un else dentro il for)
Cosa succede se a numero dai il valore di 0??? ----> ti genera un errore!!!!
Sotto trovi una mia versione funzionante, e commentata, ma puoi fare benissimo a meno 

P.S. la mia versione la puoi anche modificare (in caso dovessi dire dove si trova la prima occorrenza del valore contenuto in a[pos]) ti basterebbe aggiungere un paio di righe!!!!!
codice:
public class test {
public static void main(String[] args) {
// TODO Auto-generated method stub
int []array={7,8,10,7,3,10,5};
int numero=0;
System.out.println("Pima Occorenza,[dell'elemetnto con idice " + numero+"]:"+ primaOccorrenza(array,numero));
}
public static boolean primaOccorrenza (int[]a, int pos){
boolean primaOcc=false;
//Condizioni dove a priori primaOcc risulta false ed e inutile
//fare controlli sull'array
if ((pos >= a.length || pos < 0) || (a==null)){
primaOcc=false;
}else {
//Uso un do while, poiche se entro nell'else almeno una volta devo controllare l'array, inoltre
//con il do-while posso uscire qualora primaOcc risulti false ed e inutile proseguire nella verifica
//dell'array
int i =0;
do{
//Se l'elemento in pos di i e uguale all'elemento in posizione pos AND i risulta minore di pos
//è stato trovato un elemento uguale a a[pos] prima di arrivare a all'elemento con indice pos
if ((a[i] == a[pos]) && (i<pos)){
primaOcc=false;
}
//altrimenti è la prima occorenza
else {
primaOcc = true;
}
i++;
}while (i<=pos && primaOcc);
}
return primaOcc;
}
}