E questo è il codice del secondo esercizio:

codice:
import java.io.*;
import java.util.*;

public class PosMaxInt {

   public static int posMax(int [] array, int quanti) {
      int [] tmpMax = new int[2];
      tmpMax[0] = array[0];
      tmpMax[1] = 0;
      for (int t=0; t<quanti; t++) {
         if (array[t] > tmpMax[0]) {
            tmpMax[0] = array[t];
            tmpMax[1] = t;
         }
      }
      return tmpMax[1];
   }

   public static void main(String [] args) {
      InputStreamReader isr = new InputStreamReader(System.in);
      BufferedReader br = new BufferedReader(isr);
      String valore;
      int val;
      int [] numeri;

      System.out.print("Quanti valori leggere: ");
      System.out.flush();
      try {
         valore = br.readLine();
         val = Integer.parseInt(valore);
         numeri = new int[val];
         for (int i=0; i<val; i++) {
            System.out.print("Introdurre il "+(i+1)+"° valore: ");
            System.out.flush();
            valore = br.readLine();
            numeri[i] = Integer.parseInt(valore);
         }
         System.out.println("La posizione del valore massimo è: "+posMax(numeri, val));
      } catch (NumberFormatException nfe) {
         nfe.printStackTrace();
      } catch (IOException ioe) { ioe.printStackTrace(); }
   }
}
Il programma ti restituisce la posizione secondo la lociga dell'array: 0 per la prima, 1 per la seconda, 2 per la terza...
Se vuoi la posizione a partire da 1 basta che modifichi la seguente linea:

codice:
System.out.println("La posizione del valore massimo è: "+posMax(numeri, val));
In questo modo:

codice:
System.out.println("La posizione del valore massimo è: "+posMax(numeri, val)+1);
Ciao.