Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2011
    Messaggi
    3

    .class expected... AIUTO!

    raga mi stavo esercitando sulle classi in java visto che ora abbiamo appena iniziato la programmazione ad oggetti a scuola, stavo provando a fare in blueJ un esercizietto cretino ma mi sfugge qualcosa... Ho creato una classe scuola dove scrivo il seguente codice:

    codice:
    public class Scuola
    {
      public int voto1;
      public int voto2;
      public int voto3;
      
      public Scuola (int a, int b, int c)
      {
         voto1=a; voto2=b; voto3=c;   
      }    
      
      public void print()
      {
         System.out.println ("1° Compito: " + voto1);
         System.out.println ("2° Compito: " + voto2);
         System.out.println ("3° Compito: " + voto3);
      }
    }
    poi un altra classe che eredita da scuola

    codice:
    public class Media extends Scuola
    {
      float media;
      
      public Media (int a, int b, int c, float m)
      {
        super(a,b,c);
        media=m;
      }
      
      public void print()
      {
        super.print();
        System.out.println ("La media di questo quadrimestre è " + media);
      }
    }
    e ora una classe che usa la classe media

    codice:
    import java.io.*;
    public class UsaMedia
    {
      InputStreamReader input = new InputStreamReader (System.in);
      BufferedReader Tastiera = new BufferedReader (input);
      
      public static void main (String[] args)
      {
       int x;
       int y;
       int z;
       float zz;
          
        try{
          System.out.println ("Immetti il voto del primo compito");
          x = Integer.parseInt(Tastiera.readLine());
          System.out.println ("Immetti il voto del secondo compito");
          y = Integer.parseInt(Tastiera.readLine());
          System.out.println ("Immetti il voto del terzo compito");
          z = Integer.parseInt(Tastiera.readLine());
          zz = (a+b+c)/3;
           } catch (Exception e) 
             { 
              System.out.println (e);
             }
       
       Media s = new Media (int x, int y, int z, float zz);
       s.print();
       
      }
      
    }
    le altre classi nessun problema, quest'ultima quando compilo mi da il seguente errore: " '.class' expected " e mi evidenzia la riga
    Media s = new Media (int x, int y, int z, float zz);
    non capisco dove sia il problema... aiutatemi e se potete controllate anche se il programmino banale possa funzionare superato quest'ultimo errore... Grazie mille in anticipo.

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,315
    Per quanto riguarda quell'errore che ottieni, verifica se per caso hai, tra le variabili d'ambiente, la variabile CLASSPATH. Se ce l'hai, verifica che vi sia anche il punto fra le directory elencate.

    Dovresti anche specificare come compili (ovvero, quali comandi dai).

    Per la richiesta di verifica di corretto funzionamento del programma, questo è un forum dove si discute di problemi di programmazione, non un servizio di testing & debug... Se eseguendolo ottieni dei risultati errati o degli errori, specificali e si vedrà il da farsi.

    PS: Ho corretto il tuo post aggiungendo i tag CODE, come da regolamento interno.

    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
    Utente di HTML.it
    Registrato dal
    Nov 2011
    Messaggi
    3
    grazie per la risposta... potresti spiegare più semplicemente perfavore? Ehm detto così non saprei dove mettere mano..

  4. #4
    Utente bannato
    Registrato dal
    Oct 2010
    Messaggi
    1,219
    Media sta in un file che si chiama Media.java? E Scuola in un file che si chiama Scuola.java? Perchè se non è così la jvm non sa dove andarle a cercare.

  5. #5
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,315
    Originariamente inviato da ramy89
    Media sta in un file che si chiama Media.java? E Scuola in un file che si chiama Scuola.java? Perchè se non è così la jvm non sa dove andarle a cercare.
    Ho dato per scontato che, almeno, le avesse compilate.

    Mi è sorto un altro dubbio... secondo me tu stai scrivendo il comando di avvio in modo sbagliato. Per avviare un programma Java devi dare il comando "java" seguito dal nome della classe senza il .class. Nel tuo caso, il comando deve essere questo:

    codice:
    java UsaMedia
    Questo deve essere scritto alla pagina 1 (massimo, pagina 2) di un qualunque libro che parli di Java.


    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. #6
    Utente bannato
    Registrato dal
    Oct 2010
    Messaggi
    1,219
    Ma sta usando BlueJ, cone BlueJ si può compilare il codice da interfaccia grafica.Non sta inserendo comandi.

  7. #7
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802

    Re: .class expected... AIUTO!

    Originariamente inviato da inci
    le altre classi nessun problema, quest'ultima quando compilo mi da il seguente errore: " '.class' expected " e mi evidenzia la riga
    Media s = new Media (int x, int y, int z, float zz);
    non capisco dove sia il problema... aiutatemi e se potete controllate anche se il programmino banale possa funzionare superato quest'ultimo errore... Grazie mille in anticipo.
    Ehm... quando chiami il costruttore (e in generale un qualunque altro metodo) non devi indicare il tipo dei parametri. Quindi non

    Media s = new Media (int x, int y, int z, float zz);

    ma

    Media s = new Media (x, y, z, zz);



    edit: l'operazione zz = (a+b+c)/3; ti conviene riscriverla come zz = (a+b+c)/3.0; altrimenti verrà eseguita una divisione intera (e perderai la parte decimale del risultato).
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  8. #8
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,315
    Originariamente inviato da ramy89
    Ma sta usando BlueJ, cone BlueJ si può compilare il codice da interfaccia grafica.Non sta inserendo comandi.
    Ah ecco... e visto il giusto appunto di Alex'87 qui sopra mi sa che non sta nemmeno compilando.
    Questa è l'ennesima dimostrazione del fatto che quando si è agli inizi non si dovrebbero usare gli IDE per compilare ed eseguire. Si dovrebbero usare solo ed esclusivamente per scrivere il codice. Compilazione ed esecuzione si dovrebbero fare usando gli strumenti da linea di comando. Altrimenti si rischia di perdere tempo solo per star dietro ad eventuali messaggi di errore che il compilatore segnala e l'IDE non fa vedere o l'utente non legge.

    Non è più una mia considerazione: è un dato di fatto innegabile ed incontestabile.

    Suggerimento: abbandona BluJ, apri il blocco note che per queste cose va più che bene. Scrivi il codice a mano. Compila ed esegui dal prompt dei comandi. Altrimenti non andrai mai da nessuna parte.

    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 L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Originariamente inviato da LeleFT
    Suggerimento: abbandona BluJ, apri il blocco note che per queste cose va più che bene. Scrivi il codice a mano. Compila ed esegui dal prompt dei comandi. Altrimenti non andrai mai da nessuna parte.
    Suggerisco NotePad++, almeno c'è la colorazione sintattica
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

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.