Giusto una precisazione sullo String args[]

Dopo aver visto come scrivere e lanciare la nostra prima applicazione Java, facciamo una piccola precisazione sullo String args[], argomento del main che non è stato messo li per niente

stringargsjava

Abbiamo già incontrato lo String args[], ma non abbiamo ancora spiegato a cosa serve.

In questo articolo andremo un po’ avanti senza definizioni, nel senso che parecchie cose non saranno spiegate. Il suo unico scopo è ultimare definitivamente la definizione del public static void main.

Sappiate per fiducia che il main è un metodo, precisamente è il metodo principale, e come tale può avere dei dati in input da elaborare. L’args[] altro non è che un array di String che il main può ricevere o meno in input.

Lo String args[] è fondamentale nella definizione del main, ma non è detto che questo debba per forza contenere dei dati al momento del lancio della nostra applicazione. Essendo un’array di stringhe, conterrà solo caratteri, e saranno riconosciuti caratteri anche i valori numerici che andremo ad immettere.

Per valorizzare lo String args[] si intende lanciare l’applicazione in questo modo

java Applicazione mamma

Lanciando la nostra applicazione java in questo modo, il valore mamma verrà inserito in args[] e quindi può essere processato. Nel caso abbiamo bisogno di più valori, in ordine, potremo inserirli separandoli da uno spazio, come in questo modo

java Applicazione mamma figlio cugino

In questo caso l’array avrà 3 elementi, che saranno rispettivamente mamma, figlio e cugino.

Entriamo nel pratico

Andremo a scrivere una piccola applicazione che si chiamerà Somma. Quest’applicazione, se riceve in input una serie di numeri interi ne fa la somma, altrimenti visualizza il messaggio che non è stato inserito nessun numero da sommare.

public class Somma {
  public static void main(String[] args) {
    int temp;
    int sum = 0;

    if (args.length==0) {
      System.out.println("Nessun valore da sommare");

    } else {
      for(int i = 0; i < args.length; i++) {
      temp = Integer.parseInt(args[i]);
      sum = sum + temp;
    }
      System.out.println("Somma: "+sum);
    }
  }
}

Analizziamo la classe

Senza precisare le cose che abbiamo già spiegato, andrò direttamente al sodo.

La variabile temp alla riga 3 è stata solo definita, e non valorizzata, perché funge da variabile da appoggio. Siccome tutti i valori che vengono ricevuti dallo String args[] sono tutti delle stringhe, verrà utilizzata per convertire ogni singolo valore in un intero, prima della somma.

La variabile sum alla riga 4 è stata definita e valorizzata a 0 (zero), perché andremo ad aggiungere a questa variabile tutti i valori interi che troveremo nello String args[] mano mano che vengono letti.

Alla riga 6 viene vatto un if, che controlla se noi abbiamo immesso o meno dei dati. Nel caso che abbiamo lanciato l’applicazione senza aver inserito nessun numero visualizza la scritta Nessun valore da sommare andando direttamente alla riga 16 terminando l’applicazione, altrimenti passa alla riga 10.

Alla riga 10 incontra un ciclo, che funziona in questo modo: controlla quanti valori sono stati inseriti, ed esegue per ogni numero un ciclo che estrae uno alla volta tutti i valori, convertendoli in interi nella variabile temp, e aggiungendo il risultato alla variabile sum. Quest’ultima viene incrementata ogni volta del numero sommato.

Vediamolo all’opera

java-somma-app

precedente | indice |successivo

Controlliamo ciclicamente il funzionamento dei link nei nostri articoli. Se noti dei link che non funzionano segnalacelo tra i commenti. Se hai apprezzato l'articolo considera l'idea di sostenere il blog anche con una piccola donazione. Grazie. Patreon / Ko-fi / Liberapay / Paypal

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *