题目内容 (请给出正确答案)
[主观题]

阅读以下说明和JAVA 2代码,将应填入(n)处的字句写在对应栏内。 [说明] 以下程序为类类型的变量应

阅读以下说明和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() ;

}

}

查看答案
如搜索结果不匹配,请 联系老师 获取答案
您可能会需要:
您的账号:,可能会需要:
您的账号:
发送账号密码至手机
发送
更多“阅读以下说明和JAVA 2代码,将应填入(n)处的字句写在对…”相关的问题

第1题

阅读下列函数说明、图和C代码,将应填入(n)处的字句写在对应栏内。 【说明】 假定用一个整型数组表示

阅读下列函数说明、图和C代码,将应填入(n)处的字句写在对应栏内。

【说明】

假定用一个整型数组表示一个长整数,数组的每个元素存储长整数的一位数字,则实际的长整数m表示为:

m=a[k]×10k-2+a[k-1]×10k-3+…+a[3]×10+a[2]

其中a[1]保存该长整数的位数,a[0]保存该长整数的符号:0表示正数,1表示负数。

运算时先决定符号,再进行绝对值运算。对于绝对值相减情况,总是绝对值较大的减去绝对值较小的,以避免出现不够减的情况。注:不考虑溢出情况,即数组足够大。

【函数】

int cmp(int *LA, int *LB);

/*比较长整数LA与LB的绝对值大小*/

/*若LA绝对值较大返回正值,LA较小返回负值,相等则返回0*/

int ADD(int *LA, int*LB, int *LC)

/*计算长整数LA与LB的和,结果存储于LC中*/

/*注意:正数与负数的和相当于正数与负数绝对值的差*/

/*数据有误返回0,正常返回1*/

{

if(LA==NULL || LB==NULL || LC==NULL)return 0;

int *pA, *pB,i,N,carry,flag;

flag=LA[0]+LB[0];

switch(flag){/*根据参与运算的两个数的符号进行不同的操作*/

case 0:

case 2:

LC[0]=LA[0];/*LA与LB同号,结果符号与LA(LB)相同*/

pA=LA;

pB=LB;

(1) ;

break;

case 1:/*LA与LB异号*/

/*比较两者的绝对值大小,结果符号与较大者相同*/

flag= (2) ;

if(flag>0){/*LA较大*/

LC[0]=LA[0];

pA=LA;

pB=LB;

}

else if(flag<0){/*LB较大*/

LC[0]=LB[0];

pA=LB;

pB=LA;

}

else{/*LA与LB相等*/

LC[0]=0;

LC[1]=0;

return 1;

}

flag=-1;

break;

default:

return 0;

break;

}/*switch*/

/*绝对值相加减*/

/*注意对于减法pA指向较大数,pB指向较小数,不可能出现不够减的情况*/

(3) ;

N=LA[1]>LB[1]?LA[1]:LB[1];

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

if(i>=pA[1]){/*LA计算完毕*/

carry+=flag *pB[i+2];

}

else if(i>=pB[1]){/*LB计算完毕*/

carry +=pA[i+2];

}

else{

carry +=pA[i+2]+flag *pB[i+2];

}

LC[i+2]=Carry%10;

carry /=10;

if( (4) ){/*需要借位,针对减法*/

LC[i+2]+=10;

carry--;

}

}/*for*/

