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

    [java] 2 classi

    Ciao a tutti ho appena cominciato a studiare java...
    Ho un problemino:
    ho fatto una classe che invoca un metodo di un'altra classe:

    class Metodi{
    public static void main(String[] args){
    Salutatore.saluta();
    }


    }

    la classe Salutatoreè salvata su un altro file di nome Salutatore.java e compilta (Salutatore.class).

    Quando provo a compilare la classe Metodi mi da questo errore:

    C:\java\Metodi.java:8: cannot resolve symbol
    symbol : variable Salutatore
    location: class Metodi
    Salutatore.saluta();
    ^
    1 error

    Procedura completata con codice di uscita 1



    Come mai??? I file stanno tutti nella stessa cartella....

    grazie mille...

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    220
    ti devi creare un oggetto di tipo Salutatore:

    class Metodi{
    public static void main(String[] args){
    Salutatore sal=new Salutatore();
    sal.saluta();
    }

    con new ti allochi in memoria un nuovo oggetto, una volta creato lo puoi utilizzare!!

  3. #3
    Non funziona neanche così... ho provato anche altre classi prese da tutorial e non riescono a richiamare una classe esterna (mentre se la metto nello stesso file funziona) .....

    l'errore è sempre lo stesso :

    C:\java\Metodi.java:7: cannot resolve symbol
    symbol : class Salutatore
    location: class Metodi
    Salutatore sal=new Salutatore();
    ^
    C:\java\Metodi.java:7: cannot resolve symbol
    symbol : class Salutatore
    location: class Metodi
    Salutatore sal=new Salutatore();
    ^
    2 errors

    Procedura completata con codice di uscita 1

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304
    1) Controlla che il nome della classe sia Salutatore (con la maiuscola).

    2) Potresti avere un problema con la variabile d'ambiente CLASSPATH.
    Compila così:
    codice:
    javac -classpath . Metodi.java
    quando sei posizionato nella directory contenente le due classi. (il punto è necessario).


    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

  5. #5
    Ho risulto.. mi hai illuminato!!!!!!!!!!!!!!!!!!!!!!!!!!!



    Ho messo nella variabile di ambiente CLASSPATH il percorso di dove ho messo le classi e tutto funziona...
    ma mi spieghi com'è che funziona questa storia e se ci sono altri parametri che devo settare???
    Grazie mille!!!!


  6. #6
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304
    Originariamente inviato da giggio_81
    Ho risulto.. mi hai illuminato!!!!!!!!!!!!!!!!!!!!!!!!!!!



    Ho messo nella variabile di ambiente CLASSPATH il percorso di dove ho messo le classi e tutto funziona...
    ma mi spieghi com'è che funziona questa storia e se ci sono altri parametri che devo settare???
    Grazie mille!!!!

    Beh... io per non avere nessun tipo di problema elimino completamente la variabile CLASSPATH.
    Se devo aggiungere package aggiuntivi di terze parti, li aggiungo sempre nella stessa directory dell'applicazione (così viaggiano sempre assieme a lei e non ho rotture per andarmi a prendere di volta in volta tutti i package di dipendenze).


    Via il dente, via il dolore!


    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

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 © 2024 vBulletin Solutions, Inc. All rights reserved.