.dsy:it.
Show 150 posts per page

.dsy:it. (http://www.dsy.it/forum/)
- Fondamenti di architettura e programmazione (http://www.dsy.it/forum/forumdisplay.php?forumid=234)
-- ORALE HAUS: aiuto (http://www.dsy.it/forum/showthread.php?threadid=940)


Posted by publi on 19-09-2002 13:43:

ORALE HAUS: aiuto

Chi mi risponde a queste due domande?

- Descrivete la gestione della memoria, così come è implementata nella JVM, durante l'esecuzione di un programma Java

- Sviluppate una applicazione Java che legga da tastiera una serie di lunghezza non determinata di parole; ordini in modo crescente tali parole e visualizzi sullo schermo l'elenco ordinato.

Grazie mille...

:D :-D :) :-)


Posted by korn on 19-09-2002 13:52:

il programma ORDINAPAROLE già esiste nell'area files, l'unica differenza è che in questo caso non sono 100 ma X parole da inserire, quindi invece di dichiarare l'array in questo modo:

code:
String[] parole = new String[100];


si fa cosi' (ci sono altri metodi, questo è uno):

code:
int quante = Integer.parseInt(JOptionPane.showInputDialog("Quante parole?")); String parole[] = new String[quante];


e poi esegui il ciclo di input come sempre:

code:
for (int i = 0; int < parole.length; i++) { // lettura dati da tastiera }


:)

__________________
» Collect some stars to shine for you, and start today ‘cause there are only a few. _ (In Flames)
» Don't stop for nothing, it's full speed or nothing! I'm taking down, you know, whatever is in my way! _ ('tallica)
» I am my own god, I do as I please. _ (Pain)
» Ninetynine, ninetynine knives! Ninetynine knives inside! Nobody gets out alive! _ (The Haunted)
Web: http://www.negativesignal.com - ICQ# 171585477 - Death to software patents! And TCPA too! "e uno!", diceva il boia.


Posted by publi on 20-09-2002 15:21:

Programmino

Così può funzionare?

import javax.swing.*;

class applicazione {
public static void main(String[] args) {

String vettore[] = creaArray (); //invocazione del metodo per la creazione del vettore

for ( int i=0; i<vettore.length; i++ ) //lettura da tastiera delle parole
vettore[i] = Double.parseDouble(JOptionPane.showInputDialog( null, "Scrivi la "+(i+1)+" parola"));

bubbleSort ( vettore ); //invocazione del metodo per l'ordinamento degli elementi

System.out.println ("Parole ordinate in senso crescente");
for ( int i=0; i<vettore.length ; i++ )
System.out.println ( vettore [i] );

System.exit ( 0 ); // termina il programma
}

//metodo che crea un array di n elementi di tipo double (numeri frazionari a doppia precisione)

public static double[] creaArray( int size ) {
String vettore[];
vettore = new String[size];
for ( int i=0; i<size ; i++ )
vettore[i] = 0; //inizializzazione di tutti gli elementi a zero
return vettore;
}

// ordina gli elementi dell'array utilizzando un algoritmo di ordinamento a bolle
public static void bubbleSort( double b[] ) {
for ( int pass = 1; pass < b.length; pass++ ) // primo ciclo for
for ( int i = 0; i < b.length - 1; i++ ) // secondo ciclo for
if ( ( b[ i ] > b[ i + 1 ] ) ) // confronto
swap( b, i, i + 1 ); // scambio
}

// metodo per lo scambio dei 2 elementi
public static void swap( double c[], int primo, int secondo ) {
double hold; // variabile temporanea per lo swap
hold = c[ primo ];
c[ primo ] = c[ secondo ];
c[ secondo ] = hold;
} }

:idea: :?: :!: :wink:


Posted by korn on 20-09-2002 15:48:

eh, temo proprio di no!!!!
hai cercato di fondere DoubleSort e OrdinaParole eh???? :)

ok, ti dò la soluzione, ma prima:

DOVUTA PRECISAZIONE: il seguente programma non è opera mia, l'autore originale è WEBNOISE! io l'ho solo modificato per accettare un numero indefinito di parole e non 100 fisse come in origine.

:)

ecco il risultato:

code:
import javax.swing.*; public class Ordinaparole { public static void main(String[] args) { // creiamo il nostro array int quante = Integer.parseInt(JOptionPane.showInputDialog("Quante parole vuoi inserire?")); String a[] = new String [quante]; //vettore di 100 elementi di tipo Stringa //ciclo for per l'input delle x parole da tastiera for (int i=0; i<a.length ; i++ ) a[i] = JOptionPane.showInputDialog( null, "Inserisci la " + (i+1) + " parola"); //richiama il metodo per l'ordinamento a bolle ( bubbleSort ) //input il vettore (array) da ordinare bubbleSort( a ); String output =""+ "\n\nParole ordinate lessicograficamente\n"; // buffer stringa: inizializzazione e titolazione // **************** FILTRO ELIMINAZIONE DUPLICATI ***************************** for ( int i = 0; i < a.length; i++ ) if (a[i]!="~") output += "\n" + a[ i ]; //concatena le parole e le mette nel //buffer stringa: se trova il carattere ~ (duplicati) li ignora System.out.println(output); //visualizza le parole ordinate lessicograficamente System.exit (0); //esce } // ordina gli elementi dell'array utilizzando un algoritmo di ordinamento // a bolle (BubbleSort). //Vedi capitolo 7 libro Java - Fondamenti di programmazione Deitel&Deitel public static void bubbleSort( String b[] ) { for ( int pass = 1; pass < b.length; pass++ ) // primo ciclo for for ( int i = 0; i < b.length - 1; i++ ) // secondo ciclo for if ( (b[ i ].compareTo(b[ i + 1 ])==0)) // primo confronto: se esistono //parole uguali le contrassegna con ~ b [ i ] = "~" ; else { if ( (b[ i ].compareTo(b[ i + 1 ])>0) ) // confronto e ordinamento lessicografico swap( b, i, i + 1 ); // scambio } } // metodo che scambia due stringhe nell'array di stringhe public static void swap( String c[], int primo, int secondo ) { String temp; // variabile String temporanea per effettuare lo scambio temp = c[ primo ]; c[ primo ] = c[ secondo ]; c[ secondo ] = temp; } }


compilalo e vedi se funge!!

__________________
» Collect some stars to shine for you, and start today ‘cause there are only a few. _ (In Flames)
» Don't stop for nothing, it's full speed or nothing! I'm taking down, you know, whatever is in my way! _ ('tallica)
» I am my own god, I do as I please. _ (Pain)
» Ninetynine, ninetynine knives! Ninetynine knives inside! Nobody gets out alive! _ (The Haunted)
Web: http://www.negativesignal.com - ICQ# 171585477 - Death to software patents! And TCPA too! "e uno!", diceva il boia.


Posted by publi on 20-09-2002 22:56:

ringraziamenti

Ok ti ringrazio veramente tanto...
Java sarà il mio incubo!
:? :? :? :?


All times are GMT. The time now is 12:57.
Show all 5 posts from this thread on one page

Powered by: vBulletin Version 2.3.1
Copyright © Jelsoft Enterprises Limited 2000 - 2002.