Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11

Discussione: [Java] String args[]

  1. #1

    [Java] String args[]

    Studio da poco java e in ogni prg che finora ho incontrato c'è sempre questa riga :

    --> public static void main( String args[] ) <--


    a cosa serve "String args[]"?
    E' tutta colpa di Berlusconi !
    Help [Ciclico] Fisco, domande varie

    Avatar

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    22
    per ricevere stringhe dalla barra dei comandi dell'ms-dos

    es quando mandi in esecuzione il prog dal prompt:

    java NomeClasse string0
    string0 sara contenuto in args[0] puoi mettere anche piu stringhe

  3. #3
    Originariamente inviato da Maveric
    per ricevere stringhe dalla barra dei comandi dell'ms-dos

    es quando mandi in esecuzione il prog dal prompt:

    java NomeClasse string0
    string0 sara contenuto in args[0] puoi mettere anche piu stringhe
    non ho capito...in pratica avverte che nel prg saranno presenti stringhe anche se alla fine ci sono solo variabili int?

    inoltre...al posto di string args[] posso scrivere altre cose?
    E' tutta colpa di Berlusconi !
    Help [Ciclico] Fisco, domande varie

    Avatar

  4. #4
    no.... vediamo se è + chiaro così
    il metodo
    public static main
    è l'entry point del tuo programma java. deve essere dichiarato obbligatoriamente con un parametro di tipo array di stringhe. Esempio

    codice:
    public static main(String[] parametri)
    come vedi dall'esempio il nome di tale array nn deve essere necessariamente args.
    Questa variabile contiene tutti i parametri che tu passi a riga di comando quando richiami il programma. Esempio se tu scrivi la classe

    codice:
    public class Prova{
      public static main(String[] parametri){
        System.out.println(parametri[0]);
      }
    }
    e poi esegui tale classe a riga di comando così'
    codice:
     java Prova ciaoooooo
    il tuo programma farà un semplice display della stringa "ciaoooooo". Se però richiami il tutto senza argomenti
    codice:
     java Prova
    ti verrà restituito un'errore runtime, in quanto nel metodo main si cercherà di accedere all'elemento di indice 0 di un array vuoto.


  5. #5
    Originariamente inviato da Popper
    no.... vediamo se è + chiaro così
    il metodo
    public static main
    è l'entry point del tuo programma java. deve essere dichiarato obbligatoriamente con un parametro di tipo array di stringhe. Esempio

    codice:
    public static main(String[] parametri)
    come vedi dall'esempio il nome di tale array nn deve essere necessariamente args.
    Questa variabile contiene tutti i parametri che tu passi a riga di comando quando richiami il programma. Esempio se tu scrivi la classe

    codice:
    public class Prova{
      public static main(String[] parametri){
        System.out.println(parametri[0]);
      }
    }
    e poi esegui tale classe a riga di comando così'
    codice:
     java Prova ciaoooooo
    il tuo programma farà un semplice display della stringa "ciaoooooo". Se però richiami il tutto senza argomenti
    codice:
     java Prova
    ti verrà restituito un'errore runtime, in quanto nel metodo main si cercherà di accedere all'elemento di indice 0 di un array vuoto.
    aspè..forse ho capito!

    In pratica con args[] diciamo che il programma chiederà stringhe all'utente invece di passarle direttamente ,senza chiedere all'utente, quando richiami il programma con java? :master:
    E' tutta colpa di Berlusconi !
    Help [Ciclico] Fisco, domande varie

    Avatar

  6. #6
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,303
    No... il parametro (che è un array di stringhe) serve a contenere EVENTUALI parametri passati al programma. Tu puoi passarne o meno, ma se li passi, questi verranno memorizzati in questo array. Se non ne passi, questo array sarà vuoto.

    Il fatto che sia obbligatorio metterlo questo parametro (anche se il tuo programma non ne fa uso) è perchè così è specificato nel prototipo del main.


    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
    esempio stupido: supponiamo che notepad.exe sia scritto in java; a riga di comando puoi richiamare

    notepad
    o
    notepad nomefile

    nel primo caso l'array dei parametri sarà vuoto, nel secondo conterrà una stringa con il nome del file.
    Spero di non averti fatto ancora + casino


  8. #8
    ok..fin qui mi sembra tutto chiaro!

    un ultima cosa...ci sono alternative a String args[] ?

    ad esempio int args[] esiste?o float []?o ect...ect..
    E' tutta colpa di Berlusconi !
    Help [Ciclico] Fisco, domande varie

    Avatar

  9. #9
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,303
    No: non ci sono alternative. Il prototipo del main vuole un array di stringhe.

    Tu, al programma, puoi passare qualsiasi cosa (stringhe, numeri, caratteri), per avere il corrispondente tipo ti basta un casting attraverso le varie classi wrapper.

    Per esempio, se come primo parametro hai passato un intero (e sai che è un intero) puoi usare questa istruzione per avere l'intero nella variabile 'numero':

    numero = Integer.parseInt(args[0]);


    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

  10. #10
    Originariamente inviato da LeleFT
    No: non ci sono alternative. Il prototipo del main vuole un array di stringhe.

    Tu, al programma, puoi passare qualsiasi cosa (stringhe, numeri, caratteri), per avere il corrispondente tipo ti basta un casting attraverso le varie classi wrapper.

    Per esempio, se come primo parametro hai passato un intero (e sai che è un intero) puoi usare questa istruzione per avere l'intero nella variabile 'numero':

    numero = Integer.parseInt(args[0]);


    Ciao.

    ok , grazie per la spiegazione!
    E' tutta colpa di Berlusconi !
    Help [Ciclico] Fisco, domande varie

    Avatar

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.