Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    Somma di sequenza di frazioni

    Ciao a tutti.
    Ho un problema nel seguente:
    codice:
     /*
      *Scrivere un'applicazione che legga in ingresso
      *una sequenza di frazioni (ogni frazione è costituita da 2 interi
      *separati dal simbolo "/" ovvero da un intero che sottointende un
      *denominatore pari a 1) separati dal simbolo "+".
      *Ne effetui la somma e ne stampi il risultato.
      **/
    ho cercato di risolverlo cosi:
    codice:
    import java.io.*;
    import prog.io.*;
    public class Esercizio5_1MioBis {
    
        public static void main(String[] args) {
        	
        	
        	ConsoleInputManager in= new ConsoleInputManager();
        	ConsoleOutputManager out= new ConsoleOutputManager();
        	
            int LimiteSequenzaFrazione= in.readInt("Inserisci il numero di Frazioni di cui vuoi eseguire la somma:   ");
        	int Denominatore=1;
        	int Somma=0;
        
        	For (int i=1; i<LimiteSequenzaFrazione; i++){
        
        	int Numeratore[]=new int[i];
        	
        	int Numeratore[i]= in.readInt("Inserisci il Nuemratore della Frazione:  ");
            somma=somma+Numeratore[i];
            
        	}
        
        	For(int i=1; i<=LimiteSequenzaFrazione; i++){
        
        	
        	System.out.print(Numeratore[i]+ "/" +Denominatore );
        	
        		}
        	System.out.println( "="+somma);
        	
        }
        
        
    }
    ma mi da i seguenti errori:
    codice:
    C:\Documents and Settings\admin\Desktop\java\Esercizio5_1MioBis.java:24: '.class' expected
            For (int i=1; i<LimiteSequenzaFrazione; i++){
                     ^
    C:\Documents and Settings\admin\Desktop\java\Esercizio5_1MioBis.java:24: > expected
            For (int i=1; i<LimiteSequenzaFrazione; i++){
                                                  ^
    C:\Documents and Settings\admin\Desktop\java\Esercizio5_1MioBis.java:24: not a statement
            For (int i=1; i<LimiteSequenzaFrazione; i++){
                           ^
    C:\Documents and Settings\admin\Desktop\java\Esercizio5_1MioBis.java:24: ';' expected
            For (int i=1; i<LimiteSequenzaFrazione; i++){
                                                       ^
    C:\Documents and Settings\admin\Desktop\java\Esercizio5_1MioBis.java:28: ']' expected
            int Numeratore[i]= in.readInt("Inserisci il Nuemratore della Frazione:  ");
                           ^
    C:\Documents and Settings\admin\Desktop\java\Esercizio5_1MioBis.java:28: ';' expected
            int Numeratore[i]= in.readInt("Inserisci il Nuemratore della Frazione:  ");
                            ^
    C:\Documents and Settings\admin\Desktop\java\Esercizio5_1MioBis.java:33: '.class' expected
            For(int i=1; i<=LimiteSequenzaFrazione; i++){
                    ^
    C:\Documents and Settings\admin\Desktop\java\Esercizio5_1MioBis.java:33: not a statement
            For(int i=1; i<=LimiteSequenzaFrazione; i++){
                          ^
    C:\Documents and Settings\admin\Desktop\java\Esercizio5_1MioBis.java:33: ';' expected
            For(int i=1; i<=LimiteSequenzaFrazione; i++){
                                                       ^
    9 errors
    come posso sistemarlo? Grazie

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    L'istruzione for si scrive in minuscolo.

    Ti consiglio di scrivere con la minuscola anche i nomi delle variabili: è una convenzione Java che ti consiglio di acquisire il più presto possibile, in modo da abituarti fin da subito e non avere problemi in futuro.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Come giustamento ti ha fatto notare LeleFT ti conviene imparare ed adottare quanto prima lo standard Java nella nomenclatura delle variabili, classi e metodi. Anche se può sembrare una cosa banale essa ti servità tantissimo in futuro.
    Per quanto riguarda i nomi delle classi essi iniziano sempre con la lettera maiuscola, le variabili invece iniziano con una lettera minuscola. Se un nome di variabile è composto da più parole (es. nel tuo caso LimiteSequenzaFrazione) esse vengono congiunte e la prima lettera di ogni parola è maiuscola (limiteSequenzaFrazione). Lo stesso vale per i metodi (getLimiteSequenzaFrazione()).
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  4. #4
    Grazie per le dritte.
    Ogni consiglio è ben accetto.
    ho modificato il codice
    codice:
    import java.io.*;
    import prog.io.*;
    public class Esercizio5_1MioBis {
    
        public static void main(String[] args) {
        	
        	
        	ConsoleInputManager in= new ConsoleInputManager();
        	ConsoleOutputManager out= new ConsoleOutputManager();
        	
            int limiteSequenzaFrazione= in.readInt("Inserisci il numero di Frazioni di cui vuoi eseguire la somma:   ");
        	int denominatore=1;
        	int somma=0;
        
        	for (int i=1; i<limiteSequenzaFrazione; i++){
        
        	int numeratore[]=new int[i];
        	
            numeratore[i]= in.readInt("Inserisci il Nuemratore della Frazione:  ");
            somma=somma+numeratore[i];
            
        	}
        
        	for(int i=1; i<=limiteSequenzaFrazione; i++){
        
        	
        	System.out.print(numeratore[i]+ "/" +denominatore );
        	
        		}
        	System.out.println( "="+somma);
        	
        }
        
        
    }
    ma mi da il seguente errore, come faccio?
    codice:
    C:\Documents and Settings\admin\Desktop\java\Esercizio5_1MioBis.java:36: cannot find symbol
    symbol  : variable numeratore
    location: class Esercizio5_1MioBis
            System.out.print(numeratore[i]+ "/" +denominatore );
                             ^
    1 error

  5. #5
    L'errore è dovuto al fatto che dichiari l'array numeratore all'interno del primo ciclo for per cui la sua visibilità è ristretta a tale costrutto. Di conseguenza non puoi utilizzarlo nel secondo ciclo for. Per ovviare a tale problema dovresti dichiarare l'array fuori dal ciclo for.

    P.S.
    Per lo sviluppo ti consiglio di utilizzare un IDE adatto (come ad esempio Eclipse che tra l'altro è free). Ti saresti accorto immediatamente dell'errore in quanto segnalato a priori.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  6. #6
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Originariamente inviato da satifal
    P.S.
    Per lo sviluppo ti consiglio di utilizzare un IDE adatto (come ad esempio Eclipse che tra l'altro è free). Ti saresti accorto immediatamente dell'errore in quanto segnalato a priori.
    Se è agli inizi no, meglio usare un editor di testo e i tool da linea di comando.
    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
    Mi accorgo ora che c'è anche un errore nel codice. L'array va dichiarato fuori dal ciclo for ed in questo modo:

    codice:
    int numeratore[]=new int[limiteSequenzaFrazione];
    Come facevi tu creavi sempre una nuova istanza ad ogni ripetizione del ciclo con dimensione sempre maggiore.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  8. #8
    Originariamente inviato da Alex'87
    Se è agli inizi no, meglio usare un editor di testo e i tool da linea di comando.
    Concordo in parte. All'inizio la pensavo anche io come te. E' giusto quello che dici in quanto così facendo si capisce meglio come funzionano effettivamente le cose, ma per la stesura del codice il controllo sintattico e l'autocompletamento forniti da un IDE alla fine sono indispensabili.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  9. #9
    FUNGE.
    codice:
    import java.io.*;
    import prog.io.*;
    public class Esercizio5_1MioBis {
    
        public static void main(String[] args) {
        	
        	
        	ConsoleInputManager in= new ConsoleInputManager();
        	ConsoleOutputManager out= new ConsoleOutputManager();
        	
            int limiteSequenzaFrazione= in.readInt("Inserisci il numero di Frazioni di cui vuoi eseguire la somma:   ");
        	int denominatore=1;
        	int somma=0;
        	int i;
           int numeratore[]=new int[limiteSequenzaFrazione];
    
            
        	for ( i=0; i<limiteSequenzaFrazione; i++){
        
        	
        	
            numeratore[i]= in.readInt("Inserisci il Nuemratore della Frazione:  ");
            somma=somma+numeratore[i];
            
        	}
        
        	for( i=0; i<limiteSequenzaFrazione; i++){
        
        	
        	System.out.print(numeratore[i]+ "/" +denominatore+ "+" );
        	
        		}
        	System.out.println( "="+somma);
        	
        }
        
        
    }

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.