Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2003
    Messaggi
    1,258

    [java] programma che non funziona

    ciao a tutti...cos'ha questo programma che non funziona?

    quando lo eseguo al posto che stampare i 2 nomi inseriti nel main, mi stampa NULL NULL....




    codice:
    class Persona{
      private String nome;
      private int età;
      private String capelli;
    
      public Persona(String Nome, int età, String capelli){
        this.nome = nome;
        this.età = età;
        this.capelli = capelli;
      }
      
      public String getNome(){
        return nome;
      }
    }
    
    class Array{
     
      private static int numPosto;
      private Persona[] array = new Persona[30];
    
      public Array(){
        numPosto=0;
      }
    
      public void inserisci(Persona persona){
        this.array[numPosto] = persona;
        numPosto++;
      }
    
      public void visualizzaNomi(){
        for(int i=0;i<numPosto;i++)
          System.out.println(array[i].getNome());
      }
    }
    
    
    
    class Agenda {
      public static void main(String[] arg){
        Persona ragazza1 = new Persona("Maria", 28, "biondi");
        Persona ragazzo1 = new Persona("Stefano", 23, "neri");
        Array array = new Array();
    
        array.inserisci(ragazza1);
        array.inserisci(ragazzo1);
    
        array.visualizzaNomi();
    
      }
    }

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    1,798

    Re: [java] programma che non funziona


    codice:
    class Persona{
      private String nome;
      private int età;
      private String capelli;
    
      public Persona(String Nome, int età, String capelli){
        this.nome = nome;    ^
    .                        |____ scrivi nome
    .
    .
    Ciao.
    Slack? Smack!

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2003
    Messaggi
    1,258
    haaaa grazie! non me ne sarei mai accorto!!

  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2003
    Messaggi
    1,258
    Secondo me è il programma stesso che quando vede che è tutto giusto per non darmela vinta cambia le maiuscole/minuscole per fregarmi, non è possibile se no. Altrimenti perchè ogni volta che vedo che è tutto giusto poi c'è un errore che prima non avevo visto? L'unica spiegazione è che è proprio il programma che è uno stronzo e si cambia da solo..

    ciao ciao
    un saluto a tutti i programmatori

  5. #5
    Utente di HTML.it L'avatar di ChReAn
    Registrato dal
    Aug 2002
    Messaggi
    486
    Ti consiglierei anche due altre piccole cose:

    1) Evitare i caratteri accentati nei nomi delle variabili (problema minore, ma se dovessi scambiare codice con chi non usa font e tastiere italiane potresti incontrare qualche fastidio)

    2) Evitare di chiamare i parametri dei metodi con lo stesso nome delle variabili di classe (capelli, nome), potresti fare confusione tu stesso leggendo il codice e inoltre metteresti il compilatore in condizione di non sapere cosa fare (hai usato "this." per riferirti alle variabili membro, ma questo non ti da' la sicurezza assoluta di non andare incontro a errori).

    ChReAn
    -------------------

    Slackware 9.1 powered

  6. #6
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,301
    Originariamente inviato da ChReAn

    2) Evitare di chiamare i parametri dei metodi con lo stesso nome delle variabili di classe (capelli, nome), potresti fare confusione tu stesso leggendo il codice e inoltre metteresti il compilatore in condizione di non sapere cosa fare (hai usato "this." per riferirti alle variabili membro, ma questo non ti da' la sicurezza assoluta di non andare incontro a errori).

    Questo non è affatto vero: il fatto di usare gli stessi nomi sia per i parametri dei metodi, sia per le variabili di classe AIUTA il programmatore a stendere il programma: MENO COSE DA RICORDARE e soprattutto LE STESSE COSE HANNO LO STESSO NOME (si chiama coerenza)!!

    Il fatto, poi, di aver usato il this DA' LA CERTEZZA che il codice è corretto (cosa che non avviene se non lo si mette, in questi casi).


    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

  7. #7
    Utente di HTML.it L'avatar di ChReAn
    Registrato dal
    Aug 2002
    Messaggi
    486
    Originariamente inviato da LeleFT
    Questo non è affatto vero: il fatto di usare gli stessi nomi sia per i parametri dei metodi, sia per le variabili di classe AIUTA il programmatore a stendere il programma: MENO COSE DA RICORDARE e soprattutto LE STESSE COSE HANNO LO STESSO NOME (si chiama coerenza)!!
    Questione di filosofie. Avendo a che fare con diversi linguaggi di programmazione cerco di adottare metodologie per quanto possibile simili, e non tutti i linguaggi possiedono un orientamento alle classi spiccato come Java.
    Personalmente evito di chiamare parametri di funzione con lo stesso nome di variabili membro: alle volte si puo' generare confusione, soprattutto se i manutentori del codice sono diverse persone.
    Nel dettaglio, ad esempio, in C++ le convenzioni sono quelle di chiamare le variabili di classe (strettamente private, of course) con nomi che iniziano per underscore o per m_, per distinguerle dal resto.
    Questa e' la mia esperienza professionale e non solo , poi e' chiaro che ognuno abbia una propria opinione a riguardo.


    P.S. Per il this hai ovviamente ragione tu, mi ero spiegato male io.

    ChReAn
    -------------------

    Slackware 9.1 powered

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