加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

关于missing return statement(缺少回归申明)(原)

(2006-11-05 12:45:24)
分类: java
在做ITAT的模拟题的时候,最后一道题花了不少的时间,而且老报missing return statement错误,题目是这样的:
编写一个完整的Java  Application 程序。包含接口ShapeArea,类Circle、Rectangle、Test,具体要求如下:
⑴接口ShapeArea:
  ①接口方法
double  getArea():求一个形状的面积
double  getPerimeter ():求一个形状的周长
⑵类Rectangle:
  实现ShapeArea接口,并有以下属性和方法:
①属性
width: double型,表示长方形的宽度
height:double型,表示长方形的长度
②方法
Rectangle(double  w,  double  h):构造函数
toString():输出矩形的描述信息,如“width=1.0,height=2.0,perimeter=6.0,area=2.0”
⑶Test类作为主类要完成测试功能
① 生成Rectangle对象
② 调用对象的toString方法,输出对象的描述信息。
我写的源程序如下:
import java.io.*;
interface ShapeArea{//接口定义
    double getArea();
    double getPerimeter();
}
class Rectangle implements ShapeArea{
 double width ;
    double height ;
 Rectangle(double x,double y){//构造方法
  width=x;
  height=y;
 }
 public double getPerimeter(){//求周长方法
  return (width+height)*2;
 }
 public double getArea(){//求面积方法
  return width*height ;
 }
 public String toString(){
  try{
   System.out.println("width="+ width + ",height="+ height +",perimeter=" + getPerimeter() + ",area=" + getArea());
   return "";
  }
  catch(Exception e){return "";}
 }
}
class Test{
    public static void main (String[] args) {
     Rectangle r = new Rectangle(3.0,7.0);
     r.toString();
    }
}
查了一些文档,估计是try、catch部分出错了,然后添加了两句return才成功编译,因为指明了toString方法返回String值,但原来没返回任何值,所以出错了。看来编写程序的时候得小心一点。另外从这里发现了出现missing return statement的错误另一种情况,为方便大家,摘录与后:
一个实现打印几个由*组成的矩形的小程序代码如下:
public class TextAreax
{
    public static int getAreax(int x,int y)
    {
        for(int i=0;i<x;i++)
        {
            for(int j=0;j<y;j++)
            {
            System.out.print("*");
            }
        System.out.println();
        }
        System.out.println();
    }
    public static void main(String args[])
    {
        getAreax(3,4);
        getAreax(6,5);
    }
}
他在定义getAreax方法时返回值类型定义为了int,而函数无返回值,这样就造成了编译无法通过的问题,把int改为void无返回值编译就顺利通过了。

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有