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

    java neofita msg compilatore

    salve, sono all'inizio del corso di java e sto facendo un po esercitazione.
    mi trovo un po in difficoltà, oggi è apparso un msg del compilatore che non so come interpretare.



    16/12/2009 13.46 <DIR> .
    16/12/2009 13.46 <DIR> ..
    16/12/2009 16.45 283 Calc.class
    16/12/2009 16.45 187 Calc.java
    16/12/2009 18.27 434 First.java
    3 File 904 byte
    2 Directory 154.422.620.160 byte disponibili

    D:\esejava\semplice>javac First.java
    First.java:14: cannot find symbol
    symbol : class Calc
    location: class semplice.First
    Calc calc = new Calc();
    ^
    First.java:14: cannot find symbol
    symbol : class Calc
    location: class semplice.First
    Calc calc = new Calc();
    ^
    2 errors

    D:\esejava\semplice>

    praticamente il costruttore si riferisce ad una classe che si trova in un altro file, ma sono cmq nello stesso package e sono dichiarate come public.
    - il codice--->

    // semplice programma per allenamento sintassi e non


    package semplice;

    public class First{
    public First(){}

    static int a = 2;
    static int b = 2;
    static int result=0;

    public static void main(String[] args) {

    Calc calc = new Calc();
    calc.somma(a , b);{
    result=calc.r;
    }
    System.out.println(a);
    System.out.println(b);
    System.out.println(result);
    }


    }



    --------------------------------


    // semplice ,fa i calcoli

    package semplice;

    public class Calc{
    public Calc(){}

    private int r;
    public void somma (int a, int b){
    this.r= a + b ;
    }

    }

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472

    Moderazione

    Ho spostato la discussione nel forum dedicato a Java.
    In futuro, poni qui le tue domande relative a questo linguaggio.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

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

    Re: java neofita msg compilatore

    Originariamente inviato da leadfoot
    D:\esejava\semplice>javac First.java
    First.java:14: cannot find symbol
    symbol : class Calc
    location: class semplice.First
    Calc calc = new Calc();
    ^
    Vedo che stai compilando all'interno della cartella semplice. Non è corretto, devi posizionarti nella directory genitore. Questo perché le due classi si trovano nel package semplice ed il loro nome "completo" è semplice.First e semplice.Calc. Per compilare correttamente devi quindi posizionarti in D:\esejava. Ho visto poi che c'è un errore nel codice: r è una variabile privata di Calc, non puoi accederci al di fuori della classe Calc!
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  4. #4
    Grazie, scusate l'errore, un po la stanchezza un po la fretta.

  5. #5
    Salve, ho di nuovo lo steso errore, anche se ora compilo nella cartella genitore, ed ho sistema la visibilità della r .



    C:\esejava>javac semplice\First.java
    semplice\First.java:17: cannot find symbol
    symbol : variable ret
    location: class semplice.First
    result=ret.getR();
    ^
    1 error

    C:\esejava>


    codice:
    ------------------------------------------------------
    // semplice programma per allenamento sintassi e non


    package semplice;

    public class First{
    public First(){}

    static int a = 2;
    static int b = 2;
    static int result=0;

    public static void main(String[] args) {

    Calc calc = new Calc();
    calc.somma(a , b);{
    result=ret.getR();
    }
    System.out.print(a);
    System.out.print("+");
    System.out.print(b);
    System.out.print("=");
    System.out.println(result);
    }







    ---------------------------


    // semplice ,fa i calcoli

    package semplice;

    public class Calc{
    public Calc(){}
    Calc ret = new Calc();
    private int r;


    public int getR(){
    return this.r;
    }
    public void somma (int a, int b){
    this.r= a + b ;
    }

    }

  6. #6
    ho trovato l'errore, usavo il costruttore sbagliato.
    Come devo fare per la mia distrazione ?

    Scusate.

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.