Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2012
    residenza
    matrix
    Messaggi
    56

    aiuto in java

    salve a tutti, vorrei chiedervi un aiuto
    qui ho il sorgente della mia sommatoria con input da tastiera e funziona benissimo

    codice:
    import java.io.*;
    class Sommatoria
    {
    	public static void main(String args[]) throws IOException
    	{
    		InputStreamReader primo=new InputStreamReader(System.in);
    		BufferedReader secondo=new BufferedReader(primo);
    		String lettore;
    		
    		System.out.println("Inserisci il numero dei cicli");
    		lettore= secondo.readLine();
    		int i= Integer.parseInt(lettore);
    		int partenza;
    		int k=0;
    		
    		for(partenza=1;partenza<=i;partenza++)
    		{
    			System.out.println(partenza);
    			k+=partenza;
    		}
    		
    		System.out.println("la somma e' uguale a "+k);
    	}
    }
    questo è il sorgente del programma senza input da tastiera

    codice:
    class Sommatoria
    {	
    	public static void main(String args[])
    	{
    		int i= Integer.parseInt(args[0]);
    		int partenza;
    		int k=0;
    		
    		for(partenza=1;partenza<=i;partenza++)
    		{
    			System.out.println(partenza);
    			k+=partenza;
    		}
    		
    		System.out.println("la somma e' uguale a "+k);
    	}
    }
    il problema subentra quando voglio fare il programma senza input da tastiera, mi spiega meglio.
    Il programma non mi segna errori di codice ma quando lo lancio uso il comando come al solito

    javac Sommatoria.java

    e fin qui tutto apposto

    poi

    java Sommatoria

    ed ora che devo fare??

    mi esce scritto

    Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
    at Sommatoria.main(Sommatoria.java:5)

    grazie in anticipo

  2. #2
    Un IDE no? ti semplifica molto la ricerca dell'errore...

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2012
    residenza
    matrix
    Messaggi
    56
    scusa... potresti spiegarmi cos'è un IDE?
    (a scuola ho iniziato da poche lezioni a programmare)

  4. #4

    Moderazione

    Per Java c'è una sezione apposita, sposto.

    Tra parentesi, il codice va inserito tra tag [code] ... [/code] in modo da evitare che perda l'indentazione, e sarebbe meglio mettere titoli un po' meno generici. Qui sistemo io, nei prossimi thread ricordatene.

    Amaro C++, il gusto pieno dell'undefined behavior.

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2012
    residenza
    matrix
    Messaggi
    56
    ok

  6. #6
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Originariamente inviato da SinthTeck
    Un IDE no? ti semplifica molto la ricerca dell'errore...
    Più che un IDE gli servirebbe un debugger. Ok che l'IDE in genere ne include uno ma se sta iniziando ora meglio che parta dalle basi...
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157

    Re: aiuto in java

    Originariamente inviato da astolfo96
    salve a tutti, vorrei chiedervi un aiuto
    qui ho il sorgente della mia sommatoria con input da tastiera e funziona benissimo

    codice:
    import java.io.*;
    class Sommatoria
    {
    	public static void main(String args[]) throws IOException
    	{
    		InputStreamReader primo=new InputStreamReader(System.in);
    		BufferedReader secondo=new BufferedReader(primo);
    		String lettore;
    		
    		System.out.println("Inserisci il numero dei cicli");
    		lettore= secondo.readLine();
    		int i= Integer.parseInt(lettore);
    		int partenza;
    		int k=0;
    		
    		for(partenza=1;partenza<=i;partenza++)
    		{
    			System.out.println(partenza);
    			k+=partenza;
    		}
    		
    		System.out.println("la somma e' uguale a "+k);
    	}
    }
    questo è il sorgente del programma senza input da tastiera

    codice:
    class Sommatoria
    {	
    	public static void main(String args[])
    	{
    		int i= Integer.parseInt(args[0]);
    		int partenza;
    		int k=0;
    		
    		for(partenza=1;partenza<=i;partenza++)
    		{
    			System.out.println(partenza);
    			k+=partenza;
    		}
    		
    		System.out.println("la somma e' uguale a "+k);
    	}
    }
    il problema subentra quando voglio fare il programma senza input da tastiera, mi spiega meglio.
    Il programma non mi segna errori di codice ma quando lo lancio uso il comando come al solito

    javac Sommatoria.java

    e fin qui tutto apposto

    poi

    java Sommatoria

    ed ora che devo fare??

    mi esce scritto

    Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
    at Sommatoria.main(Sommatoria.java:5)

    grazie in anticipo
    nota numero 1: la classe che contiene il main dovrebbe essere dichiarata public, la visibilità di default non va.
    nota numero 2: andiamo al tuo errore.

    int i= Integer.parseInt(args[0]);

    stai dicendo che il primo argomento che passi al programma è il tuo primo intero, ma quando chiami il programma con

    java Sommatoria

    non stai dando parametri, args è vuoto ecco il tuo errore.

    Non ho letto il resto, ma quando chiami il programma devi farlo dando i giusti parametri (se pensi di non volere una interazione con l'utente chiedendo i comandi)

    nota numero 3: l'IDE in questo non serve a niente, non avrebbe segnalato l'errore (è un errore in esecuzione) e l'aggiunta di un eventuale debugger non avrebbe portato benefici. Qui si tratta semplicemente di leggere quello che ci viene ritornato e capire come porre rimedio e questa è una cosa che uno studente deve imparare a fare.
    RTFM Read That F*** Manual!!!

  8. #8
    Utente di HTML.it
    Registrato dal
    Nov 2012
    residenza
    matrix
    Messaggi
    56
    grazie mille, ora è tutto chiaro

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.