|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Oct 2006
Città: Palermo\Parma
Messaggi: 5807
|
[Java] Help programmazione
Buongiorno a tutti, chiedo aiuto perchè sto preparando una materia all'università, ma ho difficoltà a fare 2 tipi di esercizi di programmazione.
Porto due esempi per le tipologie, sarebbe di grande aiuto se qualcuno più esperto potesse scrivermi come farlo con i commenti, così da potermi fare poi altri esercizi simili prendendo spunto dalla vostra soluzione 1° tipologia: (l'esercizio richiede l'utilizzo di almeno 2 classi) Si scriva un programma in java per la gestione del recupero informazioni da un archivio contenente i dati degli studenti di una scuola. Si supponga che l'archivio sia già riempitoe contenga i dati di 100 studneti con nome, cognme, data di nascita, indirizzo e classe. Il programma deve fornire una interfaccia che, dati nome e cognome dello studente, permetta di stampare a video l'informazione voluta e di ripetere l'operazione se richiesto. 2° tipologia: Dichiarare una classe con due metodi, il primo legge un array di numeri dato in input da tastiera (dimensione a scelta dell'utente) e lo restituisce in uscita; il secondo metodo riceve in ingresso un array di numero e lo ordina in modo crescente restituendolo in uscita. Dichiarare poi una classe con un metodo main nel quale lo studente utilizzi i due metodi precedenti per chieder di digitare i dati da inserire in un array e restituirlo a video ordinato. Per la seconda tipologia pensavo di utilizzare "scanner" e fare una cosa simile: int [] array = new int [10]; Scanner numeri = new Scanner (System.in); for (int i=0; i<10; i++) { System.out.println("Inserisci numero " +i + ": "); array [i] = numeri.nextInt(); } int temp = 0; temp = array [0]; array [0] = array [9]; array [9] = temp; for (int i = 0; i < array.length; i++) System.out.print(array[i] + " "); Per il resto spero che qualcuno possa aiutarmi perchè l'esame è il 23 e io soprattutto con la prima tipologia sono completamente in alto mare
__________________
Tante trattative concluse con successo - Lenovo Z710
|
|
|
|
|
|
#2 | |
|
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
Ciao Pecio84,
cominciamo con la secondo tipologia, visto che hai postato un po' di codice. La prima cosa da fare è ovviamente leggere il testo dell'esercizio per determinare quali sono i requisiti richiesti, che si devono dunque rispettare, e ciò che invece possiamo fare liberamente. Quote:
Prendendo le indicazioni sottolineate nel testo quotato determiniamo che dovremmo definire i seguenti elementi: - una classe (Applicazione) con due metodi ---- int[] acquireInput() ---- int[] sort(int[] array) - una classe (Esercizio2) con il metodo main, in cui si chiede all'utente di inserire una serie di numeri interi, si usa un'istanza di Applicazione per accedere ai due metodi e usarli per l'acquisizione dell'input da tastiera e il riordino degli elementi dell'array acquisito. Partendo da questa analisi provo a scrivere del codice, una cosa così: Codice:
/**
* Esercizio 2
* from the web: http://www.hwupgrade.it/forum/showthread.php?t=2445646
*/
public class Esercizio2 {
public static void main(String[] args) {
Application app = new Application();
System.out.println("Digitare il numero di interi che si " +
"desisdera inserire, quindi premere [INVIO]");
System.out.println("Poi digitare ogni singolo intero " +
"separato da spazio, quindi premere [INVIO]");
int[] input = app.acquireInput();
int[] sorted = app.sort(input);
System.out.println("L'input ordinato in modo crescente:");
System.out.println(sorted);
}
}
class Application {
/**
* Acquisisce una quantita' di numeri interi determinata
* dall'utente dallo standard input.
*/
public int[] acquireInput() {
return null;
}
/**
* Ordina in modo ascendente un array di interi.
*/
public int[] sort(int[] array) {
return null;
}
}
In acquireInput devo scrivere il codice neccessario e sufficiente a: - acquisire un numero intero dallo standard input (dimensione dell'array) terminato da [INVIO] (assunzione fatta prima) - acquisire una serie di numeri interi separati da [SPAZIO] e treminata da [INVIO] (assunzione fatta prima) - restituire un array di int contente questi numeri In sort devo scrivere il codice neccessario e sufficiente a: - riordinare in senso crescente gli elementi dell'array argomento del metodo - restituire l'array ordinato
__________________
As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) Ultima modifica di banryu79 : 15-02-2012 alle 16:47. |
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Oct 2006
Città: Palermo\Parma
Messaggi: 5807
|
Ciao, intanto grazie mille per l'aiuto
sort non è un qualcosa che abbiamo studiato e quindi in linea teorica non possiamo utilizzarla, per questo ho fatto tutto quel giro...esiste un metodo diverso?
__________________
Tante trattative concluse con successo - Lenovo Z710
|
|
|
|
|
|
#4 | |
|
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
Quote:
Se è così ti chiedo: nel vostro programma/corso di studio non vi hanno introdotto/spiegato/fatto vedere algoritmi di ordinamento? Perchè per implementare il metodo sort (che serve a soddisfare un preciso requisisto del problema dato) serve un algoritmo di ordinamento...
__________________
As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) |
|
|
|
|
|
|
#5 | |
|
Senior Member
Iscritto dal: Oct 2006
Città: Palermo\Parma
Messaggi: 5807
|
Quote:
__________________
Tante trattative concluse con successo - Lenovo Z710
|
|
|
|
|
|
|
#6 | ||
|
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
Quote:
Posto che l'impostazione qui sopra ti vada bene, prova a implementare il metodo acquireInput della classe Application. Quote:
__________________
As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) |
||
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 08:55.










- Lenovo Z710










