阅读以下说明和Java源程序,将应填入(n)处的字句写在对应栏内。【说明】以下程序能够计算三角形、矩形和正方形的周长并输出。程序由5个类组成:AreaTest是主类,类Triangle、Rectangle和Square分别表示三角形、矩形和正方形,抽象类Figure提供了一个计算周长的抽象方法。【程序】public class girthTest{public static void main (String args[]){Figure[]figures={new Triangle (2,3,3),ne

题目

阅读以下说明和Java源程序,将应填入(n)处的字句写在对应栏内。

【说明】

以下程序能够计算三角形、矩形和正方形的周长并输出。

程序由5个类组成:AreaTest是主类,类Triangle、Rectangle和Square分别表示三角形、矩形和正方形,抽象类Figure提供了一个计算周长的抽象方法。

【程序】

public class girthTest{

public static void main (String args[]){

Figure[]figures={

new Triangle (2,3,3),new Rectangle(5,8),new Square(5)

};

for(int i=0;i<figures.length;i++){

System.out.println(figures[i]+"girth="+figures[i].getGirth());

}

}

}

public abstract class Figure{

public abstract double getGirth();

}

public class Rectangle extends (1) {

double height;

double width;

public Rectangle(double height,double width){

this.height=height;

this.width=width;

}

public String toString(){

return "Rectangle:height="+height+",width="+width+":";

}

public double getGirth(){

return (2);

}

}

public class Square extends (3) {

public Square(double width){

(4);

}

public Stdng toString(){

return "Square:width='+width+":";

}

}

public class Triangle extends (5) {

double la;

double lb;

double lc;

public Triangle(double la,double lb,double lc){

this.la=la;this.lb=lb;this.lc=lc;

}

public String toString(){

return "Triangle:sides=" +la+"," +lb+"," +lc+":";

}

public double getGirth(){

return la+lab+lc;

}

}


相似考题
参考答案和解析
正确答案:(1)Figure
(1)Figure 解析:类Rectangle继承自类Figure,所以此处填Figure。
更多“阅读以下说明和Java源程序,将应填入(n)处的字句写在对应栏内。 【说明】 以下程序能够计算三角形、矩 ”相关问题
  • 第1题:

    阅读以下说明和Java程序,将应填入(n)处的字句写在对应栏内。

    [说明]

    下面程序实现十进制向其它进制的转换。

    [Java程序]

    ClasS Node{

    int data;

    Node next;

    }

    class Transform{

    private Node top;

    public void print(){

    Node p;

    while(top!=null){

    P=top;

    if(P.data>9)

    System.out.print((char)(P.data+55));

    else

    System.out.print(p.data);

    top=p.next;

    }

    }

    public void Trans(int d,int i){//d为数字;i为进制

    int m;

    (1) n=false;

    Node p;

    while(d>0){

    (2);

    d=d/i;

    p=new Node();

    if( (3) ){

    p.data=m;

    (4);

    top=P;

    n=true;

    }

    else{

    p.data=m;

    (5);

    top=P;

    }

    }

    }

    }


    正确答案:(1) boolean (2) m=d%i (3) !n (4) top->next=null (5) p->next=top
    (1) boolean (2) m=d%i (3) !n (4) top->next=null (5) p->next=top 解析:本题考查Java编程,主要考查了链表的使用。
    所有的问题只出在函数Trans中,它的功能是完成将十进制数d转换为任意进制i的数,并存在数组中。变量n被赋值为false,说明n是布尔型变量,Java中布尔型变量关键字为boolean。故(1)应填“boolean”。函数中首先定义了一个指向链表结点的指针(实为链栈),然后开始进行转换,进制转换应该是一个很常见的问题,就是不断地求模运算,所以(2)处应填入“m=d%i”。然后,我们要把求模的结果保存到链栈中。对于链栈,第一个结点比较特殊,需要特殊处理,从if块中的语句“n=true”可知,此处正是处理第一个结点的特殊情况,故(3)应填“!n”,(4)处应填入“top->next=null”。这里采用的链栈,所以(5)处应填入“p->next=top”。

  • 第2题:

    阅读以下说明和JAVA 2代码,将应填入(n)处的字句写在对应栏内。

    [说明]

    以下程序为类类型的变量应用实例,通过异常处理检验了类CCircle的变量的合法性,即参数半径应为非负值。仔细阅读代码和相关注释,将程序补充完整。

    [JAVA代码]

    //定义自己的异常类

    class CCircleException extends Exception

    {

    }

    // 定义类 CCircle

    class CCircle

    {

    private double radius;

    public void setRadius ( double r ) (1)

    {

    if ( r<0 ) {

    (2)

    }

    else

    (3)

    }

    Public void show ( ) {

    System. out. println ( "area="+3.14*radius*radius );

    }

    }

    public class ciusample

    {

    public static void main ( String args[] )

    {

    CCircle cir=new CCircle( );

    (4) {

    cir. setRadius ( -2.0 )

    }

    (5)

    {

    System. out. println ( e+" throwed" ) ;

    }

    cir. show( ) ;

    }

    }


    正确答案:(1)throws CCircleException (2)throw new CCircleException(); //抛出异常 (3)radius=r; (4)try (5)catch(CCircleException e) //捕捉由setRadius()抛出的异常
    (1)throws CCircleException (2)throw new CCircleException(); //抛出异常 (3)radius=r; (4)try (5)catch(CCircleException e) //捕捉由setRadius()抛出的异常 解析:本题主要考查JAVA语言中Class类型的变量应用。本段代码中对于类Ccircle的半径变量进行合法性检验,如果圆Ccircle的半径为负值,则抛出异常处理。

  • 第3题:

    试题三(共 15 分)

    阅读以下说明和 C 程序,将应填入 (n) 处的字句写在答题纸的对应栏内。


    正确答案:

  • 第4题:

    阅读下列程序说明和C++程序,把应填入其中(n)处的字句,写在对应栏内。

    【说明】

    阅读下面几段C++程序回答相应问题。

    比较下面两段程序的优缺点。

    ①for (i=0; i<N; i++ )

    {

    if (condition)

    //DoSomething

    else

    //DoOtherthing

    }

    ②if (condition) {

    for (i =0; i<N; i++ )

    //DoSomething

    }else {

    for (i=0; i <N; i++ )

    //DoOtherthing

    }


    正确答案:程序1优点:程序简洁;缺点:多执行了N-1次逻辑判断并且程序无法循环“流水”作业使得编译器无法对循环进行优化处理降低了效率。 程序2优点:循环的效率高;缺点:程序不简洁。
    程序1优点:程序简洁;缺点:多执行了N-1次逻辑判断,并且程序无法循环“流水”作业,使得编译器无法对循环进行优化处理,降低了效率。 程序2优点:循环的效率高;缺点:程序不简洁。

  • 第5题:

    阅读以下说明和流程图,将应填入(n)处的字句写在对应栏内。

    [说明]

    下面的流程图用于计算一个英文句子中最长单词的长度(即单词中字母个数)MAX。假设该英文句子中只含字母、空格和句点“.”,其中句点表示结尾,空格之间连续的字母串称为单词。

    [流程图]


    正确答案:(1)MAX←0 (2)←L+1 (3)MAX←L (4)≠ (5)L←0
    (1)MAX←0 (2)←L+1 (3)MAX←L (4)≠ (5)L←0 解析:本题用到的三个变量及其作用分别为:A,存放输入的一个字符;MAX,存放当前为止最长单词的长度;L,存放当前单同的长度。
    (1)使用变量MAX应先赋予初值,由上下文知其初值为0;
    (2)读取当前单词时,每读人一个字母,单词长度值L应增1;
    (3)当前单词长度L比MAX时,应更新MAX的值;
    (4)若当前字符不是句点,应当继续读取字符;
    (5)读取下一个单词前,应当重置L的值。

  • 第6题:

    阅读下列说明和?C++代码,将应填入(n)处的字句写在答题纸的对应栏内。
    【说明】
    阅读下列说明和?Java代码,将应填入?(n)?处的字句写在答题纸的对应栏内。
    【说明】
    某快餐厅主要制作并出售儿童套餐,一般包括主餐(各类比萨)、饮料和玩具,其餐品种
    类可能不同,但其制作过程相同。前台服务员?(Waiter)?调度厨师制作套餐。现采用生成器?(Builder)?模式实现制作过程,得到如图?6-1?所示的类图。






    答案:
    解析: