写了两个程序,一个叫TemperatureSensor,用来获得数据.一个叫appletsample,被html调用,显示数据.
我现在要在appletsample里面调用TemperatureSensor的方法,怎么不行了.
两个文件放在同一个目录(其实是同一个工程里).贴下源码吧,不太长:
*************************TemperatureSensor****************************import java.io.*;
import com.dalsemi.onewire.OneWireAccessProvider;
import com.dalsemi.onewire.adapter.DSPortAdapter;
import com.dalsemi.onewire.OneWireException;
import com.dalsemi.onewire.container.OneWireContainer;
import com.dalsemi.onewire.container.OneWireContainer10;public class TemperatureSensor{
    DSPortAdapter adapter;
    OneWireContainer10 owc;
    byte[] state;    TemperatureSensor(DSPortAdapter adapter) throws OneWireException {
        this.adapter = adapter;
        owc = (OneWireContainer10) adapter.getFirstDeviceContainer();
        if (owc == null) {
            throw new OneWireException("No DS18s20 chip found");
        }
        state = owc.readDevice();
    }
    //getTemperature就是要调用这个方法
    public double getTemperature() throws OneWireException {
        owc.doTemperatureConvert(state);
        state = owc.readDevice();
        double Temperature = owc.getTemperature(state);        return Temperature;
    }
    //main
    public static void main(String[] args) {
        try {
            TemperatureSensor temperature = new TemperatureSensor(OneWireAccessProvider.getDefaultAdapter());
                        
        } catch (OneWireException owe) {
            System.out.println(owe.getMessage());
        }
    }
}
****************************appletsample*******************************
  
import java.applet .*;
import java.awt.*;
import java.sql.*; 
import java.util.*; 
import java.util.Date;public class appletsample  extends Applet
{
    
    String temMsg;
      
    TemperatureSensor temp = new TemperatureSensor();/*就是上面这句报错:"appletsample.java": cannot find symbol; symbol  : class TemperatureSensor, location: class appletsample at line 44, column 17*/    double tempDouble = temp.getTemperature(); 
    temMsg = Double.toString(tempDouble);                            
         
        public void paint(Graphics g)
    {        g.drawString (temMsg,50,50);
    }}

解决方案 »

  1.   

    一般新上手的人都不用package,你把他们放到一个package里面吧,不要用缺省的package。
      

  2.   

    TemperatureSensor.java要编译成class文件吧
      

  3.   

    回infowain:我试图将这两个文件放到一个新建的package中,但居然编译不过,提示如下:
    "appletsample.java": Package D:\Jbuild\project\TINI\src\applet\appletsample.java stated in source unnamed package does not match directory D:\Jbuild\project\TINI\src\applet\appletsample.java.
    请问这是怎么回事了?回zebra007:我已经编译好了class文件,放在同一个目录下
      

  4.   

    是不是跟你的类有关啊,你的TemperatureSensor类构造函数是有参数的,而你实例化TemperatureSensor对象的时候没有给定参数,这样好像不行吧。
      

  5.   

    ··重写了构造函数并且有参数,实例化的时候要参数拉····如果没有参数得话,就再写一个不带参数得构造函数就好了··:public TemperatureSensor(){ }