JAVA程序设计复习大全(100题及答案)

int[]my_Array;my_Array=newint[5];for(intcount=0;count<=5;count++)System.out.println(my_Array[count]);以上Java代码运行的结果是()。

A.将1,2,3,4,5输出到屏幕

B.将0,1,2,3,4输出到屏幕

C.将0,1,2,3,4,5输出到屏幕

D.将出现运行时异常


参考答案:D


int[]my_Array;my_Array=newint[5];for(intcount=0;count<=5;count++)System.out.println(my_Array[count]);结果是()

A.将1,2,3,4,5输出到屏幕

B.将0,1,2,3,4输出到屏幕

C.将0,1,2,3,4,5输出到屏幕

D.将出现运行时异常


参考答案:D


请在每条横线处填写一个语句,使程序的功能为:判断输入的年份是否为闰年(例如:1998年不是闰年,2000年是闰年).

注意:请勿改动main()主方法和其他已有的语句内容,仅在横线处填入适当的语句。

import java.io.*;

public class LeapYear{

public static void main(String args[]){

___________________;

BufferedReader in;

ir=new InputStreamReader(_____________________________);

in=new BufferedReader(ir);

System. out. print In("输入年份是: ");

String s=in.readline();

int year=___________________

if(year%4==0&&year%100!=0||year%400==0

System.out.println(" "+year+" "年是闰年. ");

else

System.out.println(" " +year+ " "年不是闰年.");

}

}

}


正确答案:InputStreamReader ir; System.in Integer.parseInt(S);
InputStreamReader ir; System.in Integer.parseInt(S); 解析:本题主要考查I/O流。解答本题的关键是理解和使用I/O流。在本题中,InputStreamReader ir;语句的功能是声明一个字符输入流对象ir,ir=new InputStreamReader(System.in);语句的功能是生成一个字符输入流对象ir(InputStreamReader();方法以标准输入流对象为参数)。int year=Integer,parseInt(s);语句的功能是定义一个整型变量year,这里Integer是包装类,parseInt(s)方法是将字符串数据转换成整型数据。


使用VC++6.0打开考生文件夹下的源程序文件3.cpp,其中定义了用于表示日期的类Date,但类Date的定义并不完整,按要求完成下列操作,将类的定义补充完整。 (1)定义私有成员变量year、month、day。分别表示年、月、日,类型为int。请在注释1后添加适当的语句。 (2)完成构造函数,分别给year、month、day赋值,请在注释2后添加适当的语句。 (3)完成重载符号“十=”的定义,请在注释3后添加适当的语句。 (4)完成print打印函数,输出到屏幕和文件的格式相同,请在注释4后添加适当的语句。 注意:仅在函数指定位置添加语句,请勿改动主函数main与其他函数中的任何内容。 程序正常运行,输出的结果为2008年11月813。 试题程序: include(iostream.h) include(fstream) include(iomanip) include<cmath) usingnamespacestd; voidWriteFile(intc) { ofstreamout1; out1.open("3.txt",ios_base::app); out1<<C<<; out1.close; } voidWriteFile(char*str) { ofstreamoutl; out1.open("3.txt",ios_base::app); out1<<str; out1.close; } voidClearFile { ofstreamout1; out1.open("3.txt"); out1.close; } classDate { public: Date(inty,intm,intd) { //********1******** } voidprint; //********2******** { month+=m; inti=month/12: intj=month%12; if(j==0) {year+=(i-1); month=12; } else { year+=i: month=j; } return*this; } private: //********3******** }; voidDate::print { //********4******** WriteFile(year): WriteFile("年"); WriteFile(month); WriteFile("月"); WriteFile(day); WriteFile("日"); } intmain { ClearFile; DateOly_day(2008,8,8); Olyday+=3: Oly_day.print; return0; }


正确答案:
(1)应添加“year=y;month=m;day=d;”。
(2)应添加“Date&operator+=(intm)”。
(3)应添加“intyear,month,day;”。
(4)应添加“cout<<year<<"年"<<month<<"月"<<day<<"日”<<endl;”。
【解析】本题中第1处要求“完成构造函数,分别给year、month、day赋值”。在程序中“Date(inty,intm,intd)”的构造函数中添加给year、month、day赋值的语句,即在第1处添加“year=y;month=m;day=d;”。第2处要求“完成重载符号‘+=’的定义”。在C++中,运算符重栽的定义方法是定义一个重载运算符的函数,格式为函数operator+重载运算符号+,所以这里补全“Date&operator+=(intm)”。第3处要求“定义私有成员变量year、month、day”。在C++程序的private区域中添加变量year、month、day的定义,即在第3处添加“intyear,month,day;”。第4处要求“完成函数print打印函数”。在C++中的print函数中补全其打印功能,即在第四个标识下添加“eout<<year<<"年"<<month<<"月"<<day<<"日"<<endl;”。


在下面程序的横线处填上______,使程序执行后的输出结果为1/2005。 include using nam

在下面程序的横线处填上______,使程序执行后的输出结果为1/2005。

include<iostream.h>

using namespace std;

class Date

{

Public:

Date(int m=1,int y=0): month(m),year(y){}

void Print(){cout<<month<<"/"<<year<<end1;}

______operator+(const Date&d1,const Date&d2);

private:

int month, year;

};

Date operator+(const Date&d1,const Date&d2)

{

int year,month;

year=d1.year+d2.year;

month=d1.month+d2.month;

year+=(month-1)/12;

month=(month-1)%12+1;

return Date(month,year);

}

void main()

{

Date d1(3,2004),d2,d3(10);

d2=d3+d1;

d2.Print();

}


正确答案:friend Date
friend Date 解析:此题考查的是类与对象以及运算符的重载。题目中“+”重载函数的参数表中有两个参数,所以是作为友元函数重载,实现的功能是将参数对象中成员变量month、year进行相应对加。题中重载幽数的返回值类型是类Date,所以应填入“friend Date”。


Java 程序设计总复习题程序设计总复习题1、 编写一个编写一个 Java 程序,用程序,用 if-else 语句判断某年份是否为闰年。语句判断某年份是否为闰年。(分支分支)/ Programme Name LeapYear.java public class LeapYear public static void main(String args) int year=2010; if(args.length!=0)year=Integer.parseInt(args0); if(year%4=0 elseSystem.out.println(year+“ 年不是闰年。“);/if-else 语句2、 编写一个编写一个 Java 程序在屏幕上输出程序在屏幕上输出 1!+2!+3!+10!的和。!的和。 (循环)(循环)/ programme name ForTest.javapublic class ForTest public static void main( String args ) int i,j,mul,sum=0;for(i=1;iarrayj+1) int temp=arrayj; arrayj=arrayj+1; arrayj+1=temp; showArray(array); /遍历数组,并输出数组的元素。public void showArray(int array) for(int i=0;i0i-) System.out.print(“ “+ti);/* for(int i= data.length-1;i= 0;i-) t=in.readInt(datai);System.out.print(“ “+t);*/System.out.println( );in.close();catch(IOException e)System.out.println(e.getMessage();11、编写一个编写一个 Java 程序实现多线程,在线程中输出线程的名字,隔程序实现多线程,在线程中输出线程的名字,隔 300 毫秒输出一次,毫秒输出一次,共输出共输出 20 次。次。/ programme name TestThread;/ 声明一个子线程类 Threaddemo;class ThreadDemo extends Thread public ThreadDemo(String str) super(str);public void run() for(int i=0;i max)max=sti.sJava;sum=sum+sti.sJava;System.out.println(“学生编号:“+sti.getNO()+“, 姓名: “+sti.getName()+“, 性别:“+sti.getSex()+“, 年龄:“+sti. getAge()+“, Java课学分:“+sti.getJava();System.out.println();System.out.println(“ 共有学生:“+st.length+“, 平均成 绩:“+sum/st.length);System.out.println(“ 最小学分:“+min+“, 最大学分: “+max);

下列程序要求用户输入一个年份,并能够判断用户输入的年份是否是闰年,横线处应填 Sub EnSure() Dim year As Integer Year=Val(InputBox("请输入年份:")) If(year Mod 4=0_____yaer Mod 100<>0)______(yaer Mod 400=0)Then Print"您输入的是闰年" Else Print"不是闰年,是普通年份" End If End SubA.And And B.And Or C.Or Or D.Or Or


正确答案:B
【解析】闰年的判断条件是:年份是4的倍数并且不是100的倍数,或者年份是400的倍数。所以表达式为:(year Mod 4=0 And year Mod 100<>0) Or (year Mod 400=0)。


请补充fun函数,该函数的功能是:判断一个年份是否为闰年。

例如,1900年不是闰年,2004是闰年。

[注意] 部分源程序给出如下。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。

[试题源程序]

include<stdio.h>

include<conio.h>

int fun(int n)

{

int fiag=0;

if(n%4==0)

{

if( (1) )

fiag=1;

}

if( (2) )flag=1;

return (3) ;

}

void main()

{

int year;

clrscr();

printf("Input the year:");

scanf("%d", &year);

if(fun(year))

printf("%d is a leap year.\n", year);

else

printf("%d is not a leap year.\n", year);

}


正确答案:[1] n%100 !=0 [2] n%400==0 [3] flag
[1] n%100 !=0 [2] n%400==0 [3] flag 解析:题的关键是要知道闰年的定义,如果年份能被4整除但不能被100整除,或者能被400整除,这两种情况满足之一都是闰年。
填空1:显然此处属于第一种情况,能被4整除但不能被100整除。所以这里应该填n%100!=0,只有满足这个条件,flag才能被赋值1。
填空2:此处属于第二种情况,能被400整除,所以应该填n%400==0。
填空3:从程序中可以知道,当满足以上两种情况之一时,flag就被赋值1,显然flag属于标志单元。再看主函数中对fun()函数的调用,显然需要返回的值不是真就是假,即函数fun()中标志单元flag的内容。


若有如下语句

int x=3;

do{ printf("%d\n",x-=2);}

while(!(--x));

则上面程序段

A.输出的是1

B.输出的是1和-2

C.输出的是3和0

D.是死循环


正确答案:B


请完成下列Java程序:输出某年的某月有多少天数,要求生成2个输入对话框,一个输入年份,一个输入月份,并且能检查输入的数字是否符合要求,如果符合要求,则根据输入的年份和月份计算出这一年的这一月有多少天。提示:闰年为年数能被4整除但是不能被100整除。

注意:请勿改动main()主方法和其他已有语句内容,仅在下划线处填入适当的语句。

程序运行结果如下:

import javax.swing. JOptionPane;

public class ex10_2 {

public static void main(String[] args) (

String strIn;

int nYear,nMonth,nNumOfDays=0;

strIn=JOptionPane.showInputDialog(,,year.);

nYear=Integer.parseInt(strIn);

if(nYear<0) {

System.out.println("Invalidate number of year!")

return;

} strIn=JOptionPane.showInputDialog("month.);

nMonth=Integer.parseInt(strIn);

if(_____________) {

System.out.println("Invalidate number of month!"

return;

}

switch(nMonth){

case 1:

case 3:

case 5:

case 7:

case 8:

case 10:

case 12:

nNumOfDays=31;

break;

case 4:

case 6:

case 9:

case 11:

nNumOfDays=30;

break;

case 2:

if(________________)

nNumOfDays=29;

else

nNumOfDays=28;

break;

}

System.out.println("Number of days:"+ nNumOfDays);

}

}


正确答案:nMonth0 || nMonth>12 ((nYear%4 ==0)&&!(nYear%100 == 0)) || (nYear%400 == 0)
nMonth0 || nMonth>12 ((nYear%4 ==0)&&!(nYear%100 == 0)) || (nYear%400 == 0) 解析:本题主要考查swing图形用户界面设计和case语句的简单应用。解题关键是会用swing的容器面板构造对话框,熟悉判断闰年的条件语句的设计,判断输入是否符合程序要求的条件语句设计,case语句的设计。本题中,第1个空,判断输入的月份值应该在1到12月之间,否则给出提示信息并退出;第2个空,闰年的判断,将题干中的提示用代码实现。


下面程序是判断某一个是否为闰年,请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。(闰年的条件是符合下面两者之一:①能被4整除,但不能被100整除;②能被4整除,又能被100整除)。

注意:不改动程序的结构,不得增行或删行。

import java.io.*;

public class LeapYear

{

public static void main(String args[])

{

int year=1979;

if((year %4= =0 || year % 100 !=0) || (year % 400= =0))

System.out.println(year+"是闰年.");

else

System.out.println(year+"不是闰年。");

year=2000;

boolean leap;

if(year % 4 !=0)

leap=false;

else if(year % 100 !=0)

leap=true;

else if(year % 400 !=0)

leap=false;

else

leap=true;

if(______)

System.out.println(year+"是闰年。");

else

System.out.println(year+"不是闰年。");

year=2010;

if(year % 4= =0)

{

if(year % 100= =0)

{

if(year % 400= =0)

leap=true;

else

______

}

else

leap=false;

}

if(1eap= =true);

System.out.println(year+"是闰年。");

else

System.out.println(year+"不是闰年。");

}

}


正确答案:(year%4= =0&&year%100!=0)||(year%400 ==0) Year%4==0
(year%4= =0&&year%100!=0)||(year%400 ==0) Year%4==0 解析:本题综合考查Java语言的数据类型及运算和分支语句。第1处的错误是:(year%4==0||year%100!=0)||(year%400==0);闰年的条件是符合下面二者之一:①能被4整除,但不能被100整除;②能被4整除,又能被100整除。因此判断某一年是否为闰年的表达式应该为(year%4==0&&year%100!=0)||(year%400==0)。第2处的错误是year%4!=0;应该填写year%4==0,用来判断该年是否能被4整除。

更多 “JAVA程序设计复习大全(100题及答案)” 相关考题
考题 在下向程序和横线处填上适当的内容,使程序执行后的输出结果为1/2005。 include using在下向程序和横线处填上适当的内容,使程序执行后的输出结果为1/2005。include <iostream>using namespace std;class Date{public:Date(int m=1,int y=0):month(m),year(y){}void Print() {cout<<month<<"/"<<year<<end 1; }【 】 operator+(eonst Date& d1, const Date& d2);private:int month,year;};【 】 operator+(const Date& d1, const Date& d2){int year,month;year=d1.year+d2.year;month=d1. month+d2.month;year+=(month-1 )/12;month=(month-1 )% 12+1;return Date(month,year);}void main()Date d1 (3,2004),d2,d3(10);d2=d3+d1;d2,Print();}正确答案:friend DateDatefriend DateDate 解析:重载及友元的相关内容。

考题 设有如下程序public class test {public static void main(String args[]) {Integer intObj=Integer.valueOf(args[args.length-1]);int i = intObj.intValue();if(args.length >1、System.out.println(i);if(args.length >0)System.out.println(i -1、;elseSystem.out.println(i - 2、;}}运行程序,输入如下命令:java test 2则输出为:A. testB. test -1C. 0D. 1E. 2正确答案:D

考题 在窗体中添加一个命令按钮,并编写如下程序: Private Sub Command1_Click() a%=2/3 b%=32/9 Print a%;b% End Sub运行以上程序,输出结果为______。A.1 4B.0 3C.1 3D.0 4正确答案:A

考题 请补充函数fun(),该函数的功能是:判断某一个年份是否为闰年。例如,1900年不是闰年,2004是闰年。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。试题程序:include<stdio.h>include<conio.h>int fun(int n){int flag=0;if (n%4=0){if (【 】)flag=1;}if (【 】)flag=1;return【 】;}main(){int year;clrscr();printf("Input the year:");scanf("%d", &year);if (fun(year))printf("%d is a leap year. \n", year);elseprintf("%d is not a leap year.\n",year);}正确答案:n%100!=0或n%100n%400==0flagn%100!=0或n%100n%400==0flag 解析:第一空:判断闰年的方法是,年份能被4整除但不能被100整除,或者年份能被400整除的是闰年。此空应填, n不能被100整除,即对100取余非零。第二空:年份能被400整除的也是闰年,所以此空应填,n能被400整除,即对400取余为零。第三空:flag标记年份n是否为闰年,当flag为1时是闰年,相反,当flag为0时不是闰年。

考题 下列程序要求用户输入一个年份,并能够判断用户输入的年份是否是闰年,横线处应填( )。Sub EnSure()Dim year As Integeryear=Val(InputBox("请输入年份:"))If(year Mod 4=0______year Mod 100<>0)______(year Mod 400=0)ThenPrint"您输入的是闰年"ElsePrint"不是闰年,是普通年份"End IfEnd SubA.And AndB.And OrC.Or OrD.Or Of正确答案:B解析:闰年的判断条件是:年份是4的倍数并且不是100的倍数,或者年份是400的倍数。所以表达式为:(year Mod 4=0 And year Mod 100>0) Or (year Mod 400=0)。

考题 若有如下语句 #include<iostream.h> voidmain( ) { intx=3: do{ x=X-2: cout<<X; }while(!(--x)); } 则上面程序段( )。A.输出的是1B.输出的是1和-2C.输出的是3和0D.是死循环正确答案:BB。【解析】d0…while语句的一般格式为“d0循环体语句while(表达式);”,先执行循环体语句一次,再判断表达式的值,若为真则继续执行循环,否则终止循环。本题中,先执行x=x-2,即为1。判断表达式的值,!(--x)为真,x=0,继续循环。再次执行循环体语句后,x=-2,此时表达式的值为0,结束循环。

考题 在窗体上画一个命令按钮,然后编写如下事件过程:Private Sub Command1_Click()Do Whileb>=0c=a+bLoopEnd Sub程序运行后,依次输入3,2,1,0,-1,-2,则输出结果是( )。正确答案:-3-3 解析: 本题考查VBA中,循环的知识。对于这种循环结构,首先看条件判断在循环体的前面还是后面,如果是先判断条件,则有可能一次也不执行循环体;如果是后判断条件,则无论条件如何至少执行一次循环体。在Until循环中条件为False时执行循环体,条件为True时退出循环;在While循环中条件为True时执行循环体,条件为False时退出循环,这一点要注意区分清楚。本题是一个先判断条件的While循环,每次循环中有两次输入,共循环3次:由于在每次循环中均会重新对a、b、c进行赋值,所以只需要考虑最后一次循环就可以,在最后一次循环中c等于最后两次输入的值之和也就是-3。

考题 编写一个Java程序在屏幕上输出“This is java!”。答案:public class test{public static void main(String[] args){System.out.println("This is java!");}}

考题 在下面程序的横线处填上适当的内容,使程序执行后的输出结果果为1/2005。 include using在下面程序的横线处填上适当的内容,使程序执行后的输出结果果为1/2005。include<iostmam>using namespace std;class Date{public:Date(int m=1,int y=0):month(m),year(y){}void Print(){cout<<month<<"/"<<year<<endl;}operator+(const Date&d1.const Date& d2);private:int month,year;};operator+(const Date&d1,const Date &d2){int year,month;year=d1.year+d2.year;month=d1.month+d2.month;year+=(month-1)/12;month=(month-1)%12+1;return Date(month,year);}void main(){Date d1(3,2004),d2,d3(10);d2=d3+d1;d2.Print();}正确答案:friend DateDatefriend DateDate

考题 int[]my_Array; my_Array=newint[5]; for(intcount=0;count<=5;count++)System.out.println(my_Array[count]); 以上Java代码运行的结果是()。A、将1,2,3,4,5输出到屏幕B、将0,1,2,3,4输出到屏幕C、将0,1,2,3,4,5输出到屏幕D、将出现运行时异常正确答案:D