Visualizzazione dei risultati da 1 a 10 su 10

Discussione: Problema file java

  1. #1

    Problema file java

    Salve ragazzi e' da poco che mi sto dedicando a java e mentre rielaboravo un esercizio
    codice:
        public class Punto    {
             public int x;
             public int y;
        }
      
        public class Principale
        {
           public static void main(String args[])
           {
                   Punto punto1 = new Punto();
                   punto1.x = 5;
                   punto1.y = 6;
                   Punto punto2 = new Punto();
                   punto2.x = 10;
                   punto2.y = 12;
                   System.out.println(punto1.x);
                   System.out.println(punto1.y);
                   System.out.println(punto2.x);
                   System.out.println(punto2.y);
         
           }
        }
    mi trovo spaesato, perche' non so che nome devo dare al file... Se al file do il nome Punto.java mi da' il seguente errore...
    codice HTML:
    Punto.java:7: error: class Principale is public, should be declared in a file named Principale.java    public class Principale           ^1 error
    Come devo chiamare il file ??? Nella guida diceva che dovevo dare il nome al file rispetto alla classe che usavo... D: Ora sono confuso... Fatemi luce ç_ç
    Aiutatemi please :/
    Grazie in anticipo

  2. #2
    Utente di HTML.it L'avatar di minomic
    Registrato dal
    Nov 2010
    Messaggi
    635
    Ciao,
    lo devi chiamare Principale.java, come la classe definita in questo file.

  3. #3
    Quote Originariamente inviata da minomic Visualizza il messaggio
    Ciao,
    lo devi chiamare Principale.java, come la classe definita in questo file.
    codice HTML:
    javac Principale.java
    Principale.java:1: error: class Punto is public, should be declared in a file named Punto.java
        public class Punto
               ^
    1 error
    Niente...

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,165
    Magari, postando nel forum "Java"...

    Sposto.


    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
    Quote Originariamente inviata da Lanciator Visualizza il messaggio
    codice HTML:
    javac Principale.java
    Principale.java:1: error: class Punto is public, should be declared in a file named Punto.java
        public class Punto
               ^
    1 error
    Niente...
    Un sorgente Java può contenere più definizioni di classi/interfacce/enum "top-level" (non innestate). Ma solo una può essere marcata public. E se c'è questo tipo public, il nome del file sorgente deve corrispondere (.java a parte) al nome di questo tipo.
    AndreaSenior Java developerSCJP 5 (91%) – SCWCD 5 (94%)
    Il mio nuovo sito-blog italiano sulla programmazione: andbin.it

  6. #6
    Utente di HTML.it L'avatar di minomic
    Registrato dal
    Nov 2010
    Messaggi
    635
    Sì, non avevo visto la classe in alto, ma solo Principale che è la più corposa...

  7. #7
    Essendo un novellino, perché il public "Và al più corposo", scusate se rispondo ora, ma ho avuto tempo solo a quest'ora xD
    Comunque mettendolo al principale, và
    Il public và al principale perché da lì parte il programma? Fatemi sapere grazie in anticipo

  8. #8
    Utente di HTML.it L'avatar di minomic
    Registrato dal
    Nov 2010
    Messaggi
    635
    No non ho detto che il public va alla classe più corposa, ma solo che non avevo proprio visto l'altra più piccola.

    Poi se vogliamo possiamo dire che a volte all'interno del file XXX.java viene definita come public la classe XXX che ha tutti i suoi campi e i suoi metodi e si appoggia ad un'altra classe (spesso più piccola) di nome YYY, che viene definita direttamente dentro il file XXX.


  9. #9
    Quote Originariamente inviata da Lanciator Visualizza il messaggio
    Il public và al principale perché da lì parte il programma?
    No, la JVM è in grado di avviare il main() anche se la classe ha il livello di accesso di "default" (cioè package-level). Funzionerebbe anche se fosse una nested-class marcata private.

    Per prove e test fatti al "volo" o comunque per programmini senza troppe pretese, può anche andare bene avere più classi top-level nello stesso sorgente. Per qualunque cosa di un po' più "serio" dovresti seguire l'equazione 1 classe top-level = 1 sorgente .java. Ed eventualmente usare i package.
    AndreaSenior Java developerSCJP 5 (91%) – SCWCD 5 (94%)
    Il mio nuovo sito-blog italiano sulla programmazione: andbin.it

  10. #10
    Grazie mille ragazzi
    Risposte mooolto complete, ora ho capito
    Grazie ancora buona serata

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