Salve a tutti
Scusate per la domanda elementare che sto per farvi, ma sono un novellino in programmazione java
io ho fatto questo programma con eclipse:
codice:
public class studenti1 {
private static String nome;
private static String cognome;
private static int matricola;
private static int voto;
private static char sesso;
public studenti1 (String nome, String cognome, int matricola, int voto, char sesso) {
this.nome = nome;
this.cognome = cognome;
this.matricola = matricola;
this.voto = voto;
this.sesso = sesso;
}
public static void main(String[] args) {
int NumeroStudenti = 5;
String [] nome;
nome=new String[NumeroStudenti];
String [] cognome;
cognome=new String[NumeroStudenti];
int [] matricola;
matricola=new int[NumeroStudenti];
int [] voto;
voto=new int[NumeroStudenti];
char [] sesso;
sesso=new char[NumeroStudenti];
for(int i=0 ; i<NumeroStudenti ; i++){
System.out.print("inserisce nome: ");
nome [i]=Input.readString();
System.out.print("inserisci cognome: ");
cognome [i]=Input.readString();
System.out.print("inserisci matricola: ");
matricola [i] = Input.readInt();
System.out.print("inserisci voto: ");
voto [i] = Input.readInt();
System.out.print("inserisci sesso: ");
sesso [i]= Input.readChar();
for(int c = 0; c < voto.length; c++) {
for(int j = 0; j < voto.length-1; j++) {
//Se l' elemento j e maggiore del successivo allora
//scambiamo i valori
if(voto[j]>voto[j+1]) {
int k = voto[j];
voto[j] = voto[j+1];
voto[j+1] = k;
}
}
}
}
for(int i=0 ; i<NumeroStudenti ; i++){
System.out.println(nome[i]);
System.out.println(cognome[i]);
System.out.println(matricola[i]);
System.out.println(voto[i]);
System.out.println(sesso[i]);
}
}
}
Ho fatto copia incolla di un algoritmo bubble sort dentro il main
Diciamo che funziona, però ho un problema: con NumeroStudenti = 3 il primo valore di voto me lo segna 0, praticamente "perde" il voto più basso
con NumeroStudenti = 5 mi restituisce 0 ai primi 2, poi però i restanti 3 li ordina
mi potete dare una mano? dove ho sbagliato?