Pagina 2 di 3 primaprima 1 2 3 ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 29
  1. #11
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Ehm... forse ti ho indotto all'errore io: stai cercando di usare un oggetto non statico all'interno di un contesto statico (il main, infatti, č static):

    Basta che tu modifichi la dichiarazione del BufferedReader in questo modo:
    codice:
    static BufferedReader input = new BufferedReader( new InputStreamReader(System.in) );
    PS: Usa i tag [*CODE] e [*/CODE] (senza l'asterisco, ovviamente) e non i tag QUOTE, cosė il codice si legge meglio.


    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

  2. #12
    Porca giovenca mi sento un idiota!
    Non va ancora, perō č cambiato l'errore...
    ora mi dice :

    codice:
    unreported exception java.io.IOException; must be caught or declared to be thrown
    String s = input.readline();
    ...č chiaro in inglese, ma non capisco qual'č il problema. Ho provato a fare un programmino stupido per prendere dati dall'esterno allo stesso modo e funziona...
    Chissā se gli infanti apprezzano l'infanzia quanto gli adulti apprezzano l'adulterio.

  3. #13
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Semplice... ogni volta che usi degli oggetti che hanno a che fare con I/O č necessario usare il costrutto try/catch per catturare eventuali eccezioni sollevate... questo č sufficiente:
    codice:
    String mio_valore;
    try {
       mio_valore = input.readLine();
    } catch (Exception e) { e.printStackTrace(); }
    Un consiglio... visto che hai anche un Integer.parseInt() che puō generare un'eccezione, metti tutto il codice all'interno del try/catch.


    Se, invece, non ti vuoi preoccupare di eventuali eccezioni sollevate, modifica il main in questo modo:
    codice:
    public static void main(String [] args) throws Exception {
       ...
    }
    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

  4. #14
    Credo che prima della classe tu debba includere la classe java.io

    In cima (come gli include del C) scrivi:
    codice:
    import java.io.*
    Dovrebbe essere la classe che gestisce l'input/output.
    (anche se non ho idea di cosa significhi l'asterisco....sono niubbo pure io).


    E comunque per la questione che legge solamente una stringa e la devi convertire il numero intero....beh io uso:

    codice:
    String stringaLetta = br.readLine();
    int numeroIntero;
    
    numeroIntero = Integer.valueOf(stringaLetta).intValue();
    
    /* Invece che: numeroIntero = Integer.parseInt(stringaLetta); */
    Naturalmente se poi vorrai leggere un float il metodo si chiamerā:

    Float.valueOf ***etc***

  5. #15
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Originariamente inviato da pictor
    (anche se non ho idea di cosa significhi l'asterisco....sono niubbo pure io).
    L'asterisco server per semplificare un po' la vita: quando usi la parola chiave import, puoi importare un package oppure una singola classe. Se devi importare una singola classe puoi scrivere il nome della classe subito dopo il nome del package, se metti l'asterisco, invece, dici a Java di importare tutte le classi del package.

    L'import serve a Java per sapere dove fare riferimento alle classi che usi... nel caso della gestione dell'input di mergy76, basterebbe
    codice:
    import java.io.BufferedReader;
    import java.io.InputStreamReader;
    ma per evitare di scrivere tutte le classi, solitamente si dice di prenderle tutte:
    codice:
    import java.io.*;
    Un package non č nient'altro che una collezione di classi giā pronte.


    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

  6. #16
    Mi sto per impiccare con il filo del mouse

    Adesso non ho pių errori, mi fa inserire il numero da tastiera ma non lo vede per quanto riguarda le operazioni da fare...

    zio banana!
    Chissā se gli infanti apprezzano l'infanzia quanto gli adulti apprezzano l'adulterio.

  7. #17
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Beh... posta un po' di codice... probabilmente si tratta di un problema di visibilitā delle variabili.



    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

  8. #18
    Beh qua si ratta quasi sicuramente di un problema del tuo programma

    Ma non ti stampa niente oppure da qualche risultato sbagliato?

    Se stampa sbagliato č la funzione per il calcolo del fattoriale sbagliata...prova a riportarla e vediamo se ci sono errori


  9. #19
    Scusate per la lunghezza del codice e per il tempo perso...

    codice:
    import java.io.*;
    class Fattor
    {
      static BufferedReader input = new BufferedReader( new InputStreamReader (System.in)); 
      int num; //sarā il numero inserito dall'utente
      int n=100; //sovraddimensiono il vettore
      int g; // prende il valore relativo all'elemento n-esimo
      int[] provvi= new int[n]; 
     void fattoriale(int a)
     {
      if(a==0)
      provvi[a]=1;
      else 
      provvi[a]=a*provvi[a-1];
      g=provvi[a];
     }
     void Calcola()
     {
      for(int i=0;i<num;i++)
      fattoriale(i);
     }	
    
     void StampaVideo()
     {
     System.out.println(""+num+" fattoriale e': "+g);
     }
     public static void main(String[] args)//throws Exception
     {
      int num;
      System.out.println("Digitare un numero:");
      try
      {
      String s = input.readLine();
      num = Integer.parseInt(s);
      }
       catch (Exception e) {e.printStackTrace();}
      
      Fattor f = new Fattor();
      f.Calcola();
      f.StampaVideo();
     }	
    }
    Chissā se gli infanti apprezzano l'infanzia quanto gli adulti apprezzano l'adulterio.

  10. #20
    ... con questo codice mi stampa

    0 fattoriale = 0

    :master:
    Chissā se gli infanti apprezzano l'infanzia quanto gli adulti apprezzano l'adulterio.

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.