Salve a tutti,
innanzitutto piacere di conoscervi, sono uno studente di ingegneria per la prima volta alle prese con problemi di programmazione, il problema che vi pongo vi sembrerà banale, ma purtroppo mi stò accorgendo che in informatica sono proprio un pò negato, vi prego di portare un pò di pazienza con me!
Dunque, il problema è quello scritto nel titolo, vi posto lo pseudocodice fornito nelle slides del prof:
int numero; // elemento corrente della sequenza
int somma; // somma degli elementi della sequenza
/* leggi una sequenza di numeri interi e
* calcolane la somma */
/* inizialmente somma vale zero */
somma = 0;
/* finché ci sono altri elementi nella sequenza,
Iterazione
4
* leggili e sommali a somma */
while (scanner.hasNextInt()) { // finché ci sono altri elementi
/* leggi un elemento della sequenza */
numero = scanner.nextInt();
/* incrementa somma di numero */
somma = somma + numero;
}
/* visualizza somma */
System.out.println(somma);
Questo invece è il codice a cui ho pensato io:
import java.util.*;
class Somme {
int numero, somma;
somma=0;
public static void main (String args[]) {
System.out.println("inserisci i numeri da sommare");
Scanner scanner=new Scanner(System.in);
while (scanner.hasNextInt()) {
numero=scanner.nextInt();
somma=somma+numero;
}
System.out.println(somma);
}
}
Solo che durante la compilazione, mi segna come errore l' uguale di "somma=0" e mi dice :
error: <identifier> expected.
Già qui non capisco cosa ho sbagliato, e mi piacerebbe che qualcuno mi illuminasse, comunque dopo qualche tentativo ho riscritto il codice in questo modo:
import java.util.*;
class Somme {
public static void main (String args[]) {
int numero, somma;
somma = 0;
System.out.println("inserisci i numeri da sommare");
Scanner scanner=new Scanner(System.in);
while (scanner.hasNextInt()) {
numero=scanner.nextInt();
somma=somma+numero;
}
System.out.println(somma);
}
}
In questo caso in fase di compilazione non c' è alcun errore, ma quando devo eseguire il programma, il risultato è:
errore: imposibile trovare o caricare la classe principale Somme.class
Forse il secondo errore è dato dal fatto che una classe non può essere composta dal solo main? Eppure io so per certo che il primo programma di prova che ci hanno fatto fare funzionava solo con il main, quindi cosa devo dedurre?