Primo codice, utilizzo dell'ereditarietà e polimorfismo

di il
46 risposte

46 Risposte - Pagina 2

  • Re: Primo codice, utilizzo dell'ereditarietà e polimorfismo

    C'e' una soluzione piu' semplice, ed e' leggere il manuale di Java al capitolo riguardante le costanti!

    Non c'e' nulla fa inventare!
  • Re: Primo codice, utilizzo dell'ereditarietà e polimorfismo

    Allora ragazzi, per il momento mi ritengo soddisfatto di quanto ho raggiunto in parte il mio scopo:

    public static void main(String[] args) {
    base.BASE=16;
    base[] mieiCifre={new base(15,3), new base(11,2), new base(11,1), new base(1,0)};
    arrayCifre cifre=new arrayCifre (mieiCifre);
    System.out.println(cifre.stringaBit());
    System.out.println(cifre.getSomma());
    }
    }

    Dove con BASE stabilisco la base
    mie cifre è un'array della base scelta dove creo tante cifre con cifra ed esponente
    cifra*base^esponente
    e con il toString riscrivo il metodo per ricavarmi le lettere nel caso in cui parliamo di un esadecimale
    nella stampa
    F*16^3=61440
    B*16^2=2816
    B*16^1=176
    1*16^0=1

    64433
    ora basta in input una stringa dove mi ricavo cifra ed esponente
  • Re: Primo codice, utilizzo dell'ereditarietà e polimorfismo

    Michele Genchi ha scritto:


    		base.BASE=16;
    		base[] mieiCifre={new base(15,3), new base(11,2), new base(11,1), new base(1,0)};
    		arrayCifre cifre=new arrayCifre (mieiCifre);
    Questa cosa di cui ti ritieni soddisfatto, a dire il vero, non è nulla di granché sensato. E nemmeno "object oriented" (un campo BASE statico!!). Se vuoi solo giocherellare per provare qualcosa così a caso ... beh, puoi giocherellare quanto vuoi, è chiaro.
    E quindi tutto il discorso iniziale del parsing che fine ha fatto?

    Ascolta, sei capace di fare un metodo che senza usare funzionalità di parsing/decoding offerte dal framework effettui il parsing di un numero in stringa in una certa base?? (dimenticando per il momento il "negativo")
    int val = myNumberParse("361100", 8);
    Che deve risultare in 123456 (361100 in ottale)

    Perché se non riesci in questo .... molto lontano non vai ...

    P.S. e presupponendo che il secondo parametro "base" possa valere da 2 (binario) a 16 (esadecimale).
  • Re: Primo codice, utilizzo dell'ereditarietà e polimorfismo

    Tranquillo, subiscono il colpo, sono qui per imparare proprio da voi. Accetto le critiche perché sono il pane è nutella per chi ha fame come me di imparare... Ora rielaboro quello che mi hai detto e butto giù altro codice
  • Re: Primo codice, utilizzo dell'ereditarietà e polimorfismo

    Public class Main {

    public static void main(String[] args) {
    // TODO Auto-generated method stub
    String val="FBB1";
    int valNum;
    try {
    valNum=Integer.parseInt(val, 16);
    System.out.println(valNum);}
    catch (Exception e) {
    System.out.println("Stringa ERRATA");
    }
    }
    }
    in effetti fa tutto Java
    Vedi che hai fatto bene grazie!!!
    Ance il mio ex manager mi insultava quando programmavo in Oracle ma non mi dava alcuna dritta
  • Re: Primo codice, utilizzo dell'ereditarietà e polimorfismo

    Michele Genchi ha scritto:


    			valNum=Integer.parseInt(val, 16);


    "senza usare funzionalità di parsing/decoding offerte dal framework" ?
  • Re: Primo codice, utilizzo dell'ereditarietà e polimorfismo



    Che ho sbagliato ?
  • Re: Primo codice, utilizzo dell'ereditarietà e polimorfismo

    Michele Genchi ha scritto:


    Che ho sbagliato ?
    "fare un metodo che senza usare funzionalità di parsing/decoding offerte dal framework effettui il parsing di un numero in stringa in una certa base"

    Dicesi questa "esercitazione didattica" e serve più che altro per vedere se chi la svolge è in grado di ragionare ....
  • Re: Primo codice, utilizzo dell'ereditarietà e polimorfismo

    Michele Genchi ha scritto:




    Che ho sbagliato ?
    NON DEVI USARE i vari Integer.parseInt, Double. parseDouble, ...!

    Ma fare tu il parsing!

    "C1A0C1CC10"

    quanto vale in BINARIO?
    E in DECIMALE?
  • Re: Primo codice, utilizzo dell'ereditarietà e polimorfismo

    Perccato
    perché in quel modo faceva tutto java
    rileva anche le eccezioni ed il gioco è fatto
    Quindi non provo neanche a postare il mio codice
  • Re: Primo codice, utilizzo dell'ereditarietà e polimorfismo

    Michele Genchi ha scritto:


    perccato
    perché in quel modo faceva tutto java
    rileva anche le eccezioni ed il gioco è fatto
    Io allora, onestamente, non ho capito il senso di tutta la discussione che hai iniziato tu!
    Bene, ora hai scoperto parseInt di Integer .... e allora? Quindi?
  • Re: Primo codice, utilizzo dell'ereditarietà e polimorfismo

    Che certamente tu avrai la soluzione migliore, xche io sto studiando ora java ed il fatto che mi piace non serve, mi sto applicando e prendo spunti dai consigli x rielaborare nuovo codice ...
    Io voglio pian piano abituarmi alla programmazione oriented buttando codice su codice anche sbagliato... Java più che un linguaggio è un nuovo modo di impostare la propria logica... Ed è il segreto x poi programmare bene, se al momento ci capitano sarà senz'altro xche tu parli oriented io parlo come uno che sta imparando l'oriented
  • Re: Primo codice, utilizzo dell'ereditarietà e polimorfismo

    Un linguaggio di programmazione e' a tutti gli effetti come una lingua straniera.

    Quando studi una nuova lingua straniera, per prima cosa devi studiare la grammatica , quindi un po' di verbi, aggettivi e nomi, ed inizi a dire le prime semplici frasi.

    A questo punto, qualcuno ti corregge se dici delle frasi che non hanno senso, o grammaticalmente scorrette.

    NON inizi a mettere assieme parole di quella lingua a casaccio e un po' alla volta ad abituarti alla nuova lingua!

    Programmare e' esattamente la stessa cosa: chi ti corregge e' il compilatore (se scrivi un programma sintatticamente non corretto) o il funzionamento del programma stesso (se il programma non fa quello che ti aspetti).

    La programmazione OOP non si impara andando per tentativi!

    C'e' un percoso da fare! E se non viene fatto, il risultato e' solo quello di trovarsi di fronte a difficolta' insormontabili per la mancanza delle dovute conoscenze di base!

    Ora, fare il parsing di una stringa come "C1A0C1CC10" da esadecimale a decimale e' BANALE: vengono utilizzate SOLO conoscenze elementari di programmazione!

    1) che cosa e' un numero intero
    2) che cosa e' la rappresentazione decimale (o in un'altra base) di un numero
    3) cosa vuol dire scandire un vettore
    4) che cosa e' un carattere
    5) che cosa e' un vettore
    6) che cosa e' un ciclo
    7) che cosa sono le 4 operazioni
    che cosa e' un algoritmo.

    Se non hai chiari questi concetti, e' decisamente complicato aiutarti!
    Non solo, ma risulta anche poco divertente doverti spiegare argomenti che si trovano nei primi capitoli di qualunque libro di Principi di Programmazione.

    La programmazione ad OGGETTI si impara DOPO aver capito che cosa vuol dire programmare, e DOPO aver imparato a programmare in modo PROCEDURALE, perche' la OOP e' un'evoluzione della prima!

    Quindi, ti sono state date (da me e dagli altri utenti) tutte le informazioni per IMPLEMENTARE un semplice algoritmo per la conversione di una stringa in un numero intero. Se non le hai capite, allora e' necessario andare a ristudiare sul libro!

    Noi possiamo spiegarti specifici punti, chiarirti particolari modi di programmare, NON farti un corso di Principi di Programmazione.
  • Re: Primo codice, utilizzo dell'ereditarietà e polimorfismo

    Sono a pag.308 di un manuale che è ben scritto e sto capendo quello che c'è scritto; gli argomenti che mi hai elencato sono tra i primi studiati, forze la mia disponibilità a imparare è stata fraintesa, tra l'altro le cose elencate sono tutte scritte nel mio nuovo codice.
  • Re: Primo codice, utilizzo dell'ereditarietà e polimorfismo

    Michele Genchi ha scritto:


    Sono a pag.308 di un manuale che è ben scritto e sto capendo quello che c'è scritto; gli argomenti che mi hai elencato sono tra i primi studiati, forze la mia disponibilità a imparare è stata fraintesa, tra l'altro le cose elencate sono tutte scritte nel mio nuovo codice.
    Buon per te!
    Non ho capito che cosa intendi per forse la mia disponibilità a imparare è stata fraintesa, ma va bene lo stesso !
Devi accedere o registrarti per scrivere nel forum
46 risposte