|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Member
Iscritto dal: Jan 2008
Città: Alcamo (TP)
Messaggi: 45
|
[Java] Come passare a main un array di int da riga di comando?
Ciao a tutti,
![]() avrei questo piccolo problema. Dovrei passare al main una serie di numeri interi che scrivo da riga di comando quando lancio il programmino. Per esempio: java Prova 34 87 -1 8 545 In questo caso il programma si chiama Prova e deve allocare un array di int che contiene quei valori. Grazie per l'aiuto. |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
dato che la firma del metodo main prende in ingresso un array o vararg di tipo String, passerai da riga di comando i tuoi numeri che ti arrivano come oggetti String.
Codice:
java Prova 13 4 56 8 2234 Codice:
import java.util.ArrayList; import java.util.List; public class Prova { // application entry-point public static void main(String[] args) { Prova p = new Prova(args); p.printNumbers(); } // lista dei numeri inseriti List<Integer> myNumbers; // aquisisci i numeri passati come argomento da linea di comando: // stampa un messaggio in caso di errore private Prova(String[] args) { myNumbers = new ArrayList<Integer>(args.length); try { for (String s : args) { Integer number = Integer.parseInt(s); myNumbers.add(number); } } catch (NumberFormatException e) { System.err.println("Errore: bisogna passare solo numeri interi come argomenti."); } } // stampa i numeri collezionati public void printNumbers() { for (Integer number : myNumbers) { System.out.println(number); } } } Codice:
public class Prova { // application entry-point public static void main(String[] args) { Prova p = new Prova(args); p.printNumbers(); } // lista dei numeri inseriti int[] myNumbers; // aquisisci i numeri passati come argomento da linea di comando: // stampa un messaggio in caso di errore private Prova(String[] args) { myNumbers = new int[args.length]; try { for (int i=0; i<args.length; i++) { int number = Integer.parseInt(args[i]); myNumbers[i] = number; } } catch (NumberFormatException e) { System.err.println("Errore: bisogna passare solo numeri interi come argomenti."); } } // stampa i numeri collezionati public void printNumbers() { for (Integer number : myNumbers) { System.out.println(number); } } }
__________________
As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) Ultima modifica di banryu79 : 30-10-2009 alle 14:49. |
![]() |
![]() |
![]() |
#3 |
Member
Iscritto dal: Jan 2008
Città: Alcamo (TP)
Messaggi: 45
|
Ti ringrazio tanto. Avevo proprio agito in questo modo!!! Ma pensavo ci fosse una maniera per far accettare direttamente al main parametri di tipo int.
Grazie ancora per l'aiuto, mi hai chiarito questo dubbio. ![]() |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 13:55.