codice:
/*
* Programma riassuntivo di tutti gli esercizi della scheda 3bis.
*/
package scheda3bis;
import javax.swing.*;
import java.awt.*;
/**
*
* @author Dennis
*/
public class Scheda3bis {
static Esercizio1 es1 = new Esercizio1();
public static void main(String[] args) {
// String menu;
String strSize;
String strMaxElRandom;
int size, maxElRandom;
int scelta;
scelta = StampaMenu();
strSize = JOptionPane.showInputDialog(null, "Inserisci la dimensione dell'array", "Dimensione Array", 0);
strMaxElRandom = JOptionPane.showInputDialog(null, "Inserisci la dimensione massima dell'elemento random", "Massimo elemento random", 0);
size = Integer.parseInt(strSize);
maxElRandom = Integer.parseInt(strMaxElRandom);
createArray(size, maxElRandom);
switch (scelta) {
case 1:
System.out.println("");
//es1.distinti(array);
break;
case 2:
}
System.exit(0);
}
private static int StampaMenu() {
String menu;
int scelta;
menu = JOptionPane.showInputDialog("1. Verifica elementi distinti di un vettore.\n"
+ "2. : Numero di inversioni in un vettore.\n"
+ "3. Massimo elementi unici di un vettore. \n"
+ "4. Numero di coppie in un vettore.\n"
+ "5. Moda di un vettore (elemento più frequente). \n"
+ "6. Massimo degli elementi di una matrice e sua posizione.\n"
+ "7. Scambio di righe e di colonne in una matrice.\n ");
scelta = Integer.parseInt(menu);
return scelta;
}
private static int[] createArray(int size, int maxElRandom) {
int[] array = new int[size];
int length = array.length;
for (int i = 0; i < length; i++) {
array[i] = 1 + (int) (Math.random() * maxElRandom);
System.out.print(array[i] + " ");
}
return array;
}
}
Salve a tutti.
Allora, come si vede, il metodo createArray mi crea un array grande secondo il valore che gli passo dal main.
Nel main c'è uno switch che a seconda del numero che inserisco mi deve richiamare altre funzioni che sono in altre classe.
Ad ogni funzione io gli devo passare l'array creato e la sua dimensione. Ma non capisco come fare. Il metodo createArray mi restituisce solo l'array, mentre io vorrei che mi restituisce anche la length.
Dal main io, ad esempio dovrei richiamare la classe es1.distinti(array, length).
Come si fa?
Questo è il codice della classe Esercizio1
codice:
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package scheda3bis;
import java.util.Scanner;
/**
*
* @author Dennis
*/
public class Esercizio1 {
public void distinti(int[] array, int length){
boolean distinti = true;
int i = 0;
while (i < length && distinti) {
int j = i + 1;
while (j < length && distinti) {
if (array[i] == array[j]) {
distinti = false;
}
j++;
}
i++;
}
if (distinti == false) {
System.out.println("\nI numeri nell'array creato non sono distinti.");
} else {
System.out.println("\nI numeri nell'array creato sono distinti.");
}
}
}
Grazie a tutti per l aiuto