Visualizzazione dei risultati da 1 a 6 su 6

Discussione: Domanda su Linkedlist

  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2013
    Messaggi
    2

    Domanda su Linkedlist

    Salve, mi sono appena iscritto e ho delle domande da porvi :
    Devo fare una biblioteca in java con varie opzioni, aggiungere, togliere, modificare libri etc...
    uso una LinkedList di oggetti libri (con attributi titolo, autore, isbn, editore, genere). Ora, devo confrontare il codice isbn del nuovo libro inserito con quelli dei libri presenti, per non aggiungerlo due volte. Ci ho provato, non mi da errore ma comunque non viene inserito nella lista.

    gli passo l'oggetto libro e il codice isbn. il problema dovrebbe stare nella condizione if

    codice:
    public void add(libro l, int isbn){
      
            libro b = null;
    
             // lista.add(l);
    
            for(int i=0;i<lista.size();i++){
                
                b = lista.get(i);
                
                int n = b.isbn;
            
            if(isbn!=n){
                
            lista.add(l);
            
              
                
            }
            else{
                
                JOptionPane.showMessageDialog(null,"Libro gia presente","Errore",JOptionPane.ERROR_MESSAGE);
            }
        }
            
        }
    scusate l'ignoranza



    ////////////////////

    Visto che devo usare un'interfaccia grafica, sono spuntate fuori cose che non riesco a capire, come ad esempio questo :
    codice:
        private void jaggiungiActionPerformed(java.awt.event.ActionEvent evt) {                                          
            // TODO add your handling code here:
             b lista = new b();
            
         
            String t = jtitolo.getText();
            String a =jautore.getText();
            String cc =jisbn.getText();
            int c=Integer.parseInt(cc);
            String e =jeditore.getText();
            String g =jgenere.getText();
            
             
            libro lib = new libro(t,a,c,e,g);
            
             lista.add(lib);
            
            
             lista.stamp();
          
        }                                         
    
        private void jvisualizzaActionPerformed(java.awt.event.ActionEvent evt) {                                            
    
          b lista = new b();  
        
          lista.stamp();
            
        }
    Se voglio visualizzare la lista con il secondo metodo non me la visualizza invece con il primo si. tutto dovrebbe stare nel metodo lista.add().

  2. #2

    Moderazione

    Benvenuto sul forum! Ti ricordo che il codice va specificato tra tag [CODE] ... [/CODE], altrimenti perde l'indentazione.

    Ora correggo io, in futuro imposta correttamente la discussione fin da subito; nel frattempo ti consiglio di dare un'occhiata al regolamento.
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3
    Potresti postarci anche la classe Libro ?

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2013
    Messaggi
    2
    codice:
     
    public class libro {
        
        int isbn;
        String titolo;
        String autore;
        String editore;
        String genere;
        
        public libro(String titolo,String autore,int isbn,String editore,String genere){
            
            this.autore=autore;
            this.editore=editore;
            this.genere=genere;
            this.titolo=titolo;
            this.isbn=isbn;
        }
    }

  5. #5
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802

    Re: Domanda su Linkedlist

    Originariamente inviato da necro0

    codice:
          b lista = new b();  
        
          lista.stamp();
            
        }
    Se voglio visualizzare la lista con il secondo metodo non me la visualizza invece con il primo si. tutto dovrebbe stare nel metodo lista.add().
    Non capisco... Cosa dovrebbe stampare questa roba? Stai creano un b (che non si sa che cosa sia...) e poi chiami stamp... Ma immagino che all'inizio "lista" non abbia nulla dentro...

    Comunque cerca di dare dei nomi DECENTI a oggetti, metodi e variabili. Cose come
    codice:
      String t = jtitolo.getText();
            String a =jautore.getText();
            String cc =jisbn.getText();
            int c=Integer.parseInt(cc);
            String e =jeditore.getText();
            String g =jgenere.getText();
    non si possono vedere


    E gli attributi vanno dichiarati private con getter e setter
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  6. #6
    hai dato agli attributi visibilità package, come ha consigliato Alex87 rendili privati e accedi ad essi con dei metodi accessori, altrimenti rendili pubblici (Cosa sconsigliatissima violeresti il principio di incapsulazione del paradigma OOP) se è a scopo didattico

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.