if( (5) ){/*最高进位,针对加法*/

LC[i+2]=carry;

&n

点击查看答案

第2题

阅读下列说明和数据流图,回答问题1至问题4,将解答填入答题纸的对应栏内。 [说明] 某基于微处理器

阅读下列说明和数据流图,回答问题1至问题4,将解答填入答题纸的对应栏内。

[说明]

某基于微处理器的住宅安全系统,使用传感器(如红外探头、摄像头等)来检测各种意外情况,如非法进入、火警、水灾等。

房主可以在安装该系统时配置安全监控设备(如传感器、显示器、报警器等),也可以在系统运行时修改配置,通过录像机和电视机监控与系统连接的所有传感器,并通过控制面板上的键盘与系统进行信息交互。在安装过程中,系统给每个传感器赋予一个编号(即 id)和类型,并设置房主密码以启动和关闭系统,设置传感器事件发生时应自动拨出电话号码。当系统检测到一个传感器事件时,就激活警报,拨出预置的电话号码,并报告关于位置和检测到事件的性质等信息。

[数据流图4-1]

数据流图4-1(住宅安全系统顶层图)中的A和B分别是什么?

点击查看答案

第3题

阅读下列Java程序和程序说明,将应填入(n)处的字句写在对应栏内。【说明】StringEditor类的功能是:已

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

【说明】StringEditor类的功能是:已知一个字符串,返回将字符串中的非字母字符都删除后的字符串。

public (1) {

public static String removeNonLetters( (2) ){

StringBuffer aBuffer=(3);

char aCharacter;

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

aCharacter=(4);

if(Character.isLetter(aCharacter))

aBuffer.append( (5) );

}

return new String(aBuffer);

}

}

public class StringEditorTester{

public static void main(String args[]){

String riginal="Hi!, My Name is Mark, 234I think you are my classmate?!!";

System.out.println(StringEditor.removeNonLetters(original));

}

}

点击查看答案

第4题

阅读下列函数说明和C代码及流程图,将应填入(n)处的字句写在对应栏内 [说明] 分糖果问题是一个经

阅读下列函数说明和C代码及流程图,将应填入(n)处的字句写在对应栏内

[说明]

分糖果问题是一个经典问题。问题描述如下:幼儿国有n(<20)个孩子围成一圈分糖果,老师先随机地发给每个孩子若干颗糖果,然后按以下规则调整:每个孩子同时将自己手中的糖果分一半给坐在他右边的小朋友;如共有8个孩子,则第1个将原来的一半分给第2个,第2个将原有的一半分给第3个……第8个将原来的一半分给第1个,这样的平分动作同时进行;若平分前,某个孩子手中的糖果是奇数颗,则必须从老师那里要一颗,使他的糖果变成偶数。小孩人数和每个小孩的初始数由键盘输入。经过多少次调整,使每个孩子手中的糖果一样多,调整结束时每个孩子有糖果多少颗,在调整过程中老师又新增发了多少颗糖果。

[C程序]

include <stdlib.h>

include <stdio.h>

bool allequall (int child[], int n ) //判断各小孩子手中的糖果是否相等

{

for ( int i=0; i<n-1; i++)

if (child[i]!=child[i+1] )

return false; //不相等返回假

return true; //相等返回真

}

const int MaxNum=20; //定义最大人数

//主函数

void main ( )

{

int Num=0;

int *child;

int *child1;

//构造两个相应大小的数组child代表小朋友现有的粮果数child1代表小朋友原来有的糖果数

int Tnum=0;

int i=0;

do{

printf ( "Pelase input the number of the children: ").,

scanf ( "%d",&Num );

if ( Num>MaxNum )

printf ( "Error Number!!" );

} while ( Num>MaxNum );

child=new int [Nmn];

child1=new int [Num];

for ( i=0; i<Num; i++ ) //将数组赋值

{

printf ( "Input NO. %d child's candy numbers: ",i+1);

scanf ( "%d", &child[i] );

}

while ( (1) )

{

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

{

if( (2) )

{

(3)

Tnum++;

}

}

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

child1[i]=child[i]; //将child1赋值用来记忆原来小朋友的粮果数

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

(4)

for (i=0; i<Num-1; i++)//用循环实现前一个小朋友粮果数加后一个小朋友粮果数的一半

{

child[i]/=2;

child[i]+=child 1 [i+1];

}

child[Num-1]/=2;

(5)

}

printf ( "每个同学最后分到糖果数目是%d\n", child[1]);

printf ( "老师分发出的糖果是%d\n", Tnum );

}

图12-7是一种解决问题的流程图,请根据该流程图将对应C代码(n)处补充完整。

点击查看答案

