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?

Rispondi quotando

