View Full Version : 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:cry:
Dove posso trovare in internet degli esercizi, e magari con qualche consiglio su come svolgerli oppure con le "soluzioni"???
GRAZIE..;)
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 ;)
Originariamente inviato da kingv
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 ;)
magari... è che però così mi pare di approffitarmene:D
se c'è qualcuno disposto a darmi una mano....:rolleyes: :fiufiu:
Al max solo 1-2 esercizi, ma di quelli un tantino più lunghi, dove c'è un po di tutto su quello che ho fatto...:D
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:D :D :D :D )
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...:cry:
Almeno datemi un po il via... poi mi ci scapoccio un pochino... e se non ci riesco sbatterò la testa su Analisi I :D
a)
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;
}
}
fai tu la parte b, non e' difficile.
posta se hai problemi ;)
Originariamente inviato da kingv
fai tu la parte b, non e' difficile.
posta se hai problemi ;)
ma io è proprio nella parte b che ho più problemi...
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:muro:
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... :cry:
PS: scusa la mia ingnoranza... in questo campo:oink:
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();
}
}
Originariamente inviato da pirella
Poi volevo chiederti una cosa... perchè hai messo "public class Persona" ??? non bastava "class Persona"???
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.
Innanzitutto ti dico grazie... (ancora non te l'avevo detto:muro: )
Poi ti volevo dire che i tuoi consigli mi sono serviti... sto incominciando a prendere il via... MAGARI:muro:
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...:muro: """""
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..:cry:
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.
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;) (sicuramente ne avrò)....
Semmai posto domani... Grazie ancora;)
Originariamente inviato da pirella
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;) (sicuramente ne avrò)....
Semmai posto domani... Grazie ancora;)
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 ;)
Originariamente inviato da kingv
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 ;)
ancora non ci credo... ma ce l'ho fatta...
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)...
:(
Originariamente inviato da pirella
L'unica cosa del corso che mi rimane difficile sono gli array (e anche gli array di array)...
:(
gli array a piu' dimensioni non sono difficili da capire ma e' facile fare errori sugli indici mentre si scrive il codice ;)
^TiGeRShArK^
04-12-2004, 09:39
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:
private String nome;
private String cognome;
private String luogo;
dato ke tanto ci sono i metodi pubblici x accedere a questi valori.....
Originariamente inviato da ^TiGeRShArK^
dato ke tanto ci sono i metodi pubblici x accedere a questi valori.....
hai ragione, è corretto dato che ci sono i getters/setters ;)
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.