第5题

阅读下列说明和Java代码,应填入(n)处。 【说明】 某游戏公司现欲开发一款面向儿童的模拟游戏,该游戏

阅读下列说明和Java代码,应填入(n)处。

【说明】

某游戏公司现欲开发一款面向儿童的模拟游戏,该游戏主要模拟现实世界中各种鸭子的发声特征、飞行特征和外观特征。游戏需要模拟的鸭子种类及其特征如表10-7所示:

为支持将来能够模拟更多种类鸭子的特征,采用策略设计模式(Strategy)设计的类图如图10-12所示:

其中,Duck为抽象类,描述了抽象的鸭子,而类RubberDuck、MallardDuck、 CottonDuck 和 RedHeadDuck分别描述具体的鸭子种类,方法fly()、quack()和display()分别表示不同种类的鸭子都具有飞行特征、发声特征和外观特征;接口FlyBehavior与 QuackBehavior分别用于表示抽象的飞行行为与发声行为;类FlyNoWay与FlyWithWings分别描述不能飞行的行为和用翅膀飞行的行为;类Quack、Squeak与QuackNoWay分别描述发出“嘎嘎”声的行为、发出橡皮与空气摩擦声的行为与不发声的行为。请填补以下代码中的空缺。

【Java代码】

(1) FlyBehavior{

public void fly();

};

(2) QuackBehavior{

public void quack();

};

class FlyWithWings implements FlyBehavior{

public void fly(){System.out.println(“使用翅膀飞行!”);}

};

class FlyNoWay implements FlyBehavior{

public void fly(){System.out.println(“不能飞行!”);}

};

class Quack implements QuackBehavior{

public void quack(){System.out.println(“发出\‘嘎嘎\’声!”); }

};

class Squeak implements QuackBehavior{

public void quack(){System.out.println(“发出空气与橡皮摩擦声 !”);

}

};

class QuackNoWay implements QuackBehavior{

public void quack(){System.out.println(“不能发声!”);}

};

abstract class Duck{

protected FlyBehavior (3);

protected QuackBehavior (4);

public void fly(){ (5); }

public void quack() { (6);};

public (7) void display();

};

class RubberDuck extends Duck{

public RubberDuck(){

flyBehavior=new (8);

quackBehavior=new (9);

}

public void display(){/*此处省略显示橡皮鸭的代码*/ }

};

//其他代码省略

点击查看答案

第6题

根据实体联系图10-3,填写挂号单、门诊处方、处方明细和药品库关系模式中的空 (5)~(8)处,并指出挂号

单、门诊处方和处方明细关系模式的主键。

点击查看答案

第7题

阅读以下预备知识、函数说明和C代码,将应填入(n)处的字句填写完整。[说明] (1)对给定的字符集合及

阅读以下预备知识、函数说明和C代码,将应填入(n)处的字句填写完整。

[说明]

(1)对给定的字符集合及相应的权值,采用哈夫曼算法构造最优二叉树,并用结构数组存储最优二叉树。例如,给定字符集合{a,b,c,d)及其权值2、7、4、5,可构造如图3-26所示的最优二叉树,以及相应的结构数组Ht(如表3-12所示,其中数组元素Ht[0]不用)。

结构数组Ht的类型定义如下:

(2)用“0”或“1”标识最优二叉树中分支的规则是:从一个结点进入其左(右)孩子结点,就用“0”(或“1”)标识该分支(示例见图3-26)。

(3)若用上述规则标识最优二叉树的每条分支后,从根结点开始到叶子结点为止,按经过分支的次序将相应标识依次排列,可得到由“0”、“1”组成的一个序列,称此序列为该叶子结点的前缀编码。例如图3-26所示的叶子结点a、b、c、d的前缀编码分别是110、0、111、10。

[函数说明1]

函数void LeafCode (int root,int n)的功能是:采用非递归方法,遍历最优二叉树的全部叶子结点,为所有的叶子结点构造前缀编码。其中,形参root为最优二叉树的根结点下标;形参n为叶子结点个数。

