Newsgroup: it.istruzione.universita.ingegneria
Titolo: Creazione package Java

Ho provato a riprendere un programma scritto dal mio professore come
esempio. Il programma comprende un file Complex.java dove è descritta la
classe Complex per rappresentare i numeri complessi  e un file
TestComplex.java per verificare la classe. Ho cercato di creare un package
per la classe Complex per poi importarlo nel programma TestComplex. Il file
Complex.java mi viene compilato tranquillamente mentre il file
TestComplex.java non mi viene compilato e mi vengono dati errori  che qua
sotto vi allego insieme ai due file. Dove sbaglio?
Grazie
//classe numeri complessi
//Complex.java
package math.number;
import java.text.DecimalFormat;
public class Complex extends Object{
 private double parteReale;
 private double parteImmaginaria;
 public Complex(){setComplex(0.0,0.0);}
 public void setComplex(double r, double i){
    parteReale=r;
    parteImmaginaria=i;
  }
 public void setParteReale(double r){ parteReale=r;}
 public void setParteImmaginaria(double i){parteImmaginaria=i;}
 public String toString(){
     DecimalFormat dueCifre=new DecimalFormat("0.0000");
     return "("+dueCifre.format(parteReale)+" ; "+
            dueCifre.format(parteImmaginaria)+")";
  }
 static public Complex somma(Complex c1, Complex c2){
         Complex s=new Complex();
         s.setParteReale(c1.parteReale+c2.parteReale);
         s.setParteImmaginaria(c1.parteImmaginaria+c2.parteImmaginaria);
         return s;
  }
    static public Complex differenza(Complex c1, Complex c2){
          Complex s=new Complex();
          s.setParteReale(c1.parteReale-c2.parteReale);
          s.setParteImmaginaria(c1.parteImmaginaria-c2.parteImmaginaria);
          return s;
   }
 }
//programma che usa i numeri complessi
//TestComplex.java
import math.number.Complex;
import javax.swing.JOptionPane;
public class TestComplex {
 static void main(String args[]){
    Complex c1,c2,c3;
    String output="";
    c1=new Complex();
    c1.setComplex(-2.345,23);
          c2=new Complex();
    c2.setParteReale(2.5);
    c2.setParteImmaginaria(0.0);
          c3=new Complex();
    c3=Complex.somma(c1,c2);
output+="c1="+c1+"\nc2="+c2+"\nsomma="+c3+"\ndiff="+Complex.differenza(c1,c2
);
    JOptionPane.showMessageDialog(null,output,"Test
Complesso",JOptionPane.PLAIN_MESSAGE);
    System.exit(0);
  }
}
//errori che mi vengono dati alla compilazione di TestComplex.java
TestComplex.java [1:1] package math.number does not exist
import math.number.Complex;
                   ^
TestComplex.java [6:1] cannot access Complex
bad class file: C:\Java\Complex.java
file does not contain class Complex
Please remove or make sure it appears in the correct subdirectory of the
classpath.
                  Complex c1,c2,c3;
                  ^
2 errors
Errors compiling TestComplex.

 sotto vi allego insieme ai due file. Dove sbaglio?
Il file Complex.class deve trovarsi nella directory math/number. Inoltre se
TestComplex.java non si trova nella directory padre di math devi anche
impostare il classpath del compilatore con l'opzione -classpath
directoryCheContieneMath
Ciao
Matteo
-- 
chi sono e soprattutto chi non sono:
http://www.ilnomedeldominio.it
un programma per studenti universitari:
http://inutility.ilnomedeldominio.it/imsv/