Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2003
    Messaggi
    104

    [java] problemi con le classi

    ecco qua un esempio che ho preso da un libro

    public class Coin
    {
    public final int HEADS = 0;
    public final int TAILS = 1;

    private int face;

    //Inizializza la moneta lanciandola;
    public Coin()
    {
    flip();
    }

    //Lancia una moneta scieglindone una faccia in maniera casuale.

    public void flip()
    {
    face = (int) (Math.random()*2);
    }

    //Restituisce la faccia corrente della moneta come intero

    public int getFace ()
    {
    return face;
    }

    //Restituisce la faccia corrente della moneta come stringa

    public String toString()
    {
    String faceName;

    if (face == HEADS)
    faceName = "Heads";
    else
    faceName = "Tails";

    return faceName;
    }
    }



    /////////////////////////////////////////////////////////////////////////////


    import Coin;

    public class countFlips
    {
    public static void main (String[] args)
    {
    final int NUM_FLIPS = 1000;
    int headCount = 0, tailCount = 0;

    Coin myCoin = new Coin(); //istanzia un oggetto coin

    for (int count=1; count <=NUM_FLIPS; count++)
    {
    myCoin.flip();

    if (mycoin.getFace()==myCoin.HEADS)
    headCount ++;
    else
    tailCount ++;
    }

    System.out.println ("The number flips: " + NUM_FLIPS);
    System.out.println ("The number of heads: " + headCount);
    System.out.println ("The number of tails: " + tailCount);
    }
    }




    Il problema è il seguente.
    Ora la classe coin rappresenta una moneta con 2 faccie che puo' essere lanciata.

    in fase di compilazione non mi da errori

    Nel programma CountFlips importo la classe Coin ma la classe coin non mi viene "recepita" dal programma.


    come mai?

    Dove sbaglio?

    Son sicuro che il codice è giusto eppure vengono generati 4 errori in fase di compilazione di CountFlips.java:

    countFlips.java:1: '.' expected
    import Coin;
    ^

    countFlips.java:10: cannot resolve symbol
    Symbol: class Coin
    Location: class countFlips
    Coin myCoin = new Coin() //istanzia un oggetto coin
    ^
    countFlips.java:10: cannot resolve symbol
    Symbol: class Coin
    Location: class countFlips
    Coin myCoin = new Coin() //istanzia un oggetto coin
    ^



    3 errors



    non riesco a trovare dove sbaglio... forse nei path o classpath delle variabili di sistema...
    non son tanto pratico, se potete aiutatemi
    <-- io

  2. #2
    nella classe Coin , la prima riga deve essere :

    package coin;


    e poi devi impostare il Classpath.
    Metti il file Coin.class e Coin.java in una dir che si chiama coin , ad esempio in c:\.
    Quindi avrai c:\coin\
    ora nel classpath setti una cosa del genere
    CLASSPATH =.;c:\

    e vedi ceh funza
    Lang=Java
    Ambiente = Eclipse forever
    Ubuntu & Win XP Pro

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2003
    Messaggi
    104
    ho messo
    package Coin;

    nella classe coin
    ho salvato
    javac Coin.java e nessun errore

    ho creato una cartella Coin
    ci ho spostato i file che mi hai detto

    Variabili d'ambiente al classpath
    ho aggiunto ; c:\

    riavviato il pc

    stesso problema
    quando faccio javac countFlip.java 3 errori
    non mi trova la classe coin

  4. #4
    codice:
    package prova;
    
    public class Coin
    {
    public final int HEADS = 0;
    public final int TAILS = 1;
    
    private int face;
    
    //Inizializza la moneta lanciandola;
    public Coin()
    {
    flip();
    }
    
    //Lancia una moneta scieglindone una faccia in maniera casuale.
    
    public void flip()
    {
    face = (int) (Math.random()*2);
    }
    
    //Restituisce la faccia corrente della moneta come intero
    
    public int getFace ()
    {
    return face;
    }
    
    //Restituisce la faccia corrente della moneta come stringa
    
    public String toString()
    {
    String faceName;
    
    if (face == HEADS)
    faceName = "Heads";
    else
    faceName = "Tails";
    
    return faceName;
    }
    }
    
    //////////////////////////////////
    
    import prova.Coin;
    
    public class countFlips
    {
    public static void main (String[] args)
    {
    final int NUM_FLIPS = 1000;
    int headCount = 0, tailCount = 0;
    
    Coin myCoin = new Coin(); //istanzia un oggetto coin
    
    for (int count=1; count <=NUM_FLIPS; count++)
    {
    myCoin.flip();
    
    if (myCoin.getFace()==myCoin.HEADS)
    headCount ++;
    else
    tailCount ++;
    }
    
    System.out.println ("The number flips: " + NUM_FLIPS);
    System.out.println ("The number of heads: " + headCount);
    System.out.println ("The number of tails: " + tailCount);
    }
    }
    Tutti e due i file sono inseriti in una directory che si chiama prova .

    Vedi così cosa ti succede. a me va
    Lang=Java
    Ambiente = Eclipse forever
    Ubuntu & Win XP Pro

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2003
    Messaggi
    104
    il package prova lo devo salvare in formato jar?

    scusa, ma ho un caiser di manuale che ho comprato sotto consiglio del prof che non spiega bene come farle funzionare ste classi del cavolo.

    ci sto uscendo pazzo.




  6. #6
    1- Crei una directory in c:\ "prova"
    2- Imposti il classpath in modo tale che compaia c:\
    3- Salvi nella directory prova il file Coin.java e lo compili .
    4- Salvi in una qualsiasi directory il file countFlips.java , lo compili e lo esegui.

    Non devi fare altro
    Lang=Java
    Ambiente = Eclipse forever
    Ubuntu & Win XP Pro

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.