Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2012
    Messaggi
    102

    [Java] problema inspiegabile

    Ciao raga! Sto imparando il linguaggio Java e sono giunto a gli accessi ai file... ho fatto un source di questo programma, che deve semplicemente salvare l'oggetto su un file record

    codice:
    class Last{
    	public static void main(String args[]){
    		boolean x;
    		String nome;
    		float prezzo;
    		Libro l;
    		Scanner input = new Scanner(System.in);
    		System.out.println("Inserisci un nome del libro: ");
    		nome=input.nextLine();
    		do {
    			prezzo=input.nextFloat();
    			if (input.hasNextFloat) x=false;
    			else{
    				System.out.print("\0007");
    				x=true;
    			}
    		} while (x);
    		l=new Libro(nome, prezzo);
    		try {
    			FileOutputStream f = new FileOutputStream("libri.txt");
    			ObjectOutputStream fO = new ObjectOutputStream(f);
    			fO.writeObject(l);
    			fO.flush();
    			f.close();
    		}
    		catch (Exception e){
    			System.out.println("Tipo di eccezione: " + e.getMessage());
    		}
    	}
    }
    avendo la classe Libro scritta così:

    codice:
    class Libro{
    	public String nome;
    	public float prezzo;
    	public Libro (String nome, float prezzo){
    		this.nome=nome;
    		this.prezzo=prezzo;
    	}
    }
    e nel compilare la classe utilizzatrice col main che ho chiamato Last, da questi problemi:

    codice:
    C:\Users\Valerio\Desktop\Nuova cartella>javac Last.java
    Last.java:7: error: cannot find symbol
                    Scanner input = new Scanner(System.in);
                    ^
      symbol:   class Scanner
      location: class Last
    Last.java:7: error: cannot find symbol
                    Scanner input = new Scanner(System.in);
                                        ^
      symbol:   class Scanner
      location: class Last
    Last.java:20: error: cannot find symbol
                            FileOutputStream f = new FileOutputStream("libri.txt");
                            ^
      symbol:   class FileOutputStream
      location: class Last
    Last.java:20: error: cannot find symbol
                            FileOutputStream f = new FileOutputStream("libri.txt");
                                                     ^
      symbol:   class FileOutputStream
      location: class Last
    Last.java:21: error: cannot find symbol
                            ObjectOutputStream fO = new ObjectOutputStream(f);
                            ^
      symbol:   class ObjectOutputStream
      location: class Last
    Last.java:21: error: cannot find symbol
                            ObjectOutputStream fO = new ObjectOutputStream(f);
                                                        ^
      symbol:   class ObjectOutputStream
      location: class Last
    6 errors
    
    C:\Users\Valerio\Desktop\Nuova cartella>
    cosa può essere? Ho provato ad utilizzare degli IDE ma sono un po' complicati, non ho la stessa manualità di come l'avevo col C. Grazie in anticipo! =)

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,315

    Moderazione

    Alcune direttive:

    1) Quando posti del codice, usa i tag CODE... è la stessa fatica di scrivere ** INIZIO ** e ** FINE ** solo che si scrive [CODE] e [/CODE]; con la differenza che in questo modo il codice rimane indentato e ben formattato

    2) I problemi non sono mai inspiegabili... inspiegabile è il titolo, che, come da regolamento interno, deve dare un'idea del contenuto della discussione.

    Ho corretto io la tua discussione.
    In futuro, tieni a mente queste semplici regole.


    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
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,315
    Per quanto riguarda il tuo problema è presto detto: stai cercando di usare gli oggetti del package java.io, ma non l'hai importato.

    Aggiungi, all'inizio del file java, la seguente direttiva:

    codice:
    import java.io.*;
    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. #4
    Utente di HTML.it
    Registrato dal
    Feb 2012
    Messaggi
    102
    Grazie mille, mi scuso in futuro imposterò meglio la discussione

    Però mi da sempre errore sulla classe Scanner, anche dopo aver importato il package java.io correttamente ...

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    ci dici l'errore o andiamo a fantasia?
    Mi dà errore purtroppo non dice niente a me che non sono davanti al tuo pc
    RTFM Read That F*** Manual!!!

  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2012
    Messaggi
    102
    Ripeto, mi da errore sulla classe Scanner, già c'è scritto sopra!! Quindi:

    codice:
    C:\Users\Valerio\Desktop\Nuova cartella>javac Last.java
    Last.java:8: error: cannot find symbol
                    Scanner input = new Scanner(System.in);
                    ^
      symbol:   class Scanner
      location: class Last
    Last.java:8: error: cannot find symbol
                    Scanner input = new Scanner(System.in);
                                        ^
      symbol:   class Scanner
      location: class Last
    2 errors
    
    C:\Users\Valerio\Desktop\Nuova cartella>

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    le API sono uno strumento che devi da subito imparare a fare tuo.
    Come puoi vedere Scanner si trova nel package java.util, quindi quanto meno è necessario

    import java.util.Scanner;
    RTFM Read That F*** Manual!!!

  8. #8
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,315
    Originariamente inviato da valia
    le API sono uno strumento che devi da subito imparare a fare tuo.
    Come puoi vedere Scanner si trova nel package java.util, quindi quanto meno è necessario

    import java.util.Scanner;
    Sì, mancava anche quell'importazione... non avevo fatto caso che usavi anche Scanner.

    Ad ogni modo, quando si vuole usare un oggetto di una determinata classe, ci si deve preoccupare anche di effettuarne l'importazione. Questo vale per qualunque oggetto... sono "esonerati" da questo obbligo solo gli oggetti che fanno parte del package "java.lang" che viene importato di default e gli oggetti dello stesso package della classe che vuole usarli.


    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

  9. #9
    Utente di HTML.it
    Registrato dal
    Feb 2012
    Messaggi
    102
    Grazie mille, purtroppo sto iniziando ora il Java e un po' di cose non le tengo sott'occhio... XD

  10. #10
    Utente di HTML.it
    Registrato dal
    Feb 2012
    Messaggi
    102
    Raga un momento mi da errore all'esecuzione... scusate ma purtroppo essendo finita la scuola i forum sono l'unico posto dove posso risolvere i miei dubbi, comunque, con questo sorgente un pochettino modificato:

    codice:
    import java.io.*;
    import java.util.Scanner;
    class Last{
    	public static void main(String args[]){
    		boolean x;
    		String nome;
    		float prezzo=0;
    		Libro l;
    		Scanner input = new Scanner(System.in);
    		System.out.println("Inserisci un nome del libro: ");
    		nome=input.nextLine();
    		do {
    			if (input.hasNextFloat()){ 
    				x=false;
    				prezzo=input.nextFloat();
    			}
    			else{
    				System.out.print("\0007");
    				x=true;
    			}
    		} while (x);
    		l=new Libro(nome, prezzo);
    		try {
    			FileOutputStream f = new FileOutputStream("libri.txt");
    			ObjectOutputStream fO = new ObjectOutputStream(f);
    			fO.writeObject(l);
    			fO.flush();
    			f.close();
    		}
    		catch (Exception e){
    			System.out.println("Tipo di eccezione: " + e.getMessage());
    		}
    	}
    }
    Mi da in eccezione di tipo Libro... che significa? Gli do un nome tipo "ciao" e un float, ma non capisco dove sia il problema...

    ecco qui il prompt:

    codice:
    C:\Users\Valerio\Desktop\Nuova cartella>java Last 
    Inserisci un nome del libro: 
    Lovemella 
    32,14               /* qui non ho messo metodo print */
    Tipo di eccezione: Libro C:\Users\Valerio\Desktop\Nuova cartella>

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.