E questo è il codice del secondo esercizio:
Il programma ti restituisce la posizione secondo la lociga dell'array: 0 per la prima, 1 per la seconda, 2 per la terza...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(); } } }
Se vuoi la posizione a partire da 1 basta che modifichi la seguente linea:
In questo modo:codice:System.out.println("La posizione del valore massimo è: "+posMax(numeri, val));
Ciao.codice:System.out.println("La posizione del valore massimo è: "+posMax(numeri, val)+1);



Rispondi quotando