Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2004
    Messaggi
    378

    passare valori di input tramite comandi

    Salve ragazzi,
    premetto che sono un newbi di java,ho cominciato da un mesetto quindi siate comprensivi


    mi ritrovo il seguente problema:

    ho creato una classe Griglia dove in una griglia (array bidimensionale) vengono inseriti dei caratteri che indicano un tipo di pedina.

    ora io ho usato la classe scanner per passare i valori della larghezza e numero di pedine di cui deve essere riempita la griglia di gioco.

    ora però vorrei implementare il main in modo che io gli dia i comandi da shell e lui li riconosca tramite il nome del comando che gli immetto.

    del tipo:
    (comando) (valore)
    -grandezza 5(altezza) 5 (larghezza)
    (comando) (valore)
    -numeroPedine 5

    e lui riconosca quei parametri in base al comando che sussegue il "-"
    cosa mi consigliate?

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: passare valori di input tramite comandi

    Originariamente inviato da XvOg1
    e lui riconosca quei parametri in base al comando che sussegue il "-"
    cosa mi consigliate?
    Basta che esamini l'array di String che il main() riceve.
    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
    Jan 2004
    Messaggi
    378
    il problema è che io l input glielo volevo dare tutto in una volta cosi:

    -griglia 5 5 -numeroPedine 5

    oppure se un giorno mi va di invertire fare:

    -numeroPedine 5 -griglia 5 5


    potresti darmi qualche dritta perfavore?

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da XvOg1
    il problema è che io l input glielo volevo dare tutto in una volta cosi:

    -griglia 5 5 -numeroPedine 5

    oppure se un giorno mi va di invertire fare:

    -numeroPedine 5 -griglia 5 5


    potresti darmi qualche dritta perfavore?
    Appunto, tu nel main hai un array di String.

    codice:
    public static void main (String[] args) {
        ...
    }
    Supponendo di eseguire: java TuaClasse -griglia 5 5 -numeroPedine 5

    avrai che

    args[0] = "-griglia"
    args[1] = "5"
    args[2] = "5"
    args[3] = "-numeroPedine"
    args[4] = "5"

    Quindi si tratta solo di fare un ciclo ed esaminare gli argomenti. L'argomento args[i] è uguale a "-griglia"? Allora sai che devono seguire 2 parametri e pertanto valuterai args[i+1] e args[i+2].

    Chiaramente c'è da fare tutta una serie di controlli: potrebbero non esserci le opzioni che ti aspetti, potrebbero esserci meno parametri di quelli che ti aspetti, i numeri potrebbero essere malformati, ecc....
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2004
    Messaggi
    378
    ho capito ma il mio problema è che i metodi della classe Griglia utilizzato tipi int,ho rpovato a fare una serie di cast ma mi dice che da tipo string a int e impossibile convertire..

    e ora?

  6. #6
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da XvOg1
    ho capito ma il mio problema è che i metodi della classe Griglia utilizzato tipi int,ho rpovato a fare una serie di cast ma mi dice che da tipo string a int e impossibile convertire..
    Ovvio.

    Integer.parseInt(unaStringa) che ritorna un int oppure Integer.valueOf(unaStringa) che ritorna un Integer. Quest'ultimo caso sarebbe utile mettendo inizialmente ad esempio:

    Integer numeroPedine = null;

    perché così puoi sapere se numeroPedine ti è stato passato oppure no. Tanto se stai usando Java 5 o superiore, la funzionalità di "auto-boxing" ti permette di usare un Integer in tutti i casi in cui è richiesto un int (e viceversa).
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

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.