重要提示: 请勿将账号共享给其他人使用,违者账号将被封禁!
查看《购买须知》>>>
找答案首页 > 全部分类 > 计算机类考试
搜题
网友您好, 请在下方输入框内输入要搜索的题目:
搜题
题目内容 (请给出正确答案)
[主观题]

阅读以下说明和Java代码,将应填入(n)处的字句写在对应栏内。[说明] 本程序的功能是给公司的员工To

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

[说明]

本程序的功能是给公司的员工Tom,Jack,Green增加薪水。三人的职位分别是programmer, Manager,CEO。

程序由6个类组成:WorkerTest是主类,programmer,Manager,CEO三个类,薪水增加的规则是 programmer的涨幅是5%;Manager的是10%;CEO也是Manager,但是它除了有Manager的涨幅,还有1000元的bonus。接口SalaryRaise提供了一个增加薪水的方法raise()。

[java程序]

public class WorkerTest {

public WorkerTest() {}

public static void main(String[] args) {

Programmer programmer = new Programmer("Tom" ,3000);

Manager manager = new Manager("Jack" ,4000);

CEO ceo = new CEO("Green" ,4000);

Worker [] worker = new Worker[3];

programmer, raise();

manager, raise();

ceo. raise();

worker[0] = programmer;

worker [1] = manager;

worker[2] = ceo;

for (int i = 0 ;i < worker, length; i + + ) {

System. out. prinfln (" Name:" + worker [i]. getName () +" \ tSalary:" + worker [i]. getSalary ());

public interface SalaryRaise { void raise(); }

public class Worker {

public String name;

public double (1);

public Worker() {}

public String getName() {return name;}

public void setName(String name) {this. name = name;}

public double getSalary() {return salary;}

public void setSalary(double salary) { this. salary = salary; }

}

public class Programmer extends Worker implements (2) {

public Programmer() {}

public void raise() {

double pets=0.05;

double sala = this. getSalary() * (1 + pers);

this. setSalary (sala);

public Programmer(Siring name, double salary) t

this. name = name;

this. salary = salary;

public class Manager extends (3) implements SalaryRaise {

public Manager() { }

public Manager(String name, double salary) {

this. name = name;

this. salary = salary;

}

public void raise() {

double pets = 0.1;

double sala = this. getSalary() * (1 + pers);

this. setSalary(sala);

}

}

public class CEO extends Manager implements SalaryRaise {

public CEO() {}

public CEO(String name,double salary) {

this. name = name;

this. salary = salary;

}

public void raise() {

double bonus = 1000;

(4);

double sala = this. getSalary();

(5);

this. setSalary(sala);

}

}

查看答案
更多“阅读以下说明和Java代码,将应填入(n)处的字句写在对应栏内。[说明] 本程序的功能是给公司的员工To”相关的问题

第1题

阅读以下函数说明和C语言函数,将应填入(n)处的字句写在对应栏内。【说明】 编写程序,生成一个新文本

阅读以下函数说明和C语言函数,将应填入(n)处的字句写在对应栏内。

【说明】

编写程序,生成一个新文本文件,它由一个已知文本文件的所有偶数行组成。要求已知文本文件名和新文本文件名均从键盘输入。请填空完善程序。

【C语言程序】

include<stdio.h>

main()

{

FILE *oldf,*newf;

char ch,fname[20];

int i;

do{

printf("Enter name of existed text file to be read:");

scanf("%s",fname);

if((oldf=fopen(fname,"r"))==NULL)

printf("File %s can't open!\n",fname);

}while(oldf==NULL);

do{

printf("Enter mane of new text file to be written:");

scanf("%s",fname);

if(((1)==NULL)

printf("File %s can't open!\n",fname);

}while((2));

i=1;

while(!feof(oldf))

{

while((ch=fgetc(oldf))!=(3))

{

if(i%2==(4))

fputc(ch,newf);

}

fputc('\n',newf);

(5);

}

fclose(oldf);

fclose(newf);

}

点击查看答案

第2题

阅读下列算法说明和算法,将应填入(n)处的语句写在对应栏内。【说明】 本程序可以将字符串s1中出现的

阅读下列算法说明和算法,将应填入(n)处的语句写在对应栏内。

【说明】

本程序可以将字符串s1中出现的所有s2子串替换成s3,形成一个新串,但不破坏字符串s1。

【代码】

include<stdio.h>

include<stdlib.h>

include<string.h>

char*replace(char *s1, char *s2,char *s3)

{ char *p, *q, *r, *s; int |2,|3, i=0;

|2=strlen(s2);

|3=strlen(s3);

p=s1;

while((p=strstr(p,s2))!=NULL)

{ i++; /* 统计s2串出现的次数*/

(1);

}

i=(2);

s=r=(char*)malloc(i); /*分配动态内存存放新字符串*/

p=s1;

while(1)

{ q=strstr(p, s2); /* s2串是否在s1中出现,q是首次出现的位置*/

if(q!=NULL)

{ i=q-p;

(3);

r+=i;

(4);

r+=|3;

p=q+|2; /*将指向s1串的指针移到s2子串出现的位置后,

为下一次循环做好准备*/

}

else /*q为空,表示剩余的s1串中已经没有s2*/

{ (5);

break; /*终止循环*/

}

}

return(s); /*返回指向所形成的新串的指针*/

}

void main()

{ char *a="sabcababde", *b="ab", *c="efg", *d;

d=replace(a, b, c); printf("result=%s\n", d); free(d);

}

点击查看答案

第3题

阅读以下说明和C++程序,将应填入(n)处的字句写在对应栏内。 [说明] 下面程序实现十进制向其它进

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

[说明]

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

[C++程序]

include"ioStream.h"

include"math.h"

include

typedef struct node {

int data;

node*next;

}Node;

Class Transform.

{

DUDlic:

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

void print();

private:

Node*top;

};

void Transform.:Trans(int d,int i)

{

int m,n=0;

Node*P;

while(d>0)

{

(1);

d=d/i;

p=new Node;

if(!n){

p->data=m;

(2);

(3);

n++;

}

else{

p->data=m;

(4);

(5);

}

}

}

void Transform.:print()

{

Node*P;

while(top!=NULL)

{

p=top;

if(p->data>9)

cout<<data+55;

else

cout<<data;

top=p->next;

delete p;

}

}

点击查看答案

第4题

阅读以下说明、Java代码和HTML文档,将应填入(n)处的字句写在对应栏内。【说明】 当用户启动html浏览

阅读以下说明、Java代码和HTML文档,将应填入(n)处的字句写在对应栏内。

【说明】

当用户启动html浏览器并首次打开下面的html文档时,Java Applet小程序在显示面板上显示字符串“欢迎您!”;当html页面被其他窗口遮挡后再次显示时,小程序在显示面板上显示“欢迎您回来!”

[Java代码]

import java.awt.*;

import java.applet.*;

public class HelloApplet extends (1) {

public void paint( (2) ){

g.drawString(message,10,20);

message="欢迎您回来!";

}

public void (3) (){

message="欢迎您!";

}

private (4) message;

}

[HTML文档]

<html>

<head>

<title>HTML Test HelloApplet Page</title>

</head>

<body>

Test HenoApplet 小程序<br>

<applet

codebase="."

code="(5)"

name="TestApplet"

width="400"

height="300"

</applet>

</body>

</html>

点击查看答案

第5题

阅读以下说明和Java代码,将应填入(n)处的字句写在对应栏内。 【说明】 有一种猜数字游戏,开始时程序

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

【说明】

有一种猜数字游戏,开始时程序随机产生四个不相同的个位数字(顺序固定),然后玩家输入猜测的四个数字。程序比较后给出提示,本次猜数字有几个数字完全正确,有几个数字数值正确但是位置错误。玩家重复猜测直至结果完全正确。例如,程序生成“1234”,玩家猜测“1630”,则提示"位置正确的有:“1”个,位置错误的有:“1”个,完全错误的有“2”个。

下面的两个Java函数是猜数字游戏里面使用的两个函数,第一个用于产生四个不相同的数字。第二个函数先判断输入是否合法,若合法则进行比较,并给出提示。

【Java程序】

………………

private String randNum()//产生答案数字

{

int[] digits={0,1,2,3,4,5,6,7,8,9};

Random mum=new Random((new Date()).getTime());

for(int i=0;i<10;i++)

{

int p=Math.abs(rnum.nextInt())%10;

int tmp=digits[p];//tmp是临时存储数字的变量

(1);

digits[i]=tmp;

}

return Integer.toString(digits[0])+Integer.toString(digits[1])

+Integer.toString(digits[2])+Integer.toString(digits[3]);

}

String checkAnswer(String guess,Stdng answer)

{

if guess.length()!=4)return "要输入4个数字!";

int num=0;

try{ num=(2);} //判断输入是否是数字

catch(NumberFormatException ex)

{return "要输入数字!";}//catch

int[]timesDigit={0,0,0,0,0,0,0,0,0,0};

for(int i=0;i<4;i++){

int ptr=num%10;

num=num/10;

if (3) //输入数字有重复

return "数字有重复!";

}//for

int a=0;

int b=0;

for(int j=0;j<4;j++)

{

int pos=answer.indexOf(guess.substring(j,j+1));

if (4) //当前数字完全正确

a++;

else if(pos>=0)

b++;

}

if (5) //答案完全正确

return "恭喜!答对了!!";

else{

textAreaContent+= "位置正确的有:"+a+"个,位置错误的有:"+b+"

个,完全错误的有"+(4-a-b)+"个\n";

return "继续努力";

}

}

………………

点击查看答案

第6题

阅读下列程序说明和C++程序,把应填入其中(n)处的字句,写对应栏内。【说明】 下面的程序实现了类Stri

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

【说明】

下面的程序实现了类String的构造函数、析构函数和赋值函数。

已知类String的原型为:

class String

{

public:

String(coust char * str = NULL); //普通构造函数

String( const String &other); //拷贝构造函数

~String(void); //析构函数

String & perate =(const String &other); //赋值函数

private:

char * m_data; // 用于保存字符串

};

//String 的析构函数

String:: ~String (void)

{

(1);

}

//String 的普通构造函数

String: :String( const char * str)

{

if (2)

{

m_data = new char[1];

*m_data = '\0';

}

else

{

int length = strlen(str);

m_data = new ehar[ length + 1 ];

strepy(m_data, str);

}

}

//拷贝的构造函数

String:: String( const String &other)

{ int length = strlen(other. m_data);

m_data = new char[ length + 1 ];

strepy(m_data, other, m_data); //赋值函数

String & String::operate = (eonst String &other) //

{

if (3)

return * this;

delete [] m_clara; //释放原有的内存资源

int length = strlen( other, m_data);

m_data = new chart length + 1 ];

(4);

return (5);

}

点击查看答案

第7题

阅读下列函数说明和C代码,把应填入其中n处的字句写在答卷的对应栏内。 【函数2说明】 本题中的函数e

阅读下列函数说明和C代码,把应填入其中n处的字句写在答卷的对应栏内。

【函数2说明】

本题中的函数encode()和decode()分别实现对字符串的变换和复原。变换函数encode()顺序考察已知字符串的字符,按以下规则逐组生成新字符串:

1.若已知字符串的当前字符不是数字字符,则复制该字符于新字符串中。

2.若已知字符串的当前字符是一个数字字符,且它之后没有后继字符,则简单地将它自己复制到新字符串中。

3.若已知字符串的当前字符是一个数字字符,并且还有后继字符,设该数字字符的面值为n,则将它的后续字符(包括后续字符是一个数字字符)重复复制n+1次到新字符串中。

4.以上述一次变换为一组,在不同组之间另插入一个下划线字符“-”用于分隔。例如。encode()函数对字符串26a3t2的变换结果为666_a_tttt_2

复原函数decode()做变换函数encode()的相反的工作。即复制不连续相同的单个字符,而将一组连续相同的字符(不超过10个)变换成一个用于表示重复次数的数字字符和一个重复出现的字符,并在复原过程中掠过变换函数为不同组之间添加的一个下划线字符。

假定调用变换函数encode()时的已知字符串中不包含下划线字符。

【函数2】

int encode(char*instr,char * outstr)

{

char*ip,*op,c;int k,n;

ip=instr;op=outstr;

while(*ip){

if (1) &&*(ip+1){

n= *ip -'0'+ 1;

c= *++ip;

for(k=0;k<=n;k++)

(2);

}

else (3);

*op++ ='-';

ip++;

}

if(op>outstr) (4);

*op='\0';

return op-outstr;

}

int decode(char * instr,char * outstr)

{char*ip,*op,c;int n;

ip=instr;op=outstr;

while(*ip){

c= *ip;n=0;

while(*ip==c && n<=10){ip++;n++;}

if (5) *op++='0'+n-1;

*op++=c;

if(* ip=='_',) (6);

}

* p='\0';

return op-outstr;

}

点击查看答案

第8题

阅读以下应用说明及Visual Basic程序代码,将应填入(n)处的字句写在对应栏内。【说明】 已知窗体上有

阅读以下应用说明及Visual Basic程序代码,将应填入(n)处的字句写在对应栏内。

【说明】

已知窗体上有两个名为cmdGene和cmdSort的命令按钮。单击cmdCene按钮时,随机产生10个[1,100]范围内的整数并将它们放在数组intA中;单击cmdSort按钮时,用选择法排序这10个数并输出。

【程序代码】

Dim intA(1 To 10)As integer

Private Sub cmdGene_Click( )

Dim intl As Integer

Randomize

For intl = 1 To 10

intA(intl) =(1)

Next intl

End Sub

Private Sub cmdSort_Click( )

Dim intl, intJ,intMin, intTemp As Integer

For intl = 1 To 9

intMin = intA(intl)

For intJ=(2) To 10

If intA(intJ) < intMin Then

Temp = intA(intJ)

intA(intJ)=(3)

intMin = intTemp

End If

Next intJ

(4)

(5)

For intl = 1 To 10

Print Str(intA(intl))+" ";

Next intl

Next lntl

Print

End Sub

点击查看答案

第9题

阅读下列程序说明和C代码,将应填入(n)处的字句写在对应栏内。【说明】 下面的程序功能的功能是以行

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

【说明】

下面的程序功能的功能是以行为单位对字符串按下面的条件进行排序。排序条件为:从字符串中间一分为二,右边部分按字符的ASCII值降序排序,排序后左边部分与右边部分进行交换。如果原字符串长度为奇数,则最中间的字符不参加排序,字符仍放在原位置上

例如:位置:0 1 2 3 4 5 6 7

源字符串:h g f e a b c d

则处理后字符串:d c b a h g f e

函数ReadDat()实现从文件in.dat中读取数据(每行字符串长度均小于80),函数WriteDat()把结果dat输出到文件out.dat中。

include<stdio.h>

include<siring.h>

include<conio.h>

char dat[20] [80];

void jsSort()

{

int i,j,k,strl;

char ch;

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

strl=strlen(date[i]);

for(j=(1);j<strl;j++) /*对后半部分的字符串进行排序*/

for(k=j+1;k<strl;k++)

if( (2) )

{

ch=dat[i] [j];

dot[i] [j]=dat[i] [k];

dat[i] [k]=ch;

}

for(j=0; (3) j++) /*前后两部分进行交换*/

{

ch = date [i] [j];

dote [i] [j] = date [i] [(strl+1)/2+j];

dat [i] [(strl+1)/2+j]=ch;

}

}

}

void main()

{

reodDat();

isSort();

writeDot();

}

readDat ()

{

FILE * in;

int i=0;

char * p;

(4);

while(i<20 && fgets(dat[i],80,in)!=NULL)

{

p = strchr(date [i],"\n");

if(p) *p=0;

i++;

}

fclose (in);

}

writeDat()

{

FILE * out;

int i;

clrscr ();

ut = fopen("out. dat" ,"W");

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

{

printf("%s\n",dar[i]);

printf ((5));

}

fclose (out);

}

点击查看答案

第10题

阅读下列说明和C++程序,将应填入(n)处的字句写在对应栏内。【程序1说明】 程序1中定义了数组的类模

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

【程序1说明】

程序1中定义了数组的类模板,该模板使得对于任意类型的二维数组,可以在访问数组元素的同时,对行下标和列下标进行越界判断,并给出相应的提示信息(C++语言本身不提供对下标越界的判断)。

【程序1】

include < iostream. h >

template < class T > class Array2D;

template < class T > class Array2DBody {

friend (1);

T * tempBody;

int iRows, iColumns, iCurrentRow;

Array2DBody(int Rows,int Cols) {

tempBody =(2);

iRows = Rows;

iColumns = Cols;

iCurrentRow = -1;

}

public:

T& operator[ ] (int j){

bool row_ error, column_ error;

row_ error = column_ error = false;

try {

if ( iCurrentRow < 0||iCurrentRow > = iRows)

row_ error = true;

if( j < 0||j > = iColumns)

column_error = true;

if( row_error = = true [ [ column_ error = = true)

(3);

}

catch(char) {

if (row_error = = true)

cerr < < "行下标越界"[" < < iCurrentRow < < "]";

if( colmnn_error = = true)

cerr< <"列下标越界[" < <j< <"]";

cout < < "\n";

}

return tempBody[ iCurrentRow * iColumns + j ];

}

~ Array2 DBody ( ) { delete [ ] tempBody; } }; template < class T > class Array2D {

Array2DBody < T > tBody;

public:

Array2DBody < T > & operalor[ ] (int i) {

tBody, iCurreutRow = i;

(4);

Array2D(int Rows,int Cols): (5) {} };

void main( )

{

Array2D <int> al ( 10,20 );

Array2D <double> a2(3,5);

int bl;

double b2;

b1=a1[-5][10];//有越界提示:行下标越界[-5]

b1=a1[10][15];//有越界提示:行下标越界[10]

b1=a1[1][4];//没有越界提示

b2=a2[2][6];//有越界提示:列下标越界[6]

b2=a2[10][20];//有越界提示:行下标越界[10]列下标越界[20]

b2=a2[1][4];//没有越界提示

}

点击查看答案
下载上学吧APP
客服
TOP
重置密码
账号:
旧密码:
新密码:
确认密码:
确认修改
购买搜题卡查看答案
购买前请仔细阅读《购买须知》
请选择支付方式
微信支付
支付宝支付
选择优惠券
优惠券
请选择
点击支付即表示你同意并接受《服务协议》《购买须知》
立即支付
搜题卡使用说明

1. 搜题次数扣减规则:

功能 扣减规则
基础费
(查看答案)
加收费
(AI功能)
文字搜题、查看答案 1/每题 0/每次
语音搜题、查看答案 1/每题 2/每次
单题拍照识别、查看答案 1/每题 2/每次
整页拍照识别、查看答案 1/每题 5/每次

备注:网站、APP、小程序均支持文字搜题、查看答案;语音搜题、单题拍照识别、整页拍照识别仅APP、小程序支持。

2. 使用语音搜索、拍照搜索等AI功能需安装APP(或打开微信小程序)。

3. 搜题卡过期将作废,不支持退款,请在有效期内使用完毕。

请使用微信扫码支付(元)
订单号:
遇到问题请联系在线客服
请不要关闭本页面,支付完成后请点击【支付完成】按钮
遇到问题请联系在线客服
恭喜您,购买搜题卡成功 系统为您生成的账号密码如下:
重要提示: 请勿将账号共享给其他人使用,违者账号将被封禁。
发送账号到微信 保存账号查看答案
怕账号密码记不住?建议关注微信公众号绑定微信,开通微信扫码登录功能
警告:系统检测到您的账号存在安全风险

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

- 微信扫码关注上学吧 -
警告:系统检测到您的账号存在安全风险
抱歉,您的账号因涉嫌违反上学吧购买须知被冻结。您可在“上学吧”微信公众号中的“官网服务”-“账号解封申请”申请解封,或联系客服
- 微信扫码关注上学吧 -
请用微信扫码测试
选择优惠券
确认选择
谢谢您的反馈

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

上学吧找答案