Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    Ordinamento vettore in Applet java

    Salve premetto che mi serve questo per un'esercitazione scolastica, io ho provato a crearne uno da me e non riesco a capire come mai non riesco a visualizzare il risultato su browser..
    vorrei sapere anche se è possibile avere lo stesso applet ma in minor righe di comando e se ne avete qualcuno con qualche veste grafica più carino da darmi....;-)....ho chiesto troppo???spero di no...grazie in anticipo per l'aiuto...;-)

    vi posto il mio file.java:

    codice:
    import java.applet.Applet;
    import java.awt.*;
    import java.io.*;
    import javax.swing.*;
    
    public class Applet5 extends Applet {
    	public void paint(Graphics g) {
    		 // Creazione dello stream per lettura del file
    	    int vet[];
    		int dim;
    		try {
    			BufferedReader filebuf = new BufferedReader(new FileReader("numero.txt")); 
    			String nextStr;
    			vet = new int[100];
    			int elem;
    			int k = 0;
    
    			// Lettura del file	
    			nextStr = filebuf.readLine(); 
    			while (nextStr != null){ 
    			    elem = Integer.parseInt(nextStr);
    			 // Carimento del Vettore
    			    vet[k] = elem;
    
    			    nextStr = filebuf.readLine();
    			    k++;
                            }    
    			dim = k;
    			filebuf.close();
                            Font f = new Font("cruby", Font.BOLD, 14);
    		    // Stampa degli elementi del Vettore
    			int cx = getSize().width/2; 
    			int cy = getSize().height/4;
    			int size = g.getFont().getSize();
    			setBackground(Color.BLACK);
                            g.setFont(f);
    			g.setColor(Color.blue);
                            g.setColor(new Color(255,40,40));
    			
    			for (int i = 0; i < dim; i++) {
    				g.drawString(String.valueOf(vet[i]), cx, cy+size*3*i);
    		    }
                   // Ordina gli elementi del Vettore
                            
                             for (int i = 1; i < dim; i++) {
                         int j = i;
                int B = vet[i];
                while ((j > 0) && (vet[j-1] > B)) {
                    vet[j] = vet[j-1];
                    j--;
                }
                vet[j] = B;
            }
                            // Pannello degli elementi del Vettore ordinato
    			for (int i = 0; i < dim; i++) {
    				JOptionPane.showMessageDialog(null, "Vettore ordinato:"  + vet[i] ); 
    
    		    }
    		} catch (IOException e) {
    			g.drawString("Errore", 50, 50);
    		}
    	}
    }

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328

    Moderazione

    Considerazioni:

    1) Java viene trattato nel forum Java
    2) Il regolamento va letto prima di postare
    3) Il codice, come da regolamento, va postato all'interno degli appositi tag CODE (vedi regolamento per sintassi).

    Correggo ove possibile e sposto.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    azz l'ho fatta grossa allora...scusatemi per la disattenzione ma è stata colpa dell'ansia di risolvere al più presto questo problema....grazie LeleFt ora chi mi aiuterebbe a risolvere il problema???...grazie in anticipo...

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Ordinamento vettore in Applet java

    Originariamente inviato da ldateam
    io ho provato a crearne uno da me e non riesco a capire come mai non riesco a visualizzare il risultato su browser..
    vorrei sapere anche se è possibile avere lo stesso applet ma in minor righe di comando e se ne avete qualcuno con qualche veste grafica più carino da darmi
    Innanzitutto ci sarebbero un po' di cose che dovresti tenere bene presente:

    a) Innanzitutto la scrittura del codice .... come l'hai postato è mal indentato/spaziato e quindi poco leggibile.

    b) Fare la lettura di un file nel metodo paint() è praticamente una eresia .... il metodo paint() non viene invocato solo 1 volta .... ma tutte le volte che il componente deve, per un motivo o per un altro, essere ridisegnato! Essendo in una applet, allora puoi implementare il metodo init(), il cui significato mi sembra ovvio: viene invocato appena dopo che la applet è stata caricata e quindi qui puoi fare le tue inizializzazioni.

    c) Per ordinare il contenuto di un array puoi certamente seguire la strada del "fai-da-te" (non ho guardato/verificato bene quella tua parte ... non so dirti ora se è corretta) se per qualche motivo vuoi o devi implementare tu l'algoritmo di ordinamento.
    Altrimenti ci sono i comodissimi metodi sort() della classe java.util.Arrays.

    E comunque dovresti rivedere bene tutto il tuo codice, così come è ha poco senso.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.