在函数void LeafCode (int root,int n)构造过程中,将Ht[p].weight域用做被遍历结点的遍历状态标志。

[函数4.1]

[函数说明2]

函数void Decode (char (作图)buff,int root)的功能是:将前缀编码序列翻译成叶子结点的字符序列,并输出。其中,形参root为最优二叉树的根结点下标;形参buff指向前缀编码序列。

[函数4.2]

点击查看答案

第8题

将关系模式R分解到BCNF

点击查看答案

第9题

如果将关系模式R分解为: R1(A,B,E) R2(B,C,D) 指出关系模式R2的键,并说明该关系模式最高满足第几

如果将关系模式R分解为:

R1(A,B,E)

R2(B,C,D)

指出关系模式R2的键,并说明该关系模式最高满足第几范式(在1NF~BCNF之内)

点击查看答案

第10题

阅读下列程序说明和C++代码,将应填入(n)处。 【说明】 “背包问题”的基本描述是:有一个背包,能盛放的

阅读下列程序说明和C++代码,将应填入(n)处。

【说明】

“背包问题”的基本描述是:有一个背包,能盛放的物品总重量为S,设有N件物品,其重量分别为w1;w2,……,wn,希望从N件物品中选择若干件物品,所选物品的重量之和恰能放入该背包,即所选物品的重量之和等于S。

如下程序均能求得“背包问题”的一组解,其中程序4.1是“背包问题”的递归解法,而程序4.2是“背包问题”的非递归解法。

【程序4.1】

include<stdio.h>

define N 7

define S 15

int w[N+1]={0,1,4,3,4,5,2,7};

int knap(int s,int n)

{ if(s==0)return 1;

if(s<0||(s>0& &n<1))return 0;

if((1)))|

printf("%4d",w[n]);return 1;

} return (2);

}

main(){

if(knap(S,N))printf("OK!\n");

else printf("NO!\n");

}

【程序4.2】

include<stdio.h>

define N 7

define S 15

typedef struct{

int s;

int n:

int job;

} KNAPTP;

int w[N+1]={0,1,4,3,4,5,2,7};

int knap(int s,int n);

main(){

if(knap(S,N))printf("OK!\n");

else printf("NO!\n");}

int knap(int s,int n)

{ KNAPTP stack[100],x;

int top,k,rep;

x.s=s;x.n=n;

x.job=0;

top=|;Stack[top]=x;

k=0;

while((3)){

x=Stack[top];

rep=1;

while(!k && rep){

if(x.s==0)k=1;/*已求得一组解*/

else if(x.s<0||x.n <=0)rep=0;

else{x.s=(4);x.job=1;

(5)=x;

}

}

if(!k){

rep=1;

while(top>=1&&rep){

x=stack[top--];

if(x.job==1){

x.s+=W[x.n+1];

x.job=2;

Stack[++top]=x;

(6);

}

}

}

}

if(k){/*输出一组解*/

while(top>=1){

x=staCk[top--];

if(x.job==1)

printf("%d\t",w[x.n+1]);

}

}

return k;

}

点击查看答案
热门考试 全部 >
相关试卷 全部 >
账号:
你好,尊敬的上学吧用户
发送账号至手机
获取验证码
发送
温馨提示
该问题答案仅针对搜题卡用户开放,请点击购买搜题卡。
马上购买搜题卡
我已购买搜题卡, 登录账号 继续查看答案
重置密码
确认修改
谢谢您的反馈

您认为本题答案有误,我们将认真、仔细核查,
如果您知道正确答案,欢迎您来纠错

警告:系统检测到您的账号存在安全风险

为了保护您的账号安全,请在“上学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!

微信搜一搜
上学吧
点击打开微信
警告:系统检测到您的账号存在安全风险
抱歉,您的账号因涉嫌违反上学吧购买须知被冻结。您可在“上学吧”微信公众号中的“官网服务”-“账号解封申请”申请解封,或联系客服
微信搜一搜
上学吧
点击打开微信