回 帖 发 新 帖 刷新版面

主题:请教:java中输入函数的包是util,与io包有什么区别啊?

一直有这个疑惑,明明java中键盘输入的包在util中,但是为什么有时候要用io包呢?
另外还有一个问题:我想写一个输入三角形三边计算面积的代码,在三角形的类中定义了一个set方法可以用键盘输入数字,但在运行的时候报错,是怎么回事?代码如下:
import java.util.*;

class Trangle  
{  
   double sideA,sideB,sideC,area,length;
   boolean boo;
   public  Trangle(double a,double b,double c) 
   { 
    sideA=a; 
sideB=b;
sideC=c;       
 if((a+b>c)&&(b+c>a)&&(a+c>b))  

boo=true;       
  }    
    else
     { 
        boo=false;       }
   }
   double getLength() 
   {   
      return length=sideA+sideB+sideC;
   }
   public double  getArea() 
   {  
      if(boo)
        { 
          double p=(sideA+sideB+sideC)/2.0;
          area=Math.sqrt(p*(p-sideA)*(p-sideB)*(p-sideC)) ;
          return area;
        }
      else
        { 
          System.out.println("不是一个三角形,不能计算面积");
          return 0;
        }
   } 
   public void setABC(double a,double b,double c)
   { 
Scanner reader=new Scanner(System.in);
while(reader.hasNextDouble())
        {
            double a= reader.nextDouble();
            double b= reader.nextDouble();
            double c= reader.nextDouble();
           }   
    
   
if((a+b>c)&&(b+c>a)&&(a+c>b))  

boo=true;       
  }    
    else
     { 
        boo=false;       }
   }
}

public class qq
{  
    public static void main(String args[ ])
    { 
       double length,area;
Trangle trangle;
trangle =new Trangle(5,12,13);
area=trangle.getArea();
length=trangle.getLength();
System.out.println("三角形的面积:"+area); 
 System.out.println("三角形的周长:"+length);




trangle.setABC(a,b,c);
 
area=trangle.getArea();
length=trangle.getLength();
System.out.println("三角形的面积:"+area); 
 System.out.println("三角形的周长:"+length);

area=trangle.getArea();
length=trangle.getLength();
System.out.println("三角形的面积:"+area); 
 System.out.println("三角形的周长:"+length);


}
}

回复列表 (共1个回复)

沙发

"java中键盘输入的包在util中"?你想说明具体的什么?是Scanner么?还是StringTokenizer?说得不很清楚啊
io包是输入/输出包,这个输入输出远远不只是"键盘输入".典型地,它包括了从文件输入.更关键的是,它定义了一些很重要的标准,比如byte如何转化为UTF-8的或者其它标准的char(详见InputStreamReader和OutputStreamWriter的API)
其他少量的io类哪怕是在其他包里,都是按照这些标准来的.

我来回复

您尚未登录,请登录后再回复。点此登录或注册