Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 17
  1. #1

    invocare un metodo con un vector

    Ciao a tutti!
    Sono alle prime armi col java e quindiho un piccolo problema col vector...
    1) nel file provamagazzino.java creo un vector di nome articoli;
    2) ad una certa posizione creo nel vector un oggetto di tipo Articolo;
    3) a questo oggetto Articolo appena creato devo applicare il metodo carica() che si trova in un secondo file dal nome Articolo.java
    Il problema sta proprio al punto 3)!!! :master:
    Per ulteriore chiarezza posto il pezzetto di codice del file provamagazzino.java:



    Spero che mi possiate essere d'aiuto.
    Ciao a tutti!
    #7

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,326
    Manca un CAST.
    Il metodo get() ritorna un Object che va castato a Articolo:
    codice:
    ((Articolo) articoli.get(lLette)).carica();
    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
    Funziona!!!
    Grazie mille!!!
    Ciao!!!
    #7

  4. #4
    Ciao a tutti!
    Scusate, ma ora mi si presenta un altro problema...
    Ora che mi sono fatto dare l'oggetto Articolo, devo applicargli il metodo carica() che si trova nel secondo file Articolo.java (il metodo carica dovrebbe permettermi di caratterizzare l'oggetto Articolo, dotandogli un nome, un codice, la data d'inserimento etc...); io utilizzo questa sintassi:

    String nome;
    JOptionPane.showInputDialog("Inserisci il nome:");
    nome = bufferTastiera.readLine();
    Articolo.addElement(nome);

    però facendo così mi si visualizza un errore che mi dice "cannot find symbol; symbol: method addElement(java.lang.String); location: class Articolo". Ciò significa che il metodo "addElement" non può essere applicato ad una stringa???
    Come posso risolvere questo problema???
    Grazie.
    Ciao
    #7

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    906
    Boh, la classe Articolo l'hai scritta tu.
    Ha un metodo statico che si chiama addElement e che prende come parametro una stringa?

  6. #6
    Non sono ancora molto pratico di java, ma penso di si...
    cmq per maggior chiarezza questo è il codice:

    #7

  7. #7
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    906
    La classe finsce li? Perche' io il metodo proprio non lo vedo.
    In futuro e' piu' comodo se posti il codice come testo invece he come immagine.
    Mettilo tra i tag [*code][*/code] senza *.
    In ogni caso, non mi sembra carino usare una finestra di dialogo in un applicazione da console come e' questa.

  8. #8
    la classe non finisce qui. c'è un altro metodo che si chiama preleva(), ma che non ho ancora scritto perchè prima devo far funzionare questo metodo.
    cmq grazie per la dritta...
    ecco il codice

    codice:
    import java.io.*;
    import java.util.*;
    import javax.swing.*;
    import java.lang.*;
    
    public class Articolo {
    
      public void carica() throws IOException {
    
        InputStreamReader flussoTesto = new InputStreamReader(System.in);
        BufferedReader bufferTastiera = new BufferedReader(flussoTesto);
        
        String nome;
      
        JOptionPane.showInputDialog("Inserisci il nome:");
        nome = bufferTastiera.readLine();
        Articolo.addElement(nome);
        
        }
    
      public void Preleva() throws IOException {
    
        }
      
    }
    Scusa la mia ignoranza, ma il metodo non lo dichiaro con questa stringa: "public void carica() throws IOException"???
    #7

  9. #9
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    906
    Si, dichiari il metodo carica. Il problema e' che dentro questo metodo ti riferisci ad un fantomatico metodo chiamato addElement che nella classe Articolo non c'e'.

  10. #10
    addElement dovrebbe essere un metodo dei vector.
    Io lo utilizzo perchè devo aggiungere delle caratteristiche all'oggetto Articolo, che fa parte di un vector articoli che creo nel file provamagazzino.java
    Magari non si fa così; ma essendo all'inizio non so proprio come si possa fare...
    Cmq magari ti può essere d'aiuto anche il codice dell'altro file...
    codice:
    import java.io.*;
    import java.util.*;
    import javax.swing.*;
    import java.lang.*;
    
    public class provamagazzino 
      {
        public static void main(String[] args) throws IOException
          {
            File fileMagaz = new File("magazzino.txt");
            File fileHTML = new File("tabella.html"); 			
            File fileHTML2 = new File("tabella2.html");
            InputStreamReader flussoTesto = new InputStreamReader(System.in);    
            BufferedReader bufferTastiera = new BufferedReader(flussoTesto);
            String scelta;    
            
            for(;;) {       
            
              scelta=JOptionPane.showInputDialog("Benvenuto! \n" +
              "premi N per creare un nuovo file\n" + 
              "premi D per cancellare il file\n" +
              "premi A per aggiungere prodotto\n" +
              "premi P per prelevare un prodotto\n" +
              "per creare la tabella in HTML catalogata premi:\n" +
              "\tT per nome degli articoli \n" +
              "\tL per locazione \n" +	
              "premi E per uscire dal programma");
              
             switch(scelta.charAt(0)) {
              case 'A':
              case 'a':
                Vector articoli = new Vector();       
                BufferedReader streamTXT = new BufferedReader(new FileReader(fileMagaz));   
                PrintWriter streamFileMagaz = new PrintWriter(new FileWriter(fileMagaz,true)); 
                String lineaLetta = streamTXT.readLine();    
                int lLette=0;                                
                while((lineaLetta = streamTXT.readLine()) != null)      
                  lLette++;                                         
                  articoli.add(lLette, new Articolo());
                  ((Articolo) articoli.get(lLette)).carica();
                streamTXT.close();
              break;
             }
            }
          }
      }
    #7

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 © 2025 vBulletin Solutions, Inc. All rights reserved.