|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Jan 2001
Città: Villanova di Guidonia (RM)
Messaggi: 1079
|
[JAVA] Scioglietemi dei dubbi
Salve a tutti. Sono un principiante per quanto riguarda l'ambito della programmazione (ho programmato solo in Visual Basic). All'Università ci insegnano a programmare in Java e visto che fra un pò ho l'esame
1) Per quanto riguarda il ciclo Do, quando mi accorgo che conviene usarlo e quando no? Magari vi posto un'esercizio che mi hanno dato con la soluzione. 2)Come faccio ad associare, per fare un esempio, il voto di un esame ad un determinato registro? Oppure a restituire il voto di un determinato registro? Spero proprio che mi aiutate sono nella m***a più totale |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Jan 2001
Città: Villanova di Guidonia (RM)
Messaggi: 1079
|
import java.io.*;
public class RegistroBase{ private static Statino leggiStatino(BufferedReader r) throws Exception{ String n, c, d ,v; n=r.readLine(); if (n==null) return null; c=r.readLine(); d=r.readLine(); v=r.readLine(); int iv=Integer.parseInt(v); int ic=Integer.parseInt(c); return new Statino(n, ic, d, iv); } public static Statino[] leggiRegistro(String filename) throws Exception{ FileReader f=new FileReader(filename); BufferedReader r=new BufferedReader(f); Statino s=null; //conta quanti blocchi nel file int count =0; do{ s=leggiStatino(r); if (s!=null) count++; }while (s!=null); if (count == 0) return null; f=new FileReader(filename); r=new BufferedReader(f); Statino [] vec=new Statino[count]; count =0; do{ s=leggiStatino(r); if (s!=null) { vec[count]=s; count++; } }while (s!=null); return vec; } } Questa ad esempio è una classe che non riesco a capire cosa diavolo fa. Perché poi usa il Do? |
|
|
|
|
|
#3 |
|
Bannato
Iscritto dal: Nov 2001
Città: Verona
Messaggi: 1086
|
La più classica delle risposte sul do-while: l'istruzione do-while esegue sicuramente almeno una volta il contenuto del ciclo.
Da un'altra prospettiva, il blocco del ciclo viene eseguito prima dell'istruzione di controllo. Quest'ultima particolarità è quella che vedi nel tuo programma: Codice:
Statino s=null;
do{
s=leggiStatino(r);
if (s!=null) count++;
}while (s!=null);
Codice:
Statino s=null;
while((s=leggiStatino(r))!=null) {
count++;
}
Il pezzo di programma legge un file che contiene una serie di rappresentazioni di oggetti Statino. Il primo ciclo do-while è usato per contare quanti oggetti Statino ci sono nel file. Il numero di oggetti è usato per inizializzare l'array che sarà restituito dal metodo. Il secondo ciclo serve per riempire l'array creato: noterai che è pressochè identico al primo salvo che, stavolta, gli oggetti Statino vengono infilati nell'array "vec". E' stato un professore a scrivere quel pezzo di codice? Per associare un voto ad un registro ti serve qualcosa che rappresenti un Registro. Molto dipende da com'è strutturato il tuo progetto, ma in generale un oggetto personalizzato (le cui caratteristiche siano avere un nome che lo identifichi e contenere un elenco di "voti") è un'idea molto "Java". |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Jan 2001
Città: Villanova di Guidonia (RM)
Messaggi: 1079
|
Grazie spero di aver capito ora!!! Cmq non lo so se è stato un prof. a scriverlo.
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 20:35.



















