Esempi JAVA: differenze tra le versioni
Da Bioingegneria Elettronica e Informatica.
(→Passaggio per valore e Passaggio per reference) |
(→Passaggio per valore e Passaggio per reference) |
||
Riga 114: | Riga 114: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | == | + | == Scambio di due elementi all'interno di un vettore == |
− | + | ||
− | + | ||
− | + | ||
− | == | + | <syntaxhighlight lang="java" line> |
+ | public class Principale { | ||
+ | |||
+ | public static void main(String[] args) { | ||
+ | |||
+ | new Principale().run(); | ||
+ | } | ||
+ | |||
+ | public void run() { | ||
+ | // Vettore formato da due elementi | ||
+ | int[] v = {3,5}; | ||
+ | |||
+ | // Stampo il valore delle due variabili prima dello scambio | ||
+ | System.out.println("La prima componente del vettore vale: " + v[0]); | ||
+ | System.out.println("La seconda componente del vettore vale: " + v[1]); | ||
+ | |||
+ | // Effettuo lo scambio | ||
+ | scambia(v); | ||
+ | |||
+ | // Stampo il valore delle due variabili dopo lo scambio | ||
+ | System.out.println("La prima componente del vettore vale: " + v[0]); | ||
+ | System.out.println("La seconda componente del vettore vale: " + v[1]); | ||
+ | |||
+ | |||
+ | // Generalizzazione a vettore formato da N elementi in cui indico le componenti da scambiare | ||
+ | // Vettore formato da N elementi | ||
+ | int N = 10; | ||
+ | int i = 0; | ||
+ | int[] vett = new int[N]; | ||
+ | |||
+ | for(i = 0; i < N; i++) | ||
+ | vett[i] = i+1; | ||
+ | |||
+ | int ind1 = 3; | ||
+ | int ind2 = 8; | ||
+ | // Stampo il vettore prima dello scambio | ||
+ | for(i = 0; i < N; i++) | ||
+ | System.out.print(vett[i] + " "); | ||
+ | System.out.println(); | ||
+ | |||
+ | // Effettuo lo scambio | ||
+ | scambia_componenti(vett, ind1, ind2); | ||
+ | |||
+ | // Stampo il vettore dopo dello scambio | ||
+ | for(i = 0; i < N; i++) | ||
+ | System.out.print(vett[i] + " "); | ||
+ | System.out.println(); | ||
+ | } | ||
+ | |||
+ | /** | ||
+ | * Funzione scambia funzionante | ||
+ | * @param V | ||
+ | */ | ||
+ | public void scambia(int[] V) { | ||
+ | int temp; | ||
+ | temp = V[0]; | ||
+ | V[0] = V[1]; | ||
+ | V[1] = temp; | ||
+ | |||
+ | } | ||
+ | |||
+ | /** | ||
+ | * Funzione di scambio delle componenti in posizione c1 e c2 del vettore V | ||
+ | * @param V | ||
+ | * @param c1 | ||
+ | * @param c2 | ||
+ | */ | ||
+ | public void scambia_componenti(int[] V, int c1, int c2) { | ||
+ | int temp; | ||
+ | temp = V[c1]; | ||
+ | V[c1] = V[c2]; | ||
+ | V[c2] = temp; | ||
+ | } | ||
+ | } | ||
+ | </syntaxhighlight> |
Versione delle 10:45, 22 mar 2017
Hello World
Esercizio introduttivo a JAVA. Il seguente codice mostra a video la stringa "Hello World !"
/* Questo è il primo programma in JAVA
* e inizia con un commento multilinea
*/
// Commento su singola linea
/**
* Uso della javadoc
* Questo programma deve stampare sullo standard output, ovvero la console,
* la stringa "Hello World !"
*
* @author antonio
*
*/
public class Principale {
/**
* Metodo di avvio del programma
* @param args argomenti passati dalla linea di comando
*/
public static void main(String[] args) {
// Standard output
System.out.println("Hello World !");
}
}
Uso delle funzioni: Doppio e Somma
/** Programma per mostrare il funzionamento di:
* 1. Funzione chiamante (main) e funzione chiamata;
* 2. Variabili locali e parametri (valori) attuali;
* 3. Passaggio per Valore;
*
* @author antonio
*
*/
public class Principale {
public static void main(String[] args) {
new Principale().run();
}
public void run() {
// Dichiarazione e inizializzazione delle variabili origin, origin2 e result
int origin = 3;
int origin2 = 5;
int result = 0;
System.out.println("Doppio di una variabile");
// Stampa in console del valore attuale di origin
System.out.println("Il valore di origin è: " + origin);
/* Calcolo il doppio della variabile origin:
* 1. chiamo la funzione doppio
* 2. salvo il risultato nella variabile result
*/
result = doppio(origin);
// Stampa in console il valore di result
System.out.println("Il valore di result è: " + result);
System.out.println("Somma di due variabili");
// Stampa in console del valore attuale di origin e origin2
System.out.println("Il valore di origin è: " + origin);
System.out.println("Il valore di origin2 è: " + origin2);
// Calcolo la somma di origin e origin2
result = somma(origin, origin2);
// Stampa in console il valore di result
System.out.println("Il valore di result è: " + result);
}
/**
* Funzione per calcolare il doppio di un valore
* @param val
* @return
*/
public int doppio(int val) {
// Dichiaro la variabile res per salvare il doppio della variabile val
int res = 0;
res = val * 2;
// Restituzione di res
return res;
}
/**
* Funzione per calcolare la somma di due addendi
* @param add1
* @param add2
* @return
*/
public int somma(int add1, int add2) {
// Codice compatto che fa la somma di add1 e add2 e restituisce il risultato
return add1 + add2;
}
}
Scambio di due elementi all'interno di un vettore
public class Principale {
public static void main(String[] args) {
new Principale().run();
}
public void run() {
// Vettore formato da due elementi
int[] v = {3,5};
// Stampo il valore delle due variabili prima dello scambio
System.out.println("La prima componente del vettore vale: " + v[0]);
System.out.println("La seconda componente del vettore vale: " + v[1]);
// Effettuo lo scambio
scambia(v);
// Stampo il valore delle due variabili dopo lo scambio
System.out.println("La prima componente del vettore vale: " + v[0]);
System.out.println("La seconda componente del vettore vale: " + v[1]);
// Generalizzazione a vettore formato da N elementi in cui indico le componenti da scambiare
// Vettore formato da N elementi
int N = 10;
int i = 0;
int[] vett = new int[N];
for(i = 0; i < N; i++)
vett[i] = i+1;
int ind1 = 3;
int ind2 = 8;
// Stampo il vettore prima dello scambio
for(i = 0; i < N; i++)
System.out.print(vett[i] + " ");
System.out.println();
// Effettuo lo scambio
scambia_componenti(vett, ind1, ind2);
// Stampo il vettore dopo dello scambio
for(i = 0; i < N; i++)
System.out.print(vett[i] + " ");
System.out.println();
}
/**
* Funzione scambia funzionante
* @param V
*/
public void scambia(int[] V) {
int temp;
temp = V[0];
V[0] = V[1];
V[1] = temp;
}
/**
* Funzione di scambio delle componenti in posizione c1 e c2 del vettore V
* @param V
* @param c1
* @param c2
*/
public void scambia_componenti(int[] V, int c1, int c2) {
int temp;
temp = V[c1];
V[c1] = V[c2];
V[c2] = temp;
}
}