【简答题】定义一个接口,接口中有3个抽象方法如下。 (1)“long fact(int m);”方法的功能为求参数的阶乘。 (2)“long intPower(int m,int n);”方法的功能为求参数m的n次方。 (3)“boolean findFactor(int m,int n);”方法的功能为判断参数m加上参数n的和是否大于100。 定义类实现该接口,编写应用程序,调用接口中的3个方法,并将调用方法所得的结果输出。

【简答题】定义一个接口,接口中有3个抽象方法如下。 (1)“long fact(int m);”方法的功能为求参数的阶乘。 (2)“long intPower(int m,int n);”方法的功能为求参数m的n次方。 (3)“boolean findFactor(int m,int n);”方法的功能为判断参数m加上参数n的和是否大于100。 定义类实现该接口,编写应用程序,调用接口中的3个方法,并将调用方法所得的结果输出。


参考答案和解析
extends

相关考题:

●试题八阅读以下说明和Java代码,将解答写入答题纸的对应栏内。【说明】下面的程序中定义了两个方法求自然数1~100的和。具体如下:int sum1(int n);利用循环求1~n的和,int sum2(int n);利用递归方法求和1~n的和;在main()方法中调用这两个方法求1~100的和并显示。在程序的每条横线处填写一个适当的语句,使程序的功能完整。public class Sum{public static void main (1){//1.调用sum1(int n),求1~100的和//标准输出(2) ("1~100的和:"+sum1(100));//2.调用sum2(int n),求1~100的和//标准输出(2) ("1~100的和:"+sum2(100));}static int sum1(int n){int result=0;for(int i=1;i=n;i++)(3)retrun result;}static int sum2(int n){if (4)return 1;else(5)}}

请编写两个函数int sum_of_powers(int k,int n),powers(int m,int n),求1~6的k次方的和,sum_of_powers中参数k和n分别表示k次方和所求数列中最大的一个自然数,最后返回所求值,powers中参数m和n分别表示m为底数n为指数,最后返回所求值。要求使用for循环和函数嵌套(int sum_of_powers中调用powers)实现算法。输出结果如下:sum of 4 powers of intergers from 1 to 6=2275注意:部分源程序已存在文件test25_2.cpp中。请勿修改主函数main和其他函数中的任何内容,仅在函数sum_of_powers和powers的花括号中填写若干语句。文件test25_2.cpp的内容如下:include<iostream.h>const int k(4);const int n(6);int sum_of_powers(int k,int n),powers(int m,int n);void main(){cout<<"sum of "<<k<<" powers Of intergers from 1 to "<<n<<"=";cout<<sum_of_powers(k,n)<<endl;}int sum_of_powers(int k,int n){}int powers(int m, int n){}

阅读以下说明和Java代码,将解答写入对应栏内。【说明】下面的程序中定义了两个方法求自然数1~100的和。具体如下:int suml(int n);利用循环求1~n的和,int sum2(int n);利用递归方法求和1~n的和;在main()方法中调用这两个方法求1~100的和并显示。在程序的每条横线处填写一个适当的语句,使程序的功能完整。public class Sum {public static void main (1){//1. 调用sum1(int n),求1~100的和//标准输出(2) ("1~100的和:" +sum1(100));//2. 调用sum2(int n),求1~100的和//标准输出(2) ("1~100的和:"+sum2(100));}static iht sum1( int n){int result=0;for(int i=1;i<=n;i++)(3)retrun result;}static int sum2(int n){if (4)return 1else(5)}}

( 31 )有如下类定义:class XX{int xx;public:XX ( ) : xx ( 0 ) {cout' A';}XX ( int n ) : xx ( n ) {tout' B';}};Class YY:public XX{Int yy;public:YY ( ) : yy ( 0 ) {cout+yy;}YY ( int n ) : XX ( n+1 ) , yy ( n ) {coutyy;}YY ( int m, int n ) : XX ( m ) , yy ( n ) {coutyy;}};下列选项中,输出结果为 A0 的语句是A ) YY y1(0,0);B ) YY y2(1);C ) YY y3(0);D ) YY y4;

