|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Aug 2003
Città: Perugia - Sesso: M
Messaggi: 6987
|
fra una settimana farò il mio primo esame di informatica... sullo JAVA.... ma.... :-(
Fra un po avrò il mio primo esame di informatica (Ing Informatica ed Elettronica)...
Il primo giorno di corso il prof ci ha detto:"Non comprate nessun libro, vi basta scaricare le dispense dal sito internet..." e così ho fatto... La teoria diciamo che la so... ma quello che mi manca sono gli esercizi... sulle dispense ci sono proposti un bel po di esercizi... ma non ci sono le "soluzioni"... insomma io non riesco a fare nulla e non so dove sbaglio e nemmeno posso confrontarlo con un esercizio già svolto Dove posso trovare in internet degli esercizi, e magari con qualche consiglio su come svolgerli oppure con le "soluzioni"??? GRAZIE..
__________________
XtremeHardware Supporter! ||| ||| -->+ di 400 trattative: clicca qui per vederne un elenco parziale... sono troppe <-- ||| REGOLE ed esperienze per poter trattare sul MERCATINO, e NON, con il sottoscritto Ultima modifica di pirella : 27-11-2004 alle 14:49. |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Jan 2001
Città: Milano
Messaggi: 5707
|
ci sono in libreria un sacco di libri "con cdrom allegato", dove ci sono esercizi e soluzioni, ma generalmente sono proprio quelli di livello piu' basso.
la cosa piu' utile è che fai quelli delle dispense, se le soluzioni non ci sono e hai dei dubbi puoi sempre chiedere qui sul forum |
|
|
|
|
|
#3 | |
|
Senior Member
Iscritto dal: Aug 2003
Città: Perugia - Sesso: M
Messaggi: 6987
|
Quote:
se c'è qualcuno disposto a darmi una mano.... Al max solo 1-2 esercizi, ma di quelli un tantino più lunghi, dove c'è un po di tutto su quello che ho fatto... fra un po posto il testo dell'esercizio e il programma svolto ( non vorrei risolverlo in un modo troppo diverso da quello che vuole il prof da un alunno del primo corso, lo dico perchè so che qui sul forum ci sono delle bestie di programmatori che sfornano dei programmi assurdi, e assolutissimamente fuori dalla mia portata |
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Aug 2003
Città: Perugia - Sesso: M
Messaggi: 6987
|
Questo è il programma del mio primo Corso:
# Introduzione alla programmazione orientata agli oggetti Introduzione alla programmazione orientata agli oggetti: oggetti, stato e comportamento degli oggetti, classi. Introduzione al linguaggio di programmazione Java. Ambiente di programmazione; editing, compilazione e esecuzione. Primi esempi di applicazioni Java. # Elementi di programmazione in Java Oggetti, invio di messaggi agli oggetti e invocazione di metodi. Sintassi e semantica di un linguaggio di programmazione. Variabili e istruzione di assegnazione. Creazione di oggetti; costruttori. Definizione di classi; definizione di metodi; metodi con parametri; definizione di costruttori; variabili d’istanza; metodi che restituiscono valori; metodi di classe. Tipi primitivi di Java: tipi numerici interi, tipi numerici razionali; il tipo char; il tipo boolean; operatori su tipi primitivi; conversione tra tipi e operatore di conversione esplicita. La classe String. Istruzioni di controllo di Java; istruzioni strutturate; istruzioni condizionali; istruzioni ripetitive. Array; array unidimensionali e array bidimensionali. Un Esercizio per esempio è questo: ESERCIZIO Si vuol definire una classe Persona, i cui oggetti rappresentino persone con un nome, cognome, e luogo di nascita. Il comportamento degli oggetti di tipo Persona è definito dai metodi di istanza che hanno i seguenti prototipi (tutti i metodi devono essere public). /* imposta il nome della persona con la stringa specificata */ void setNome (String nome) /* imposta il cognome della persona con la stringa specificata */ void setCognome (String cognome) /* imposta il luogo di nascita della persona con la stringa specificata */ void setLuogoDiNascita (String luogo) /* restituisce il nome della persona sotto forma di stringa */ String getNome () /* restituisce il cognome della persona sotto forma di stringa */ String getCognome () /* restituisce il luogo di nascita della persona sotto forma di stringa */ String getLuogoDiNascita () /* visualizza una descrizione completa della persona, specificando il suo nome, cognome e luogo di nascita. */ void presentati () Inoltre la classe Persona deve contenere la definizione di due costruttori, aventi le seguenti signature (i costruttori sono public). /* crea un oggetto di tipo Persona con nome, cognome e luogo di nascita vuoti */ Persona () /* crea un oggetto di tipo Persona con nome, cognome e luogo di nascita specificati */ Persona (String nome, String cognome, String luogo) (a) Scrivere la classe Persona, definendone le proprietà ed implementando i costruttori ed i metodi di istanza sopra elencati. (b) Scrivere una semplice classe di test per la classe Persona. Tale classe conterrà il solo metodo speciale main, il quale svolge le seguenti azioni. Crea due oggetti della classe Persona, utilizzando in un caso il costruttore senza parametri e nell’altro caso il costruttore con parametri. Per l’oggetto creato tramite il costruttore senza parametri, imposta il nome, cognome e luogo di nascita, invocando su di esso i relativi metodi di istanza. Visualizza una descrizione completa dei due oggetti creati, utilizzando sia i metodi getProprietà sia il metodo presentati. Mia Prova: non la trovo più quella che credevo si avvicinasse di più alla soluzione... ne ho provate sovrascritte così tante che nemmeno mi ricordo come era... Almeno datemi un po il via... poi mi ci scapoccio un pochino... e se non ci riesco sbatterò la testa su Analisi I |
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Jan 2001
Città: Milano
Messaggi: 5707
|
a)
Codice:
public class Persona
{
String nome;
String cognome;
String luogo;
void setNome (String nome)
{
this.nome=nome;
}
void setCognome (String cognome)
{
this.cognome=cognome;
}
void setLuogoDiNascita (String luogo)
{
this.luogo=luogo;
}
String getNome ()
{
return nome;
}
String getCognome ()
{
return cognome;
}
String getLuogoDiNascita ()
{
return luogo;
}
public void presentati ()
{
System.out.println("Io sono " + nome + " " + cognome + " nato a " + luogo);
}
public Persona ()
{
nome = new String();
cognome = new String();
luogo = new String();
}
public Persona (String nome, String cognome, String luogo)
{
this.nome=nome;
this.cognome=cognome;
this.luogo=luogo;
}
}
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Jan 2001
Città: Milano
Messaggi: 5707
|
fai tu la parte b, non e' difficile.
posta se hai problemi |
|
|
|
|
|
#7 | |
|
Senior Member
Iscritto dal: Aug 2003
Città: Perugia - Sesso: M
Messaggi: 6987
|
Quote:
nella parte a) ci sono arrivato che devo impostare tre variabili e i metodi che già mi ha dato lui... l'unica cosa che non avevo capito è come si crevano i costruttori... o almeno non sapevo da dove dovevo partire per farlo Poi volevo chiederti una cosa... perchè hai messo "public class Persona" ??? non bastava "class Persona"??? il metodo main, lo devo creare in un altro file oppure nello stesso dove ho creato la classe Persona??? come vedi, non ci ho capito niente di questo metodo main... so solo cosa è... ma non come fare per farl ointeragire con le classi da me create... Per esempio nel'esempio precedente non posso eseguire perchè mi manca appunto il metodo main... PS: scusa la mia ingnoranza... in questo campo |
|
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Jan 2001
Città: Milano
Messaggi: 5707
|
Codice:
public class Test
{
public static void main(String[] args)
{
Persona p1 = new Persona();
Persona p2 = new Persona("Michael", "Schumacher", "Kerpen");
p1.setNome("Jarno");
p1.setCognome("Trulli");
p1.setLuogoDiNascita("Pescara");
System.out.println("P1 Nome: " + p1.getNome());
System.out.println("P1 Cognome: " + p1.getCognome());
System.out.println("P1 Luogo di nascita: " + p1.getLuogoDiNascita());
p1.presentati();
System.out.println("P2 Nome: " + p2.getNome());
System.out.println("P2 Cognome: " + p2.getCognome());
System.out.println("P2 Luogo di nascita: " + p2.getLuogoDiNascita());
p2.presentati();
}
}
|
|
|
|
|
|
#9 | |
|
Senior Member
Iscritto dal: Jan 2001
Città: Milano
Messaggi: 5707
|
Quote:
poiche' generalmente vuoi che una classe sia visibile ovunque, anche all'esterno del proprio package (che in questo caso è il package di default). se non indichi nulla da un ipotetico package xyz la classe non sarà referenziabile. |
|
|
|
|
|
|
#10 |
|
Senior Member
Iscritto dal: Aug 2003
Città: Perugia - Sesso: M
Messaggi: 6987
|
Innanzitutto ti dico grazie... (ancora non te l'avevo detto
Poi ti volevo dire che i tuoi consigli mi sono serviti... sto incominciando a prendere il via... MAGARI Ho iniziato a fare un altro esercizio : --------La classe Data contiene il solo metodo speciale main che effettua le seguenti azioni: - Fa inserire all’utente una data sotto forma di stringa, nel seguente formato: “gg/mm/aaaa”. - Visualizza all’utente un messaggio che dice se la stringa inserita rappresenta o meno una data valida del calendario, in base alle seguenti regole: - i mesi che hanno 30 giorni sono: Novembre, Aprile, Giugno e Settembre. - Febbraio può avere 29 o 28 giorni, a seconda che l’anno sia bisestile o meno. Essendo la regola dell’anno bisestile piuttosto complessa (comprende delle eccezioni), si supponga che un anno sia bisestile se e solo se è divisibile per 4. - Tutti gli altri mesi hanno 31 giorni. ----------------- io ho iniziato e credo anche di sapere come si procede, ma non ci riesco: public class Data{ public static void main(String[] arg){ String gg, mm, aaaa; ReadStream in; in=new ReadStream(); System.out.println("inserisci una data nel formato gg/mm/aaaa"); gg=in.readString(); mm=in.readString(); aaaa=in.readString(); """"dovrebbe continuare ma... In pratica questo pezzo di codice che ho scritto funziona... e da quello che ho pensato dovrei per completarlo fare una "cascata" di if ed else... in pratica gli dovrei dire se il giorno inserito è maggiore di 31 non va bene (ma solo per alcuni mesi)... se il mese è maggiore di 12 non va bene, e per l'anno ho pensato che se il resto ottenuto dalla divione dell'anno inserito diviso 4 = 0, allora l'anno è bisestile... e allora febraio ha 28 giorni... a parole secondo me ce la faccio... ma con il codice no.. |
|
|
|
|
|
#11 |
|
Senior Member
Iscritto dal: Jan 2001
Città: Milano
Messaggi: 5707
|
secondo me dovresti leggere giorno mese e anno in un solo momento, non in tre passaggi differenti.
in ogni caso quando hai ottenuto giorno/mese/anno devi implementare una serie di controlli la cui implementazione non è complicata. Sicuramente ci saranno una serie di if per testare le condizioni, tipo che il giorno deve essere maggiore di zero e minore o uguale al numero di giorni del mese. perche' pensi di non farcela? provaci e posta il codice se non va. |
|
|
|
|
|
#12 |
|
Senior Member
Iscritto dal: Aug 2003
Città: Perugia - Sesso: M
Messaggi: 6987
|
va bene... allora tu dici di inserire la data tutta in una botta e poi cercherò di fare quello che mi hai detto... se ho problemi posto
Semmai posto domani... Grazie ancora |
|
|
|
|
|
#13 | |
|
Senior Member
Iscritto dal: Jan 2001
Città: Milano
Messaggi: 5707
|
Quote:
sì, anche se e' piu' complicato leggere una sola stringa e poi "spezzettarla" nei tre elementi mi sembra quello che richiede il programma. magari lascialo per ultimo, implementa prima la parte dei controlli |
|
|
|
|
|
|
#14 | |
|
Senior Member
Iscritto dal: Aug 2003
Città: Perugia - Sesso: M
Messaggi: 6987
|
Quote:
in pratica bisognava (dopo aver inserito la data sottoforma di striga) fare un substring e trasformare le tre variabili(giorno, mese,anno) in int per poter poi implementare la parte dei controlli... In questa settimana mi sono dato da fare con gli esercizi, e diciamo che sto sempre assimilinado di più... L'unica cosa del corso che mi rimane difficile sono gli array (e anche gli array di array)... |
|
|
|
|
|
|
#15 | |
|
Senior Member
Iscritto dal: Jan 2001
Città: Milano
Messaggi: 5707
|
Quote:
gli array a piu' dimensioni non sono difficili da capire ma e' facile fare errori sugli indici mentre si scrive il codice |
|
|
|
|
|
|
#16 |
|
Senior Member
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
|
non se se posso essere utile, ma da noi di solito i prof rompevano se in una classe non dichiaravamo le variabili interne private.....
Nella classe Persona, quindi scriverei: Codice:
private String nome; private String cognome; private String luogo;
__________________
|
|
|
|
|
|
#17 | |
|
Senior Member
Iscritto dal: Jan 2001
Città: Milano
Messaggi: 5707
|
Quote:
hai ragione, è corretto dato che ci sono i getters/setters |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 14:01.



















