在别的类前加上IMPORT *.JAVA,*代表你的PACKAGE,就可以了

解决方案 »

  1.   

    import Rational.java;
    import java.awt.*;
    import java.applet.Applet;public class exe6_3 extends Applet
    {
    Rational a();
    a.print();

    Rational b(3,4);
    b.print();
    b.floatPrint(1);

    Rational c(2,5);

    a=b.add(c);
    a.print();

    a=b.subtract(c);
    a.print();

    a=b.multiply(c);
    a.print();

    a=b.divide(c);
    a.print();
    }这样??
    还是不行啊!!
      

  2.   

    改成这样了: 问题还是一样啊!import Rational.java;
    import java.io.*;public class exe6_3
    {
    public static void main(String args[]) throws IOException
    {
    Rational a;
    a=new Rational();
        a.print();

        Rational b;
        b=new Rational(6,8);
        b.print();
        b.floatPrint(1);

        Rational c;
        c=new Rational(2,5);

         a=b.add(c);
         a.print();
      
         a=b.subtract(c);
         a.print();

         a=b.multiply(c);
         a.print();

         a=b.divide(c);
         a.print();
        }
    }--------------------Configuration: <Default>--------------------
    E:\JAVA2 SDK\myJava\exe6_3.java:2: package Rational does not exist
    import Rational.java;
                    ^
    E:\JAVA2 SDK\myJava\exe6_3.java:21: add(Rational,Rational) in Rational cannot be applied to (Rational)
            a=b.add(c);
               ^
    E:\JAVA2 SDK\myJava\exe6_3.java:24: subtract(Rational,Rational) in Rational cannot be applied to (Rational)
            a=b.subtract(c);
               ^
    E:\JAVA2 SDK\myJava\exe6_3.java:27: multiply(Rational,Rational) in Rational cannot be applied to (Rational)
            a=b.multiply(c);
               ^
    E:\JAVA2 SDK\myJava\exe6_3.java:30: divide(Rational,Rational) in Rational cannot be applied to (Rational)
            a=b.divide(c);
               ^
    E:\JAVA2 SDK\myJava\Rational.java:98: possible loss of precision
    found   : double
    required: int
                    int temp1=(int)temp*Math.pow(10,n);
                                       ^
    6 errorsProcess completed.
      

  3.   

    你要import的话不可以写成源文件名的形式,应该是像import somePackage.Rational;这样。从你的帖子来看,类Rational应该没有指明位于哪个包中,那即是说它跟exe6_3(建议按照Java的命名规范改为Example6_3之类的)位于同一个默认包之中。所以只要简单地将二者置于同一目录下编译即可,不需要导入〉。
      

  4.   

    两个*.java放在一个包中(一般情况下,一个目录就是一个包),就不需import吧,直接调用就得了。另:
    这句Rational a();
    和这句Rational b(3,4);是什么意思?
      

  5.   

    看错误提示,add、subtract等方法,好像是需要两个参数,而你在调用时只给了一个参数。
      

  6.   

    对不起对不起,
    Rational a();
    Rational b(3,4);是C++养成的习惯...
      

  7.   

    现在编译通过了谢谢
    可是输出不对啊,看了半天了。public class Rational
    {
    private int numerator;
    private int denominator;

    public Rational()      
    {
    numerator=1; denominator=1;
    }

    public Rational(int n,int d)
    {
    numerator=n; denominator=d;
    reduce();
    }
     
    public Rational(Rational r)   //copy constructor
    {
    numerator=r.numerator;
    denominator=r.denominator;
    }

    public void reduce()
    {
    int larger;
    if (numerator>=denominator) 
    {
    larger=numerator;
    }
    else
    {
    larger=denominator;
    }
    for (int i=1;i<=larger;i++)
    {
    if (numerator%i==0&&denominator%i==0)
    {
    numerator/=i;  denominator/=i;
    }
    }
    }

    public Rational add(Rational a,Rational b)
    {
    int temp1,temp2,temp3,temp4;
    temp1=a.numerator*b.denominator;
    temp2=a.denominator*b.denominator;
    temp3=b.numerator*a.denominator;
    temp4=b.denominator*a.denominator;

    numerator=temp1+temp3;
    denominator=temp1;

    reduce();
    return this;
    }

    public Rational subtract(Rational a,Rational b)
    {
    int temp1,temp2,temp3,temp4;
    temp1=a.numerator*b.denominator;
    temp2=a.denominator*b.denominator;
    temp3=b.numerator*a.denominator;
    temp4=b.denominator*a.denominator;

    numerator=temp1-temp3;
    denominator=temp1;

    reduce();
    return this;
    }

    public Rational multiply(Rational a,Rational b)
    {
    numerator=a.numerator*b.numerator;
    denominator=a.denominator*b.denominator;
    reduce();
    return this;
    }

    public Rational divide(Rational a,Rational b)
    {
    numerator=a.numerator*b.denominator;
    denominator=a.denominator*b.numerator;
    reduce();
    return this;
    }

    public void print()
    {
    System.out.print(numerator+"/"+denominator);
    System.out.flush();
    }

    public void floatPrint(int n)   //n is precision
    {
    double temp=(double)numerator/denominator;
    int temp1=(int)temp*Math.pow(10,n);
    temp=(double)temp1/Math.pow(10,n);
    System.out.print(Double.toString(temp));
    System.out.flush();
    }
    }//test driver of class Rational
    import java.io.*;public class exe6_3
    {
    public static void main(String args[]) throws IOException
    {
    Rational a;
    a=new Rational();
        a.print();

        Rational b;
        b=new Rational(6,8);
        b.print();
    //     b.floatPrint(1);

        Rational c;
        c=new Rational(2,5);

         a.add(b,c);
         a.print();
      
         a.subtract(b,c);
         a.print();

         a.multiply(b,c);
         a.print();

         a.divide(b,c);
         a.print();
        }
    }输出:497892398902 怎么回事?????
      

  8.   

    import Rational.java这个不对的!!!import后面的形式是:import 包的*或者是import 类!这个写法就错了!!!兄弟Rational.java是一个java的文件不是类.再说要使用这个类只要把这个类放在与哪个java程序添加上去,不要前面加public就可以.还有要输入浮点数:直接用
    (float)System.in.read()不过要加throws InterruptedException
      

  9.   

    life_and_life(后悔选择):请问为什么我这个程序输出的值和我输入的值大向径庭呢?
    import java.io.*;public class exercise1
    {
    public static void main(String arge[]) throws IOException
    {
    float inNumber;
    int intPart=0;
    float decimalPart;

    System.out.println("Enter a float number:");
    inNumber=(float)System.in.read();
    System.out.println("The input number is:"+inNumber);

    intPart=(int) inNumber;
    decimalPart=inNumber-intPart;

    System.out.println("The input number is:"+inNumber);
    System.out.println("The int part is:"+intPart);
    System.out.println("The decimal part is:"+decimalPart);
    }
    }