( 13 )有如下类定义:class XX{int xdata;public:XX(int n=0) : xdata (n) { }};class YY : public XX{int ydata;public:YY(int m=0, int n=0) : XX(m), ydata(n) { }};YY 类的对象包含的数据成员的个数是A ) 1B ) 2C ) 3D ) 4

求一个三位正整数N的十位数的正确方法是( )。A.Int(N/10)-Int(N/100)*10B.Int(N/10)-Int(N/100)C.N-Int(N/100)*100D.Int(N-Int(N/100)*100)

有如下程序:includeusing namespace std;class Base{int x;public:Base(int n=0):x(n 有如下程序: #include<iostream> using namespace std; class Base{ int x; public: Base(int n=0):x(n){cout<<n;} int getX( )const{return x;} }; class Derived:public Base{ int y; public: Derived(int m,int n):y(m),Base(n){tout<<m;} Derived(int m):y(m){cout<<m;} }; int main( ){ Derived dl(3),d2(5,7); return 0; } 程序的输出结果是A.375B.357C.0375D.0357

阅读下列利用递归来求 n! 的程序Class FactorialTest{Static long Factorial (int n) { // 定义 Factorial () 方法If (n==1)Return 1;ElseReturn n* Factorial(_____);}Public static void main (String a[]) { // main () 方法Int n=8;System.out.println{n+ ” ! = ” +Factorial (n)};}}为保证程序正确运行,在下划线处应该填入的参数是A ) n-1B ) n-2C ) nD ) n+1

编写函数jsValue,它的功能是:求Hofstadter数列中的第m项H(m)(m<1000),结果由函数返回。其中数列H(n)的定义为:H(1)=H(2)=1H(n)=H(n-H(n-1))+H(n-H(n-2))(n>2)最后调用函数writeDat()读取50个数据m,分别得出结果且把结果输出到文件out.dat中。例如:当t=997时,函数值为605。部分源程序已给出。请勿改动主函数main()和写函数writeDat()的内容。include<stdio. h>int jsValue(int m){main ( ){int m;m=300;printf ("m=%d, k-%d\n", m, jsValue (m));writeDat ( );writeDat ( ){FILE *in, *out;int i,m,s;in= fopen ( "in. dar" , "r" );ut=f open ( "out. dar" , "w" );for (i=0; i<50; i++) {fscanf (in, "%d", m);s=jsValue (m);printf( "%d\n", s );fprintf (out, "%d\n" , s );}fclose (in);fclose (out);

下列程序的功能是:将大于整数m且紧靠m的k个被3除余1的素数存入数组xx。请编写函数num(int m,imt k,int xx[])实现程序的要求,最后调用函数readwriteDat()把结果输出到文件out.dat中。例如:若输入17,5,则应输出:19,31,37,43,61。部分源程序已给出。请勿改动主函数main()和输出数据函数readwriteDat()的内容。include <conio.h>include <stdio.h>void readwriteDat();void num(int m, int k, int xx[]){}main ( ){int m,n,xx[1000];clrscr();printf("\nPlease enter two integers:");scanf(" %d%d" ,m,n);num(m,n,xx);for(m=0;m<n;m++)printf(" %d" ,xx[m]);printf("\n" );readwriteDat();}viod readwriteDat(){int m,n, xx[1000], i;FILE *rf,*wf;rf=fopen("in.dat" ," r" );wf=fopen(" out.dat" ," w" );for(i=0;i<10;i++){fscanf(rf," %d%d" ,m,n);num(m,n,xx);for(m=0;m<n;m++)fprintf(wf," %d" ,xx[m]fprintf(wf,"\n" );}fclose(rf);fclose(wf);}

阅读下面利用递归来求n!的程序 class FactorialTest { static long Factorial(int n){ //定义Factorial()方法 if(n==1)return 1; else return n * Factorial(______); } public static void main(String a[]) { //main()方法 int n=8; System.out.println(n+"!="+Factorial(n)); } } 为保证程序正确运行,在下画线处应该填入的参数是A.n-1B.n-2C.nD.n+1

下列程序的功能是:将大于整数m且紧靠m的k个素数存入数组xx。请编写函数num(int m,int k,int xx[])实现程序的要求,最后调用函数read write DAT()把结果输出到out31.dat文件中。例如,若输入17,5,则应输出19,23,29,31,37。注意:部分源程序已给出。请勿改动主函数main()和输入输出函数read write DAT()的内容。试题程序:include conio.hincludeVoid readwriteDAT();Void num(int m,int k,,int XX[]){}main(){int m,n,xx[1000];Clrscr();printf(“\nPlease enter tWO integers:”)‘scanf(“%d,%d”,m,n);num(m, n, XX);for(m=0;m<n;m++)printf(“%d”, XX[m]);printf(”\n”);readwriteDAT();)VOid read write DAT(){int m,n,xx[1000],i;FILE *rf.,*Wf;rf=fopen(“in31.Dat”,r”);Wffopen(“ou1t31.Dat”/”w”);。 for(i=0;i<10;i++){fscanf(rf,%d,” %d”,m,n);num(m,n,XX);for(m=0;m fprintf(wf,%d”,xx[m]);fprintf (wf, “\n”);}fclose(rf);fclose (wf);}

有如下类定义:class XX{int xdata;public:xx(int n=O):xdata(n){}};class YY:public XX{int ydata;public:YY(int m=0,int n=O):XX(m),ydata(n){}};YY类的对象包含的数据成员的个数是A.1B.2C.3D.4

下面程序输出的结果为()。includevoid fun(int a,int b){int temp;temp=a;a=b;b=tem 下面程序输出的结果为( )。 #include<iostream.h> void fun(int a,int b) { int temp; temp=a; a=b; b=temp; } void main() { int m,n; m=1; n=2; fun(m,n); cout<<m<<""<<n<<end1; }A.12B.21C.22D.程序有错误

下面是一个递归Java程序,其功能为 ( )long Factorial(int n){ if(1==n){ return 1; } else return n*Factorial(n-1);}A.求1-n的和B.求2到n的和C.求n的阶乘D.求2-n的积

以下程序的功能是调用函数fun计算m=1-2+3-4+…+9-10,并输出结果,请填空。int fun( int n){ int m=0,f=1,i; for(i=1;i=n;i++) { m+=i*f; f=-f; } return m;}main{ printf("m=%d\\n",); }

有以下程序includevoid f(int *p,int *q);main(){ int m=1,n=2,*r=m;f(r, n 有以下程序 #include<stdio.h> void f(int *p,int *q); main() { int m=1,n=2,*r=m; f(r, n); printf("%d,%d",m,n); } void f(int*p,int*q) {p=p+1; *q=*q+1;) 程序运行后的输出结果是______。A.1,3B.2,3C.1,4D.1,2

下列程序的功能是:将大于整数m且紧靠m的k个素数存入数组xx中。请编写函数num(int m, int k, int xx[])实现程序的要求,最后调用函数readwriteDAT() 把结果输出到文件out.dat中。例如:若输入“17, 5”,则应输出“19, 23, 29, 31, 37”。注意:部分源程序已给出。请勿改动主函数main()和函数readwriteDAT()的内容。#include conio.h#include stdio.hvoid readwriteDat();void num(int m, int k, int xx[]){ }main(){ int m, n, xx[1000]; printf("\nPlease enter two integers:"); scanf("%d%d", m, n); num(m, n, xx); for (m=0; mn; m++) printf("%d ", xx[m]); printf("\n"); readwriteDat();}void readwriteDat(){ int m, n, xx[1000], i; FILE *rf, *wf; rf = fopen("in.dat", "r"); wf = fopen("out.dat", "w"); for (i=0; i10; i++) { fscanf(rf, "%d %d", m, n); num(m, n, xx); for (m=0; mn; m++) fprintf(wf, "%d ", xx[m]); fprintf(wf, "\n"); } fclose(rf); fclose(wf);}

有以下程序includestdio.hint*f(int*p,int*q);main( ){int m=1,n=2,*r=m;r=f(r,stdio.hint*f(int*p,int*q);main( ){int m=1,n=2,*r=m;r=f(r,n);printf(”%d\n”,*r);}int-f(int*P,int*q)(return(*p*q)?p:q;)程序运行后的输出结果是______。

有如下程序: include using namespace std; class Base{ int x; pu 有如下程序: #include<iostream> using namespace std; class Base{ int x; public: Base(int n=0):x(n){cout<<n;) int getX()const{return x;} }; class Derived:public Base{ int y; public: Derived(int m,int n):y(m,)Base(n){cout<<m;} Derived(int m):y(m){cout<<m;} }; int main(){ Derived d1(3),d2(5,7) return 0; }运行时的输出结果是A.375B.357C.375D.357

下面的程序中定义了两个方法求自然数1~100的和。具体如下:int suml(int n);利用循环求1~n的和,int sum2(int n);利用递归方法求和1~n的和;在main()方法中调用这两个方法求1~100的和并显示。在程序的每条横线处填写一个适当的语句,使程序的功能完整。public class Sum{public static void main(String args[]){//1.调用suml(int n),求1~100的和System.out.println("1~100的和:"+sum1(100));//2,调用sum2(int n),求1~100的和System.out.println("1~100的和:"+sum2(100));}static int suml(int n){int result=0;for(int i=1;i<=n;i++)________________retrun result;}static int sum2(int n){if(______________)return 1;else_____________}}

下列程序的输出结果为【 】。ineludeint max(int x, int y){return (x 下列程序的输出结果为【 】。inelude<iostream. h>int max(int x, int y){return (x>y? x: y); }void main() {int n=3, m=12;max(m, n)++cout<<"m="<<m<<", n= "<<n<<end1;}

阅读下列利用递归来求n!的程序。 class FactorialTest{ static long Factorial(int n){//定义Factorial方法 if(n= =1) return l; else return n*Factorial{ }; } public static void main{String a[]}{ //main方法 int n=8: System.out.println{n+"!="+Factorial (n)}; } } 为保证程序正确运行,在下画线处应该填入的参数是( )。A.n-1B.n-2C.nD.n+1

若给下面的方法传入参数67时,输出结果为( )。 public int MaskOff(int N) { return N^3; }A.3B.64C.67D.0

有以下程序: #includestdio.h int f(int x): main {int n=1,m; m=f(f(f(n)));printf("%d\n",m); } int f(int x) {return x*2;) 程序运行后的输出结果是( )。A.1B.2C.4D.8

本题定义了一个方法add(),用于求两个整形数的和。方法中有两个整形参数a和b,方法体中计算a和b的和sum,并将结果返回。程序中调用add()方法求整数24和34的和,并将结果打印输出。public class javal{public static void main(String[]args){int a=24,b=34;System.out.println(add(a,b));}public static int add( ){;sum—a+b;;}}

设void f1 (int *m,long n);int a:long b;则以下调用合法的是______ 。A.f1 (a,b);B.f1( n);int a:long b;则以下调用合法的是______ 。A.f1 (a,b);B.f1(a,b);C.f1(a,b);D.f1(a,b);

下列程序的输出结果是______。 include using namespace std; class base { public: in 下列程序的输出结果是______。include<iostream>using namespace std;class base{public:int n;base(int x){n=x;}virtual void set(int m){n=m;cout<<n<<'';}};class deriveA:public base{public:deriveA(int x):base(x){}void set(int m){n+=m;cout<<n<<'';}};class deriveB:public base{public:deriveB(int x):base(x){}void set(int m){n+=m;cout<<n<<'';}};int main( ){deriveA d1(1);deriveB.d2(3);base*pbase;pbase=d1;pbase->set(1);pbase=d2;pbase->set(2);return 0;}