Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2015
    Messaggi
    81

    Domanda su dichiarazione attributi classe

    Salve a tutti.
    Ho questa domanda da farvi: io ho una classe a cui ho definito gli attributi:
    codice:
    public class XorSplit extends Xor {
    	
    	String InputEdge;
    	String InputToken;
    	String GatewayName;
    	String EdgeName;
    	String EdgeToken;
    	String xorsplit;
    ad esempio: ho un arrayList che contiene ,in indici diversi, valori che devono essere sempre dichiarati come String EdgeToken. la difficoltà sta nel fatto che io non saprò mai quanti ce ne sono...quindi come devo fare per salvare questi valori come String EdgeToken e successivamente stamparli?
    grazie dell'aiuto

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da simo9115 Visualizza il messaggio
    ho un arrayList che contiene ,in indici diversi, valori che devono essere sempre dichiarati come String EdgeToken. la difficoltà sta nel fatto che io non saprò mai quanti ce ne sono...quindi come devo fare per salvare questi valori come String EdgeToken e successivamente stamparli?
    Scusa ma non è molto chiaro .... un ArrayList contiene stringhe. Ok. Ma cosa c'entra con una singola String EdgeToken? Quindi questo EdgeToken cosa dovrebbe contenere e soprattutto in che formato (visto che è una stringa)?
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2015
    Messaggi
    81
    Quote Originariamente inviata da andbin Visualizza il messaggio
    Scusa ma non è molto chiaro .... un ArrayList contiene stringhe. Ok. Ma cosa c'entra con una singola String EdgeToken? Quindi questo EdgeToken cosa dovrebbe contenere e soprattutto in che formato (visto che è una stringa)?
    per farti capire meglio cosa voglio intendere io:
    ho un arrayList chiamato XorPointDivision formata da :

    XorPointDivision: "signavio:sid-8D5C98CA-A20A-4264-93CF-ECDF6224901C"
    XorPointDivision: 0
    XorPointDivision: "nonamegat"
    XorPointDivision: "signavio:SequenceFlow_1"
    XorPointDivision: 0
    XorPointDivision: "signavio:sid-E3D5ED09-D303-4195-8E27-516CF4D132AF"
    XorPointDivision: 0

    gli ultimi 4 campi (evidenziati in rosso) li devo assegnare alle variabili:
    codice:
    String EdgeName; <- qui va "signavio:SequenceFlow_1" e "signavio:sid-E3D5ED09-D303-4195-8E27-516CF4D132AF"
    String EdgeToke; <- qui va "0" e "0";
    e vorrei ottenere un ipotetico risultato:
    codice:
    String EdgeName = "signavio:SequenceFlow_1"
    String EdgeName = "signavio:sid-E3D5ED09-D303-4195-8E27-516CF4D132AF"
    String EdgeToken = 0
    String EdgeToken = 0
    non so se ora sono riuscito a farmi capire...

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Direi di no, anzi, ora è tutto più confuso di prima.
    Oltretutto non si capisce che nesso ci sia tra l'ArrayList e le eventuali istanze della tua classe XorSplit.

    Cerca di fare chiarezza, mostra un esempio completo di ciò che hai e ciò che vuoi ottenere (e, soprattutto, spiega che c'entra quella tua classe XorSplit che nell'esempio qui sopra non hai nemmeno menzionato se non come riferimento di alcuni suoi campi, tra l'altro duplicati).


    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

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2015
    Messaggi
    81
    e sinceramente mi è un po difficile...scriverlo...anche perchè il progetto è parecchio complesso all'interno della classe XorSplit sono presenti alcuni metodi per prendere degli elementi da una stringa e salvarli all'interno di un arrayList (XorPointDivision sopra citato) e fino qui ci sono riuscito. ora devo costruire la mia classe XorSplit andando a prendere gli elementi dentro l'arrayList e assegnarli a quelle variabili sopracitate. solo che per quanto riguarda String EdgeName String EdgeToken nn ho un solo elmento ma bensi n elementi da assegnare a quelle variabili

  6. #6
    Per quanto posso aver capito.
    Devi assegnare n variabili, e memorizzare i codici nella classe XorSplit

    Per far questo, a mano a mano che estrai i valori devi istanziarti n volte la classe XorSplit e assegnarle i valori e poi salvare ogni istanza in un vector o lista concatenata.
    scrivo parte in pseudocodice e parte in codice (anche perché non conosco la tua classe XorSplit)
    codice:
    LinkedList<XorSplit> list=new LinkedList<XorSplit>();
    
    do {
       //Mi estraggo il valore
       ...
    
      //istanzio la classe che accetterà uno di questi valori
       XorSplit spl=new  XorSplit (name, token); //ma non so se la tua classe ha questo costruttore
     
      list.add(spl);
    }
    while (ciclo XorPointDivision );
    All'interno di list avrai tutte le istanze con i tuoi valori salvati.
    Spero che era questo che intendevi.
    Ciao.
    I computer sono incredibilmente veloci, accurati e stupidi.
    Gli uomini sono incredibilmente lenti, inaccurati e intelligenti.
    Insieme sono una potenza che supera l'immaginazione.

    A.Einstein

  7. #7
    Utente di HTML.it
    Registrato dal
    Apr 2015
    Messaggi
    81
    Quote Originariamente inviata da schumy2000 Visualizza il messaggio
    Per quanto posso aver capito.
    Devi assegnare n variabili, e memorizzare i codici nella classe XorSplit

    Per far questo, a mano a mano che estrai i valori devi istanziarti n volte la classe XorSplit e assegnarle i valori e poi salvare ogni istanza in un vector o lista concatenata.
    scrivo parte in pseudocodice e parte in codice (anche perché non conosco la tua classe XorSplit)
    codice:
    LinkedList<XorSplit> list=new LinkedList<XorSplit>();
    
    do {
       //Mi estraggo il valore
       ...
    
      //istanzio la classe che accetterà uno di questi valori
       XorSplit spl=new  XorSplit (name, token); //ma non so se la tua classe ha questo costruttore
     
      list.add(spl);
    }
    while (ciclo XorPointDivision );
    All'interno di list avrai tutte le istanze con i tuoi valori salvati.
    Spero che era questo che intendevi.
    Ciao.
    no nn è proprio così...nn devo richiamare la classe per assegnare i valori alle variabili ma devo creare un metodo all'interno della classe stessa ,cioè XorSplit, che mi faccia la funziona di assegnazione

  8. #8
    Quote Originariamente inviata da simo9115 Visualizza il messaggio
    non devo richiamare la classe per assegnare i valori alle variabili
    ma devo creare un metodo all'interno della classe stessa ,cioè XorSplit, che mi faccia la funziona di assegnazione
    scusa ma non richiami sempre la stessa classe bensì istanze diverse della stessa classe.
    perdonami ma credimi ti spieghi in maniera criptica...
    Tu dici che la classe XorSplit è già esistente? E' stata gia istanziata? dati devono essere messi nella stessa variabile della stessa istanza oppure in istanze diverse della stessa classe?
    prova a spiegarti meglio.
    Ultima modifica di schumy2000; 13-04-2016 a 10:19
    I computer sono incredibilmente veloci, accurati e stupidi.
    Gli uomini sono incredibilmente lenti, inaccurati e intelligenti.
    Insieme sono una potenza che supera l'immaginazione.

    A.Einstein

  9. #9
    Utente di HTML.it
    Registrato dal
    Apr 2015
    Messaggi
    81
    Quote Originariamente inviata da schumy2000 Visualizza il messaggio
    scusa ma non richiami sempre la stessa classe bensì istanze diverse della stessa classe.
    perdonami ma credimi ti spieghi in maniera criptica...
    Tu dici che la classe XorSplit è già esistente? E' stata gia istanziata? dati devono essere messi nella stessa variabile della stessa istanza oppure in istanze diverse della stessa classe?
    prova a spiegarti meglio.
    chiedo scusa a te a tutti quanti...sono agli inizi che della programmazione e ancora nn so spiegarmi molto bene. vi posto il codice forse riuscirete a capire meglio:
    Main:
    codice:
    String xorsplit = "\"signavio:sid-8D5C98CA-A20A-4264-93CF-ECDF6224901C\" . 0,    \"nonamegat\",edges(\"signavio:SequenceFlow_1\" . 0 and \"signavio:sid-E3D5ED09-D303-4195-8E27-516CF4D132AF\" . 0))";
    
    XorSplit xorsplit1 = new XorSplit(xorsplit);
            ArrayList <String> TokenXor = xorsplit1.TokenXor();
            for(String a : TokenXor)
            System.out.println("TokenXor: "+a);
            String subedges = xorsplit1.extractEdges(TokenXor.get(2));
            System.out.println("edges: "+subedges);
            ArrayList <String> SplitEdges = xorsplit1.SplitEdges(subedges);
            for(String b : SplitEdges)
                System.out.println("SplitEdges: "+b);
           ArrayList <String> Xor = xorsplit1.Xor(TokenXor, SplitEdges);
            for(String c : Xor)
                System.out.println("Xor: "+c);
            ArrayList <String> XorPointDivision = xorsplit1.XorPointDivision(Xor);
            for(String f : XorPointDivision)
                System.out.println("XorPointDivision: "+f);
            xorsplit1.setXorSplit(XorPointDivision);
            //xorsplit1.stampaXorSplit();
    Xor(superclasse):
    codice:
    ublic class Xor {
        
        String xor;
        
        public Xor(String xor)
        {
            this.xor = xor;
        }
        
        public ArrayList<String> TokenXor()
        {
            ArrayList<String> TokenXor = new ArrayList<String>();
            StringTokenizer st = new StringTokenizer(xor, ",");
            while (st.hasMoreTokens())
                {
                    TokenXor.add(st.nextToken());
                }
            return TokenXor;    
        }    
        
        public String extractEdges(String edges)
        {
                String subedges = "";
                
                if(edges.startsWith("edges"))
                {
                    subedges = edges.substring(6, edges.length()-2);
                    
                }        
                return subedges;
                        
        }
        
        public ArrayList<String> SplitEdges(String subedges)
        {
            String[] strValues = subedges.split("and");
            ArrayList<String> SplitEdges = new ArrayList<String>(Arrays.asList(strValues));                
            return SplitEdges;    
        }
        
        public ArrayList<String> Xor(ArrayList<String> TokenXor, ArrayList<String> SplitEdges)
        {
            ArrayList<String> Xor = new ArrayList<String>();
            Xor.add(TokenXor.get(0));
            Xor.add(TokenXor.get(1));
            for(int i=0; i<SplitEdges.size();i++)
            {
                Xor.add(SplitEdges.get(i));
                
            }
        ;
            
            return Xor;
        }
        
        public ArrayList<String> XorPointDivision(ArrayList<String> Xor)
        {
            ArrayList<String> XorPointDivision = new ArrayList<String>();
            for(int i=0; i<Xor.size(); i++)
            {
                StringTokenizer st = new StringTokenizer(Xor.get(i), ".");
                while (st.hasMoreTokens())
                    {
                        XorPointDivision.add(st.nextToken());
                    }
            }
            
            return XorPointDivision;    
        }
     
    }
    XorSplit:
    codice:
    public class XorSplit extends Xor {
        
        String InputEdge;
        String InputToken;
        String GatewayName;
        String EdgeName;
        String EdgeToken;
        String xorsplit;
        
        public XorSplit(String xorsplit)
        {
            super(xorsplit);
            this.xorsplit = xorsplit;        
        }
        
        public void setXorSplit (ArrayList<String> XorPointDivision)
        {
            for(int i = 0; i<XorPointDivision.size();)
            {
            this.InputEdge = XorPointDivision.get(i);
            System.out.println("InputEdge : "+InputEdge);
            i++;
            this.InputToken = XorPointDivision.get(i);
            System.out.println("InputToken: "+InputToken);
            i++;
            this.GatewayName = XorPointDivision.get(i);
            System.out.println("GatewayName: "+GatewayName);
            i++;
            this.EdgeName = XorPointDivision.get(i);
            System.out.println("EdgeName: "+EdgeName);
            i++;
            this.EdgeToken = XorPointDivision.get(i);
            System.out.println("EdgeToken: "+EdgeToken);
            i++;
            }
            
        }
        
        
        public void stampaXorSplit()
        {
            System.out.println("InputEdge : "+InputEdge);
            System.out.println("InputToken: "+InputToken);
            System.out.println("GatewayName: "+GatewayName);
            System.out.println("EdgeName: "+EdgeName);
            System.out.println("EdgeToken: "+EdgeToken);
            
        }
    }
    i dati devono essere messi nella stessa variabile della stessa istanza.
    Io vorrei solo sapere se è possibile salvare + dati nella stessa variabile e successivamente stamparli oppure devo creare nuove variabili(però come faccio a creare nuove variabili se non so quante me ne servono?)
    Ultima modifica di simo9115; 13-04-2016 a 10:51

  10. #10
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Ovviamente, come in tutti i linguaggi di programmazione (e come in algebra), una variabile può contenere uno ed un solo valore.
    Quello che puoi fare è avere una variabile di tipo "array" o "lista"...
    Un array è un elenco di N variabili tutte indirizzate dallo stesso nome + un indice.
    Una lista è pressoché la stessa cosa (dal punto di vista prettamente semplicistico) solo che può "espandersi" quando la sua capacità non è sufficiente a contenere altri valori.

    Ma queste sono davvero le basi basilari (non è un gioco di parole) del linguaggio... cose che dovrebbero essere studiate e capite saldamente prima di mettersi a costruire programmi complessi.

    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

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.