Java程序的设计习题集(含答案)

合集下载

JAVA程序设计练习题(有答案)

JAVA程序设计练习题(有答案)
int s = 0 ;
for (int i = 0 ; i < MyIntArray.length ;i + + )
if ( i % 2 = = 1 )
s += MyIntArray[i] ;
System.out.println(s);
8、的定义可以实现多重继承关系。
ReturnType method(byte x, double y)
{
return (short) x/y*2;
}
A、byte B、short C、int D、double
三.程序阅读题
1.以下程序的输出结果为相等。
class StringTest1
{
public static void main(String[] args)
用2字节内存空间。
3、设x = 2,则表达式( x + + )/3的值是0。
4、若x = 5,y = 10,则x < y和x >= y的逻辑值分别为true和false。
5、抽象(abstract)方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须在抽象类之中定义。最终(final)方法是不能被当前类的子类重新定义的方法。
{ super(aa, bb, cc);
A = aa+bb+cc;
}
void show()
{
System.out.println("a="+a+"\nb="+b+"\nc="+c);
}
}
一.判断题
1.Java的源代码中定义几个类,编译结果就生成几个以.class为后缀的字节码文件。(√)

Java程序设计习题附答案(一)

Java程序设计习题附答案(一)

Java程序设计习题附答案(一)java程序设计题库第一部分是引言1、下列关于java语言的特点,描述错误的是(c)a、 Java是一种跨平台编程语言。

java支持分布式计算。

java是一种面向过程的编程语言。

java支持多线程2、java语言具有许多优点和特点,下列选项中,哪个反映了java程序并行机制的特点?(b)a、安全性b、多线性c、跨平台d、可移植3、javajdk中调试器的命令是(c)。

a、javacb、javac、jdbd、avah4.在jar文件中运行类文件需要在Java命令之后添加的参数是(a)。

a、-cpb-gc-dd-verbose5、下面哪项在java中是不合法的标识符?(c)a、$userb、pointc、you&med、 _uuline6、下面关于java语言说法正确的是(abcd)。

a、 Java语言是一种面向对象、解释和执行的网络编程语言。

b、 Java语言是可移植的、独立于平台的编程语言。

c、 Java语言可以自动收集内存垃圾。

d、java语言编写的程序虽然是“一次编译,到处运行”,但必须要有java的运行环境。

7、在java程序设计中,程序员创建()文件,然后编译器把它们转化为()文件。

(b)a、源代码,htmlb,源代码,字节码C,字节码,源代码D,HTML,字节码8,Java JVM指的是(b)。

a、由java操作的家用设备(通常是一个漂亮的小烤箱)b、java字节代码的解释程序c、java源代码的编译器d、运行Java所需的硬件设备9、在java中,关于classpath环境变量的说法不正确的是(a)。

a、一旦设置了类路径,就不能对其进行修改,但可以将目录添加到环境变量中。

b、编译器使用它来搜索各自的类文件。

c、类路径是一个目录列表。

d、解释器使用它来搜索相应的类文件。

10.一个可以独立运行的Java应用程序(d)。

a、可以有一个或多个main方法。

Java程序设计各章习题及其答案

Java程序设计各章习题及其答案

Java程序设计各章习题及其答案第一章习题及思考题1、Java程序是由什么组成的?一个程序中必须有public类吗?Java源文件的命名规则是怎样的?答:一个Java源程序是由若干个类组成。

一个Java程序不一定需要有public类:如果源文件中有多个类时,则只能有一个类是public 类;如果源文件中只有一个类,则不将该类写成public也将默认它为主类。

源文件命名时要求源文件主名应与主类(即用public修饰的类)的类名相同,扩展名为.java。

如果没有定义public类,则可以任何一个类名为主文件名,当然这是不主张的,因为它将无法进行被继承使用。

另外,对Applet小应用程序来说,其主类必须为public,否则虽然在一些编译编译平台下可以通过(在BlueJ下无法通过)但运行时无法显示结果。

2、怎样区分应用程序和小应用程序?应用程序的主类和小应用程序的主类必须用public修饰吗?答:Java Application是完整的程序,需要独立的解释器来解释运行;而Java Applet则是嵌在HTML编写的Web页面中的非独立运行程序,由Web浏览器内部包含的Java解释器来解释运行。

在源程序代码中两者的主要区别是:任何一个Java Application 应用程序必须有且只有一个main方法,它是整个程序的入口方法;任何一个Applet小应用程序要求程序中有且必须有一个类是系统类Applet的子类,即该类头部分以extends Applet结尾。

应用程序的主类当源文件中只有一个类时不必用public修饰,但当有多于一个类时则主类必须用public修饰。

小应用程序的主类在任何时候都需要用public来修饰。

3、开发与运行Java程序需要经过哪些主要步骤和过程?答:主要有三个步骤(1)、用文字编辑器notepad(或在Jcreator,Gel, BuleJ,Eclipse, Jbuilder等)编写源文件;(2)、使用Java编译器(如Javac.exe)将.java源文件编译成字节码文件.class;(3)、运行Java程序:对应用程序应通过Java解释器(如java.exe)来运行,而对小应用程序应通过支持Java标准的浏览器(如Microsoft Explorer)来解释运行。

java程序设计试题及答案

java程序设计试题及答案

java程序设计试题及答案一、选择题1. 在Java中,以下哪个关键字用于定义一个类?A. classB. interfaceC. enumD. struct答案:A2. Java中的“==”操作符用于比较什么?A. 引用是否相同B. 引用所指向的对象的值是否相同C. 基本数据类型的值是否相同D. 引用所指向的对象的内存地址是否相同答案:C3. 下列哪个是Java的合法标识符?A. 2variableB. variable-nameC. #variableD. variable$name答案:B4. Java中,哪个关键字用于实现多态?A. abstractB. finalC. overrideD. implements答案:C5. 在Java中,以下哪个是正确的数组初始化方式?A. int[] array = new int[5] = {1, 2, 3};B. int array[] = {1, 2, 3, 4, 5};C. int array = new int[5] = {1, 2, 3, 4, 5};D. int[] array = {1, 2, 3, 4, 5};答案:D二、填空题根据题目要求,填空题需要根据题目所给的上下文,填写正确的信息。

1. Java是一种______语言。

答案:面向对象2. 在Java中,所有的类都是从______类直接或间接继承的。

答案:Object3. Java中的集合框架中,List接口的实现类ArrayList是______的。

答案:有序4. Java中的异常处理机制是通过______关键字实现的。

答案:try-catch5. Java中的包是用来组织类和接口的,使用______关键字来声明一个包。

答案:package三、简答题1. 简述Java中接口和抽象类的区别。

答案:接口(interface)是一种完全抽象的类型,它可以包含抽象方法和默认方法,但不能有具体实现。

JAVA编程题全集(100题及答案)

JAVA编程题全集(100题及答案)

Java程序设计总复习题1、编写一个Java程序在屏幕上输出“你好!”。

(p13,例1-1)//programme name Helloworld.javapublic class Helloworld {public static void main(String args[]) {System.out.print ("你好!" );}}2. 编写一个Java程序,用if-else语句判断某年份是否为闰年。

// Programme Name LeapYear.javapublic class LeapYear{public static void main(String args[]){int year=2010;if(args.length!=0)year=Integer.parseInt(args[0]);if((year%4==0 && year%100!=0)||(year%400==0))System.out.println(year+" 年是闰年。

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

");}}//if-else语句3、编写一个Java程序在屏幕上输出1!+2!+3!+……+10!的和。

(p64,例2-2)// programme name ForTest.javapublic class ForTest {public static void main( String args[] ) {int i,j,mul,sum=0;for(i=1;i<=10;i++) {mul=1;for(j=1,j<=i;j++) {mul=mul*j;}sum=sum+mul;public class Factorial { //下面的这个方法利用递归的方法求阶乘public intgetFac(int m) { if(m==1) { return 1; } else { return m*getFac(m-1); } } public static void main(String args[]) { Factorial fac=new Factorial(); //System.out.println(fac.getFac(4)); int sum=0; for(int i=1;i<=10;i++) { sum+=fac.getFac(i); } System.out.println("1到10的阶乘的和是:"+sum); } }}System.out.println(“1!+2!+3!+……+10!= ”+sum);}}4. (1)编写一个圆类Circle,该类拥有:①一个成员变量Radius(私有,浮点型);// 存放圆的半径;②两个构造方法Circle( ) // 将半径设为0Circle(double r ) //创建Circle对象时将半径初始化为r③三个成员方法double getArea( ) //获取圆的面积double getPerimeter( ) //获取圆的周长void show( ) //将圆的半径、周长、面积输出到屏幕(2)编写一个圆柱体类Cylinder,它继承于上面的Circle类。

(完整版)Java程序设计习题附答案(三)

(完整版)Java程序设计习题附答案(三)

第三部分面向对象程序设计1、引用数据种类变量拥有基本属性为( A 、变量名 B、数据种类ABCD )C、储存单元D、变量值。

2、面向对象技术的特征是(ACD )A 、继承性B 、有效性C、多态性3、以下哪个命题为真?(C)D 、封装性。

A、全部类都一定定义一个结构函数。

B、结构函数一定有返回值。

C、结构函数能够接见类的非静态成员。

D、结构函数一定初始化类的全部数据成员。

4、对于子类与父类关系的描绘正确的选项是(ACD )A、子种类的数据能够隐式变换为其父种类的数据;B、父种类的数据能够隐式变换为其子种类的数据;C、父种类的数据一定经过显示种类变换为其子种类的数据;D、子种类实例也是父种类的实例对象。

5、以下哪一项说法最好地描绘了Java 中的对象?( C)A 、对象是经过import 命令引入到程序中的全部事情B、对象是方法的会合,这些方法在小程序窗口或应用程序窗口中产生图形元素,或许计算和返回值C、对象是一种数据结构,它拥有操作数据的方法D、对象是一组拥有共同的结构和行为的类6、下边哪个重点字不是用来控制对类成员的接见的?(C)A 、 public B、 protected C、 default D、 private7、 Java 语言正确的常量修饰符应当是(D)A 、 final B、 static final C、 static D、 public static final ;8、接口的全部成员域都拥有public、static和final属性。

9、接口的全部成员方法都拥有public和abstract属性。

10、编译以下源程序会获得哪些文件?(C)class A1{}class A2{}public class B{public static void main(String args[]){}}A) 只有B)只有 A1.class 和 A2.class 文件C)有、 A2.class 和 B.class 文件D)编译不行功11、以下哪一种说法是正确的?( A )A、私有方法不可以被子类覆盖。

java程序设计练习题

java程序设计练习题

《java程序设计》1.填空题(1)Java程序编译成(class )文件(2)Java程序在(JVM )上执行(3)Java程序的执行方式是(半编译和半解释型)执行的(4)在Java程序中,创建对象的操作是(new )(5)在Java语言中,指明一个类从父类派生的关键字是(extends )(6)线程是进程中的一个执行(单元)(7)在Java语言中,指代父类的关键字是(super )(8)表明一个变量是数组的符号是([] )(9)在Java程序中,用关键字(import )引入其它文件中的类(10)在Java程序中定义包的关键字为(package )2.简答题(1)简述Java语言的特点。

答:Java语言的特点有以下几点:1.简单性。

2.面向对象。

3.平台无关性。

4.可移植性。

5.解释性。

6.离性能。

7.动态性。

8.可靠性和安全性。

9.多线程。

10.分布式处理。

(2)简述面向对象程序设计的三大基本特点。

(3)答:封装性:封装性是指将对象相关的信息和行为状态捆绑成一个单元,即将对象封装为一个具体的类。

封装隐藏了对象的具体实现,当要操纵对象时,只需调用其中的方法,而不用管方法的具体实现。

继承性:一个类继承另一个类,继承者可以获得被继承类的所有方法和属性,并且可以根据实际的需要添加新的方法或者对被继承类中的方法进行覆写,被继承者称为父类或者超类,继承者称为子类或导出类,继承提高了程序代码的可重用性,Java中一个子类只能继承一个父类,Object类是所有类的最终父类。

多态性:多态性是指不同的对象对同一事物而做出的相同行为,一个类A可以指向其自身类和其导出类,一个接口可以指向其接口实现类,在方法参数中,使用多态可以提高参数的灵活性。

(4)解释Java程序跨平台的原理。

答:ava源码--->JVM虚拟机编译---->.class文件--->各个平台的Java虚拟机加载执行.class文件Java程序实际是在Java虚拟机(JRE是软件实现)中运行,Java虚拟机类似一个模拟执行环境,在不同的操作系统上拥有不同的Java虚拟机实现,但是这些Java虚拟机遵循统一的规范来解释class文件,并将class文件中的指令转换为本地操作系统对应的指令,这样就实现了相同的class文件,可以通过Java虚拟机转换为对应操作系统上的对应指令,实现class 文件,也就是Java程序的跨平台性。

Java程序设计考试试卷(附答案)

Java程序设计考试试卷(附答案)

Java程序设计考试试卷(附答案)一、单项选择题:共20题,每小题1分,满分20分1、下列选项中,不属于Java语言特点的一项是。

( D )A、安全性B、分布式C、面向对象D、编译执行2、Java语言和c++语言相比,哪一项是Java有的,而c++没有?( C )A、面向对象B、有类库C、跨平台D、动态链接3、如下哪个不是Java中有效的变量名。

( A )A、 ifB、helloC、nameD、good4、下列不属于Java保留字的一个是( B )。

A、elseB、UnicodeC、ifD、static5、现有2个char,类型的变量al=’a’、a2=2,当执行al=(char)(al+a2);语句之后,al的值应该是( C )。

A、’a’B、12C、’c’D、语句在编译时出错6、下列关于int类型和long类型的说法中,正确的一个是( A )。

A、int类型可以自动转换为long类型B、long类型可以自动转换为int类型C、long类型占的存储空间比int类型的小D、long类型和int类型数据能表示整数的范围一样7、下列类的定义中,错误的是( B )。

A、class y{ .... }B、public x extends y{ .... }C、public class x extends y{ .... }D、class x extends y implements y1{ .... }8、执行语句int i = 1, j = ++i; 后i与j的值分别为( D )。

A、1与1B、2与1C、1与2D、2与29、为了区分重载多态中同名的不同方法,要求( C )。

A、调用时用类名或对象名做前缀B、返回值类型不同C、形式参数个数或者类型不同D、形式参数名称不同10、定义类头时能使用的修饰符是( C )。

A、privateB、staticC、protectedD、abstract11、如果在编译Java程序时,编译结果报告说找不到要编译的代码,错误是( D )A、没有import相应的包B、if语法错误C、程序中存在异常D、文件名写错12、int类型被包装在如下的哪一个类中?( B )A、java.1ang.CharacterB、java.1ang.IntegerC、java.util.IntegerD、java.1ang.Short13、关于对下列代码段的描述,正确的一项是( C )。

Java程序设计13套模拟试题(含参考答案附期末复习要点)

Java程序设计13套模拟试题(含参考答案附期末复习要点)

《Java程序设计》模拟练习一一.选择题(每题2分,共20分)1、编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为(b )。

A. .javaB. .classC. .htmlD. .exe2、设x = 1 , y = 2 , z = 3,则表达式y+=z--/++x 的值是( a )。

A. 3B. 3. 5C. 4D. 53、下列哪种方法在Applet生命周期中只执行一次(a )A.init B.startC.stop D.run4、类Cycle的main()方法为:public static void main(String args[]){(args[0]);}则运行时如果命令行语句为java Cycle one two three,则输出结果为(b)A CycleB oneC twoD three5、下面哪一个是Thread类中的静态方法( d)A.start() B . stop()C . run()D . sleep(long m)6、关于下列语句哪个答案是正确的(a )A 不能编译成功B 可以编译成功,输出trueC 可以编译成功,但无输出D 以上均不对7、声明公用的abstract方法的正确格式是( c)A public abstract void add() {}B public abstract add();C public abstract void add();D public virtual add();8、下列程序结果正确的是(b )public class Test {public static void main (String args []) {Ad a1=new Ad();Ad a2=new Ad();}}class Ad{static int total = 10;public int add(int i){total=total+i;return total;}}A 11,12B 11,13C 11,11D 12,129、基于的一个程序中包含一个Panel,Panel其中包含一个Label,在Frame和Panel中分别有下面的一些语句://Frame里面的语句setFont( new Font(" Serif", Font. ITALIC, 18 );setBackground( Color. cyan );//Panel中的语句setBackground( Color. white );setForeground( Color. magenta );请问Label用什么颜色和字体显示(a)A. Background = white; foreground = magenta; font = Serif Italic style, 18 pointB. Background = cyan; foreground = black; font = Serif Italic style,18 pointC. Background = cyan; foreground = black; font = system default style for labelsD. Background = white; foreground = magenta; font = system default style for labels10、语句for(int x=0,y=0;(y!=0)&&(x<4);x++)的执行次数是( b )A 无限次B 一次也不执行C 执行4次D 执行3次二.简答题(每题4分,共20分)1. 对比分析Java与其它高级语言的编译和运行过程,说明Java具有平台独立性的原因?2.简述创建线程体的两种方式3.说明对象的基本概念和主要特征4.什么是JDBC5.方法重写和方法重载的特征分别是什么?举例说明三.判断题(每题1分,共10分)1.Java中的的字符使用的是16 位的Unicode 编码。

《JAVA程序设计》习题集及参考答案_IT168文库

《JAVA程序设计》习题集及参考答案_IT168文库

标移 出 Applet 的 区 域 范 围 时 触 发 mouseExit() 方 法 (对 ) 36.可以先创建一个空白的 Label 对象,然后再向里面设置具体的文本内容 (错 ) 37.一个容器必须使用 FlowLayout、BorderLayout、GridLayout、CardLayout 和 GridBagLayout 五 种 布 局 策 略 中 的 一 种 (错 ) 38 . 接 口 KeyListener 中 有 两 个 抽 象 方 法 KeyUp() 和 KeyDown() (错 ) 39 . 使 用 GridLayout 布 局 策 略 的 容 器 中 , 所 有 组 件 都 有 相 同 大 小 (对 ) 40 . 一 个 程 序 里 有 且 只 能 有 一 个 公 共 类 , 它 就 是 主 类 。 (对) 41.lass1 类的属性被 private 修饰符修饰为私有变量,所以方法不能访问它。 (错) 42 . 最 终 类 不 能 派 生 子 类 , 最 终 方 法 不 能 被 覆 盖 。 (对) 43 . 子 类 要 调 用 父 类 的 方 法 , 必 须 使 用 super 关 键 字 。 (错) 44 . 一 个 Java 类 可 以 有 一 个 父 类 , 并 实 现 多 个 接 口 。 (对) 45. 接口是特殊的类,所以接口也可以继承,子接口将继承父接口的所 有 常 量 和 抽 象 方 法 。 (对) 46. 调 用 画 矩 形 方 法 需 要 给 出 的 是 矩 形 左 上 和 右 下 角 的 坐 标 。 (错) 47. TextField 和 TextArea 是用来接受用户输入的组件,但是也可以由程 序 控 制 使 用 户 不 能 在 其 中 输 入 信 息 。 (对) 48. 下面 的语 句把组 件 com 加入 到容器的中央: add(Center,com) ; 。 (错) 49. 二 维 数 组 说 明 语 句 : int a[5][5] = new int[][]; 。 (错) 50. 一 个 容 器 可 以 使 用 多 种 布 局 管 理 器 。 (对) 51. 子 类 要 调 用 父 类 的 方 法 必 须 使 用 super 关 键 字 。 (错) 52. 某程序中的主类不是 Thread 的子类,也没有实现 Runnable 接口,则 这 个 主 类 运 行 时 不 能 控 制 主 线 程 睡 眠 。 (错) 53. 一个 Chckbox 对象既可以作为一个复选按钮,也可以作为一个单选 按 钮 组 中 的 一 个 按 钮 。

java编程题全集题及答案

java编程题全集题及答案

Java程序设计总复习题1、编写一个Java程序在屏幕上输出“你好”;p13,例1-1编写一个Java程序,用if-else语句判断某年份是否为闰年;1编写一个圆类Circle,该类拥有:①一个成员变量Radius私有,浮点型;;public class Strinput{public static void mainString args {String s1,s2,ss,si,sf;int i1,i2;float f1,f2;BufferedReader strin=new BufferedReadernew InputStreamReader; try{ "输入第一个字符串:" ;s1= ;"输入第二个字符串:" ;s2= ;}catchException e{ i1 = s1;i2 = s2;f1 = s1;f2 = s2;ss = strAdds1,s2;si = strAddi1,i2;sf = strAddf1,f2;"输入的二个字符串相加结果为:"+ss ;"输入字符串转换为整数相加结果为:"+si ;"输入字符串转换为浮点数相加结果为:"+sf ;}String strAddString str1,String str2 {return str1+str2;}String strAddint int1,int int2 {return int1+int2;}String strAddfloat flt1,float flt2 {return flt1+flt2;}}6. 应用FileInputStream类,编写应用程序,从磁盘上读取一个Java程序,并将源程序代码显示在屏幕上;被读取的文件路径为:E:/myjava/;public class FISDemo {public static void mainString args {byte buf=new byte2056;try{FileInputStream fileIn=new FileInputStream"e:/myjava/";int bytes=buf,0,2056;String str=new Stringbuf,0,bytes;e{;}}7、编写一个Java程序将当100,101,102,103,104,105个数以数组的形式写入到文件中,并以相反的顺序读出显示在屏幕上;p190,例7-2;public class IODemo {public static void main String args {int data = {100,101,102,103,104,105};int t;try{ DataOutputStream out = new DataOutputStream new FileOutputStream“”;forint i=0;i<;i++datai;;DataInputStream in = new DataInputStream new FileInputStream“”;forint i= ;i>= 0;i-- {t=datai;”+t;};;}catchIOException e{ }}8. 利用Applet类和Runnable接口实现滚动字幕,其中字幕文字“学好Java有工作”和时间间隔“200”需要由页面文件中<Applet>标记的子标记<Param>传递;import class MoveMessage extends JApplet implements Runnable { String str;int time;private Thread thread;public void init {setBackground;str = getParameter"message";String timeArg = getParameter"time";time = timeArg;;thread = new Threadthis;}public void start {;}public void run {int x = 0;Graphics g = getGraphics;while true {try {time;} catch Exception e {;}0, 0, getWidth, getHeight;str, x, 30;x += 2;if x >= getWidthx = 0;}}}<html><body><Applet code="" width=400 height=60><param name="message" value="学好java有工作"><param name="time" value="200"></Applet></body></html>9、编写一个Java程序实现多线程,在线程中输出线程的名字,隔300毫秒输出一次,共输出20次;p202,例8-1编写程序,在屏幕上显示带标题的窗口,并添加一个按钮;当用户单击按钮时,结束程序;;import class ButtonEventDemo extends JPanel implements ActionListener{ protected JButton b1; 利用线程方法编写JApplet程序,实现在浏览器端实时动态显示本地系统时钟;import .;public class Watch extends Applet {public void paintGraphics g {Date d= new Date;DateFormat ldf = , ;oString;time, 100, 100;try {1000;} catch InterruptedException e { }repaint;}}<html><head><title>JavaAppletDemo</title></head><body><applet code=”” width=300 height=200></applet></body></html>Java < minmin=sti.sJava;i f sti.sJava > maxmax=sti.sJava;s um=sum+sti.sJava;"学生编号:"+sti.getNO+", 姓名:"+sti.getName+", 性别:"+sti.getSex+", 年龄:"+sti.getAge+", Java课学分:"+sti.getJava;}" 共有学生:"++", 平均成绩:"+sum/;" 最小学分:"+min+", 最大学分:"+max;}}程序1题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少;public class lianxi04{public static void mainString args {Scanner s = new Scanner;"请键入一个正整数:";int n = ;int k=2;+ "=" ;whilek <= n {ifk == n {else if n % k == 0 { + "";n = n / k; }else k++;}}程序5题目:利用条件运算符的嵌套来完成此题:学习成绩> =90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示;import .;public class lianxi05 {public static void mainString args {int x;char grade;Scanner s = new Scanner;"请输入一个成绩: ";x = ;grade = x >= 90 'A': x >= 60 'B':'C';"等级为:"+grade;}}程序6题目:输入两个正整数m和n,求其最大公约数和最小公倍数;/在循环中,只要除数不等于0,用较大数除以较小的数,将小的一个数作为下一轮循环的大数,取得的余数作为下一轮循环的较小的数,如此循环直到较小的数的值为0,返回较大的数,此数即为最大公约数,最小公倍数为两数之积除以最大公约数; /import .;public class lianxi06 {public static void mainString args {inta ,b,m;Scanner s = new Scanner;"键入一个整数: ";a = ;"再键入一个整数: ";b = ;deff cd = new deff;m = a,b;int n = a b / m;"最大公约数: " + m;"最小公倍数: " + n;}class deff{public int deffint x, int y {int t;ifx < y {t = x;x = y;y = t;}whiley = 0 {ifx == y return x;else {int k = x % y;x = y;y = k;}}return x;}}程序7题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数;import .;public class lianxi07 {public static void mainString args {int digital = 0;int character = 0;int other = 0;int blank = 0;char ch = null;Scanner sc = new Scanner;String s = ;ch = ;forint i=0; i<; i++ {ifch >= '0' && ch <= '9' {digital ++;} else ifch >= 'a' && ch <= 'z' || ch > 'A' && ch <= 'Z' {character ++;} else ifch == ' ' {blank ++;} else {other ++;}}"数字个数: " + digital;"英文字母个数: " + character;"空格个数: " + blank;"其他字符个数:" + other ;}}程序8题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字;例如2+22+222+2222+22222此时共有5个数相加,几个数相加有键盘控制;import .;public class lianxi08 {public static void mainString args {long a , b = 0, sum = 0;Scanner s = new Scanner;"输入数字a的值: ";a = ;"输入相加的项数:";int n = ;int i = 0;whilei < n {b = b + a;sum = sum + b;a = a 10;++ i;}}}程序9题目:一个数如果恰好等于它的因子之和,这个数就称为 "完数 ";例如6=1+2+3.编程找出1000以内的所有完数;public class lianxi09 {public static void mainString args {"1到1000的完数有: ";forint i=1; i<1000; i++ {int t = 0;forint j=1; j<= i/2; j++ {ifi % j == 0 {t = t + j;}}ift == i {+ "";}}}程序10题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米第10次反弹多高public class lianxi10 {public static void mainString args {double h = 100,s = 100;forint i=1; i<10; i++ {s = s + h;h = h / 2;}"经过路程:" + s;"反弹高度:" + h / 2;}}程序11题目:有1、2、3、4四个数字,能组成多少个互不相同且无重复数字的三位数都是多少public class lianxi11 {public static void mainString args {int count = 0;forint x=1; x<5; x++ {forint y=1; y<5; y++ {forint z=1; z<5; z++ {ifx = y && y = z && x = z {count ++;+ y10 + z ;}}}}"共有" + count + "个三位数";}}程序12题目:企业发放的奖金根据利润提成;利润I低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润,求应发放奖金总数import .;public class lianxi12 {public static void mainString args {double x = 0,y = 0;"输入当月利润万:";Scanner s = new Scanner;x = ;ifx > 0 && x <= 10 {y = x ;} else ifx > 10 && x <= 20 {y = 10 + x - 10 ;} else ifx > 20 && x <= 40 {y = 10 + 10 + x - 20 ;} else ifx > 40 && x <= 60 {y = 10 + 10 + 20 + x - 40 ;} else ifx > 60 && x <= 100 {y = 20 + 20 + 20 + x - 60 ;} else ifx > 100 {y = 20 + 40 + 40 + x - 100 ;}"应该提取的奖金是 " + y + "万";}}程序13题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少public class lianxi13 {public static void mainString args {forint x =1; x<100000; x++ {ifx+100 % 1 == 0 {ifx+268 % 1 == 0 {+ "加100是一个完全平方数,再加168又是一个完全平方数";}}}}}/按题意循环应该从-100开始整数包括正整数、负整数、零,这样会多一个满足条件的数-99; 但是我看到大部分人解这道题目时都把题中的“整数”理解成正整数,我也就随大流了;/程序14题目:输入某年某月某日,判断这一天是这一年的第几天import .;public class lianxi14 {public static void mainString args {int year, month, day;int days = 0;int d = 0;int e;input fymd = new input;do {e = 0;"输入年:";year =;"输入月:";month = ;"输入天:";day = ;if year < 0 || month < 0 || month > 12 || day < 0 || day > 31 { "输入错误,请重新输入";e=1 ;}}while e==1;for int i=1; i <month; i++ {switch i {case 1:case 3:case 5:case 7:case 8:case 10:case 12:days = 31;break;case 4:case 6:case 9:case 11:days = 30;break;case 2:if year % 400 == 0 || year % 4 == 0 && year % 100 = 0 {days = 29;} else {days = 28;}break;}d += days;}+ "-" + month + "-" + day + "是这年的第" + d+day + "天;"; }}class input{public int input {int value = 0;Scanner s = new Scanner;value = ;return value;}}程序15题目:输入三个整数x,y,z,请把这三个数由小到大输出;import .;public class lianxi15 {public static void mainString args {input fnc = new input;int x=0, y=0, z=0;"输入第一个数字:";x = ;"输入第二个数字:";y = ;"输入第三个数字:";z = ;ifx > y {int t = x;x = y;y = t;}ifx > z {int t = x;x = z;z = t;}ify > z {int t = y;y = z;z = t;}"三个数字由小到大排列为: "+x + " " + y + " " + z;}}class input{public int input {int value = 0;Scanner s = new Scanner;value = ;return value;}}程序16题目:输出99口诀;public class lianxi16 {public static void mainString args {forint i=1; i<10; i++ {forint j=1; j<=i; j++ {+ "" + i + "=" + ji + "" ;ifji<10{" ";}}}}}程序17题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个;以后每天早上都吃了前一天剩下的一半零一个;到第10天早上想再吃时,见只剩下一个桃子了;求第一天共摘了多少;public class lianxi17 {public static void mainString args {int x = 1;forint i=2; i<=10; i++ {x = x+12;}"猴子第一天摘了 " + x + " 个桃子";}}程序18题目:两个乒乓球队进行比赛,各出三人;甲队为a,b,c三人,乙队为x,y,z三人;已抽签决定比赛名单;有人向队员打听比赛的名单;a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单;public class lianxi18 {static char m = { 'a', 'b', 'c' };static char n = { 'x', 'y', 'z' };public static void mainString args {for int i = 0; i < ; i++ {for int j = 0; j < ; j++ {if mi == 'a' && nj == 'x' {continue;} else if mi == 'a' && nj == 'y' {continue;} else if mi == 'c' && nj == 'x'|| mi == 'c' && nj == 'z' {continue;} else if mi == 'b' && nj == 'z'|| mi == 'b' && nj == 'y' {continue;} else+ " vs " + nj;}}}}程序19题目:打印出如下图案菱形public class lianxi19 {public static void mainString args {int H = 7, W = 7;.求出这个数列的前20项之和;public class lianxi20 {public static void mainString args {int x = 2, y = 1, t;double sum = 0;forint i=1; i<=20; i++ {sum = sum + doublex / y;t = y;y = x;x = y + t;}"前20项相加之和是: " + sum;}}程序21题目:求1+2+3+...+20的和public class lianxi21 {public static void mainString args { long sum = 0;long fac = 1;forint i=1; i<=20; i++ {fac = fac i;sum += fac;}}}程序22题目:利用递归方法求5;public class lianxi22 {public static void mainString args { int n = 5;rec fr = new rec;" = "+n;}}class rec{public long recint n {long value = 0 ;ifn ==1 {value = 1;} else {value = n recn-1;}return value;}程序23题目:有5个人坐在一起,问第五个人多少岁他说比第4个人大2岁;问第4个人岁数,他说比第3个人大2岁;问第三个人,又说比第2人大两岁;问第2个人,说比第一个人大两岁;最后问第一个人,他说是10岁;请问第五个人多大public class lianxi23 {public static void mainString args {int age = 10;forint i=2; i<=5; i++ {age =age+2;}}}程序24题目:给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字;;public class lianxi24 {public static void mainString args {Scanner s = new Scanner;"请输入一个正整数:";long a = ;String ss = a;char ch = ;int j=;+ "是一个"+ j +"位数;";"按逆序输出是:";forint i=j-1; i>=0; i-- {}}程序25题目:一个5位数,判断它是不是回文数;即12321是回文数,个位与万位相同,十位与千位相同;import .;public class lianxi25 {public static void mainString args {Scanner s = new Scanner;int a;do{"请输入一个5位正整数:";a = ;}whilea<10000||a>99999;String ss =a;char ch = ;ifch0==ch4&&ch1==ch3{"这是一个回文数";}else {"这不是一个回文数";}}}public class lianxi25a {public static void mainString args {Scanner s = new Scanner;boolean is =true;"请输入一个正整数:";long a = ;String ss = a;char ch = ;int j=;forint i=0; i<j/2; i++ {ifchi=chj-i-1{is=false;}}ifis==true{"这是一个回文数";}else {"这不是一个回文数";}}}程序26题目:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母;import .;public class lianxi26 {public static void mainString args {getChar tw = new getChar;"请输入星期的第一个大写字母:"; char ch = ;switchch {case 'M':"Monday";break;case 'W':"Wednesday";break;case 'F':"Friday";break;case 'T': {"请输入星期的第二个字母:";char ch2 = ;ifch2 == 'U' {"Tuesday"; }else ifch2 == 'H' {"Thursday"; } else {"无此写法";}};break;case 'S': {"请输入星期的第二个字母:";char ch2 = ;ifch2 == 'U' {"Sunday"; }else ifch2 == 'A' {"Saturday"; } else {"无此写法";}};break;default:"无此写法";}}}class getChar{public char getChar {Scanner s = new Scanner;String str = ;char ch = 0;ifch<'A' || ch>'Z' {"输入错误,请重新输入";ch=getChar;}return ch;}}程序27题目:求100之内的素数;public class lianxi28 {public static void mainString args { Scanner s = new Scanner;int a = new int10;"请输入10个整数:";forint i=0; i<10; i++ {ai = ;}forint i=0; i<10; i++ {forint j=i+1; j<10; j++ {ifai > aj {int t = ai;ai = aj;aj = t;}}}forint i=0; i<10; i++ {+ " ";}}程序29题目:求一个33矩阵对角线元素之和import .;public class lianxi29 {public static void mainString args { Scanner s = new Scanner;int a = new int33;"请输入9个整数:";forint i=0; i<3; i++ {forint j=0; j<3; j++ {aij = ;}}"输入的3 3 矩阵是:";forint i=0; i<3; i++ {forint j=0; j<3; j++ {+ " ";}}forint i=0; i<3; i++ {forint j=0; j<3; j++ {ifi == j {sum += aij;}}}"对角线之和是:" + sum;}}程序30题目:有一个已经排好序的数组;现输入一个数,要求按原来的规律将它插入数组中;;public class lianxi30 {public static void mainString args {int a = new int{1, 2, 6, 14, 25, 36, 37,55};int b = new int+1;int t1 =0, t2 = 0;int i =0;Scanner s= new Scanner;"请输入一个整数:";ifnum >= a {b = num;fori=0; i<; i++ {bi = ai;}} else {fori=0; i<; i++ {ifnum >= ai {bi = ai;} else {bi = num;break;}}forint j=i+1; j<; j++ { bj = aj-1;}}for i = 0; i < ; i++ { + " ";}}程序31题目:将一个数组逆序输出;import .;public class lianxi31 {public static void mainString args { Scanner s = new Scanner;int a = new int20;"请输入多个正整数输入-1表示结束:"; int i=0,j;do{ai=;i++;}while ai-1=-1;"你输入的数组为:";for j=0; j<i-1; j++ {"";}"\n数组逆序输出为:";for j=i-2; j>=0; j=j-1 {"";}}程序32题目:取一个整数a从右端开始的4~7位;import .;public class lianxi32 {public static void mainString args {Scanner s = new Scanner;"请输入一个7位以上的正整数:";long a = ;String ss = a;char ch = ;int j=;if j<7{"输入错误";}else {"截取从右端开始的4~7位是:"+chj-7+chj-6+chj-5+chj-4; }}}程序33题目:打印出杨辉三角形要求打印出10行如下图11 11 2 11 3 3 11 4 6 4 11 5 10 10 5 1…………public class lianxi33 {public static void mainString args {int a = new int1010;forint i=0; i<10; i++ {aii = 1;ai0 = 1;}forint i=2; i<10; i++ {forint j=1; j<i; j++ {aij = ai-1j-1 + ai-1j;}}forint i=0; i<10; i++ {forint k=0; k<210-i-1; k++ {" ";}forint j=0; j<=i; j++ {+ "";}}}}程序34题目:输入3个数a,b,c,按大小顺序输出;importpublic class lianxi34 {public static void mainString args { Scanner s = new Scanner;"请输入3个整数:";int a = ;int b = ;int c = ;ifa < b {int t = a;a = b;b = t;}ifa < c {int t = a;a = c;c = t;}ifb < c {int t = b;b = c;c = t;}"从大到小的顺序输出:";+ " " + b + " " + c;}}程序35题目:输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组;import .;public class lianxi35 {public static void mainString args {int N = 8;int a = new int N;Scanner s = new Scanner; int idx1 = 0, idx2 = 0; "请输入8个整数:";forint i=0; i<N; i++ { ai = ;}"你输入的数组为:";forint i=0; i<N; i++ { + " ";}int max =a0, min = a0; forint i=0; i<N; i++ { ifai > max {max = ai;idx1 = i;}ifai < min {min = ai;idx2 = i;}}ifidx1 = 0 {int temp = a0;a0 = aidx1;aidx1 = temp;}ifidx2 = N-1 {int temp = aN-1;aN-1 = aidx2;aidx2 = temp;}"\n交换后的数组为:";forint i=0; i<N; i++ {+ " ";}}}程序36题目:有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数importpublic class lianxi36 {public static void mainString args {int N =10;int a = new intN;Scanner s = new Scanner;"请输入10个整数:";forint i=0; i<N; i++ {ai = ;}"你输入的数组为:";forint i=0; i<N; i++ {+ " ";}"\n请输入向后移动的位数:"; int m = ;int b = new intm;forint i=0; i<m; i++ {bi = aN-m+i;}forint i=N-1; i>=m; i-- {ai = ai-m;}forint i=0; i<m; i++ {ai = bi;}"位移后的数组是:";forint i=0; i<N; i++ {+ " ";}}}程序37题目:有n个人围成一圈,顺序排号;从第一个人开始报数从1到3报数,凡报到3的人退出圈子,问最后留下的是原来第几号的那位;importpublic class lianxi37 {public static void mainString args {Scanner s = new Scanner;"请输入排成一圈的人数:";int n = ;boolean arr = new booleann;forint i=0; i<; i++ {arri = true;}int leftCount = n;int countNum = 0;int index = 0;whileleftCount > 1 {ifarrindex == true {countNum ++;ifcountNum == 3 {countNum =0;arrindex = false;leftCount --;}}index ++;ifindex == n {index = 0;}}forint i=0; i<n; i++ {ifarri == true {"原排在第"+i+1+"位的人留下了;";}}}}程序38题目:写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度;/……………………题目意思似乎不能用length函数/import .;public class lianxi38 {public static void mainString args {Scanner s = new Scanner;"请输入一个字符串:";String str = ;"字符串的长度是:"+;}}程序39题目:编写一个函数,输入n为偶数时,调用函数求1/2+1/4+...+1/n,当输入n为奇数时,调用函数1/1+1/3+...+1/n利用指针函数;public class lianxi39 {public static void mainString args {Scanner s = new Scanner;"请输入一个正整数 n= ";int n = ;"相应数列的和为:" + sumn;}public static double sumint n {double res = 0;ifn % 2 == 0 {forint i=2; i<=n; i+=2 {res += double1 / i;}} else {forint i=1; i<=n; i+=2 {res += double1 / i ;}}return res;}}程序40题目:字符串排序;public class lianxi40 {public static void mainString args { int N=5;String temp = null;String s = new StringN;s0 = "matter";s1 = "state";s2 = "solid";s3 = "liquid";s4 = "gas";forint i=0; i<N; i++ {forint j=i+1; j<N; j++ {ifcomparesi, sj == false {temp = si;si = sj;sj = temp;}}}forint i=0; i<N; i++ {}}static boolean compareString s1, String s2 { boolean result = true;forint i=0; i< && i<; i++ {ifi > i {result = false;break;} else ifi <i {result = true;break;} else {result = true;} else {result = false;}}}return result;}}程序41题目:海滩上有一堆桃子,五只猴子来分;第一只猴子把这堆桃子凭据分为五份,多了一个,这只猴子把多的一个扔入海中,拿走了一份;第二只猴子把剩下的桃子又平均分成五份,又多了一个,它同样把多的一个扔入海中,拿走了一份,第三、第四、第五只猴子都是这样做的,问海滩上原来最少有多少个桃子public class lianxi41 {public static void main String args {int i,m,j=0,k,count;fori=4;i<10000;i+=4{ count=0;m=i;fork=0;k<5;k++{j=i/45+1;ifj%4==0count++;else break;}i=m;ifcount==4{"原有桃子 "+j+" 个";break;}}}}程序42题目:809=800+9+1其中代表的两位数,8的结果为两位数,9的结果为3位数;求代表的两位数,及809后的结果;....public class lianxi43 {public static void main String args {int sum=4;int j;"组成1位数是 "+sum+" 个";sum=sum7;"组成2位数是 "+sum+" 个";forj=3;j<=9;j++{sum=sum8;"组成"+j+"位数是 "+sum+" 个";}}}程序44题目:一个偶数总能表示为两个素数之和;;public class lianxi44 {public static void mainString args { Scanner s = new Scanner;int n,i;do{"请输入一个大于等于6的偶数:";n = ;} whilen<6||n%2=0; ;public class lianxi44 {public static void mainString args { Scanner s = new Scanner;int n;do{"请输入一个大于等于6的偶数:";n = ;} whilen<6||n%2=0; ;public class lianxi45 {public static void main String args { Scanner s = new Scanner;"请输入一个整数:";int num = ;int tmp = num;int count = 0;forint i = 0 ; tmp%9 == 0 ;{tmp = tmp/9;count ++;}" 能够被 "+count+" 个9整除;";}}程序46题目:两个字符串连接程序import .;public class lianxi46 {public static void mainString args {Scanner s = new Scanner;"请输入一个字符串:";String str1 = ;"请再输入一个字符串:";String str2 = ;String str = str1+str2;"连接后的字符串是:"+str;}}程序47题目:读取7个数1—50的整数值,每读取一个值,程序打印出该值个数的;import .;public class lianxi47 {public static void mainString args {Scanner s = new Scanner;int n=1,num;whilen<=7{do{"请输入一个1--50之间的整数:";num= ;}whilenum<1||num>50;forint i=1;i<=num;i++{"";}n ++;}}}程序48题目:某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换;import .;public class lianxi48{public static void mainString args {Scanner s = new Scanner;int num=0,temp;do{"请输入一个4位正整数:";num = ;}while num<1000||num>9999;int a=new int4;a0 = num/1000; ;public class lianxi49 {public static void mainString args{ Scanner s = new Scanner;"请输入字符串:";String str1 = ;"请输入子串:";String str2 = ;int count=0;if""||""{"你没有输入字符串或子串,无法比较"; 0;}else{forint i=0;i<=;i++{ifi, +i;import .;public class lianxi50 {public static void mainString args{ Scanner ss = new Scanner;String a = new String56;forint i=1; i<6; i++ {"请输入第"+i+"个学生的学号:"; ai-10 = ;"请输入第"+i+"个学生的姓名:"; ai-11 = ;forint j=1; j<4; j++ {"请输入该学生的第"+j+"个成绩:"; ai-1j+1 = ;}"\n";}//以下计算平均分float avg;int sum;forint i=0; i<5; i++ {sum=0;forint j=2; j<5; j++ {sum=sum+ aij;}avg= floatsum/3;ai5=avg;}//以下写磁盘文件String s1;try {File f = new File"C:\\stud";if{"文件存在";}else{"文件不存在,正在创建文件";;//不存在则创建}BufferedWriter output = new BufferedWriternew FileWriterf; forint i=0; i<5; i++ {forint j=0; j<6; j++ {s1=aij+"\r\n";s1;}};"数据已写入c盘文件stud中";} catch Exception e {;}}}。

Java程序的设计习题集

Java程序的设计习题集

Java程序设计习题集第一单元试题一、选择题1.编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为()。

A.javaB.classC.htmlD.exe2.Java程序的执行过程中用到一套JDK工具,其中java.exe是指()A.Java文档生成器B.Java解释器C.Java编译器D.Java类分解器3.Java语言具有许多优点和特点,下列选项中,哪个反映了Java程序并行机制的特点()A. 安全性B. 多线程C. 跨平台D. 可移植4.Java 编程所必须的默认引用包为()A.java.sys 包ng 包C.java.new 包D. 以上都不是二、判断题1.J2EE (Java 2 Platform Enterprise Edition )企业版是以企业为环境而开发应用程序的解决方案。

()2.J2ME(Java 2 Platform Micro Edition )——小型版是致力于消费产品和嵌入式设备的最佳解决方案。

()3.J2SE (Java 2 Platform Standard Edition )——标准版为桌面开发和低端商务应用提供了可行的解决方案。

()4.Java是区分大小写的语言,关键字的大小写不能搞错,如果把类class写成Class 或者CLASS都是错误的。

()5.Java源程序编写好之后,以文件的形式保存在硬盘或U盘上,源文件的名字可以随便取的,它不一定与程序的主类名一致。

()6.在JDK命令行开发工具中,用编译程序javac.Exe编译生成的文件是二进制可执行文件。

()7.Java程序可以分为Java Application 和Java Applet两类,这两类程序的运行方式是相同的。

()8.操作系统Microsoft Wndows9『98/2000 /XP/2003、Linux、UNIX MaoOS等都是支持Java 虚拟机的操作系统。

JAVA程序设计习题(1-5章学生作业)

JAVA程序设计习题(1-5章学生作业)

JA V A程序设计练习题(一)一、单选择题1、编译Java源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( )。

A. javaB. classC. htmlD.exe2、设x = 1 , y = 2 , z = 3,则表达式y+=z--/++x 的值是( )。

A. 3B. 3. 5C. 4D. 53、如下哪个是Java中的标识符()A、publicB、superC、3numberD、width4、如下哪个是Java中的标识符( )A、fieldnameB、thisC、3numberD、#number5、如下哪个是Java中有效的关键字()A、nameB、helloC、falseD、good6、下面的代码段执行之后count的值是什么( )int count = 1;for (int i = 1; i <= 5; i++) {count += i;}System.out.println(count);A、5B、1C、15D、167、定义一个类,必须使用的关键字是( )A、publicB、classC、interfaceD、static8、定义一个接口必须使用的关键字是()A、publicB、classC、interfaceD、static9、下面程序段执行后b的值是( )。

Integer integ =new Integer(9);boolean b = integ instanceof Object;A) 9 B) true C) 1 D) false10、关于选择结构下列哪个说法正确?()A.if语句和else语句必须成对出现B.if语句可以没有else语句对应C.switch结构中每个case语句中必须用break语句D.switch结构中必须有default语句11、while循环和do…wh ile循环的区别是:()A.没有区别,这两个结构任何情况下效果一样B.while循环比do…while循环执行效率高C.while循环是先循环后判断,所以循环体至少被执行一次D.do…while循环是先循环后判断,所以循环体至少被执行一次12、关于for循环和while循环的说法哪个正确?()A.while循环先判断后执行,for循环先执行后判断。

java程序设计基础(含参考答案)

java程序设计基础(含参考答案)

“Java程序设计基础”课程习题一、填空1.Java程序分两类___Applet___和application,Java Application 类型的程序,程序从___main方法___开始执行。

2.定义一个Java类时,通过关键字__extends____指明该类的父类。

一个类可以有___1___个父类。

3.用public修饰的类称为_公有类或公用类__。

用public修饰的类成员称为公有成员。

被说明为public的内容可以被__所有其他类___ 使用。

如果public类文件与使用它的类文件不在同一目录中,需要通过__import____语句引入。

4.用___private___ 修饰的类成员称为私有成员。

私有成员只能在__本类__ 中使用。

5.如果子类定义的成员变量与父类的成员变量同名,称为___方法覆盖___ ,要表明使用子类的成员变量,可以在成员变量前加上关键字__super___ 。

6.____Object__ 类是Java类库中所有类的父类。

7.Java字符使用__16位的字符集,该字符集成为__Unicode____ 。

8.当子类中定义的方法与父类方法同名时,称子类方法___覆盖___ 父类方法,子类默认使用自己的方法。

使用父类的同名方法,必须用关键字__super__ 说明。

9.Java源程序文件名的后缀是___.java___,Java字节码文件名的后缀是_.class_____。

10.Java类名的第一个字母通常要求___大写___。

11.Java程序由____类__组成,每个程序有一个主类,Java程序文件名应与____主__类的名称相同。

12.Java__Application_类型的程序需要main()方法,程序从__main____开始执行。

13.布尔型数据类型的关键字是_boolean__ ,占用位数是___1位___ ,有__true__ 和_false_两种值。

《面向对象程序设计(Java)》经典编程集(共60题,含答案)

《面向对象程序设计(Java)》经典编程集(共60题,含答案)

《面向对象程序设计(Java)》经典编程集(共60题,含答案)/*一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第5次落地时,共经过多少米?第5次反弹多高?*//*输出7*7口诀*//*求1+2!+3!+...+10!的和*//*有5个人坐在一起,问第五个人多少岁?他说比第4个人大3岁。

问第4个人岁数,他说比第3个人大3岁。

问第三个人,又说比第2人大3岁。

问第2个人,说比第一个人大3岁。

最后问第一个人,他说是10岁。

请问第五个人多大? *//*求0--7所能组成的6位的奇数个数是多少个*//*有1、2、3、4、5、6、7、8、9个数字,能组成多少个互不相同且无重复数字的四位数?程序分析:可填在千位、百位、十位、个位的数字都是1、2、3、4、5、6、7、8、9。

组成所有的排列后再去掉不满足条件的排列。

*//*一个整数,它加上1000后是一个完全平方数,再加上1680又是一个完全平方数,请问该数是多少?程序分析:在10万以内判断,先将该数加上1000后再开方,再将该数加上2680后再开方,如果开方后的结果满足如下条件,即是结果。

请看具体分析*//*利用条件运算符的嵌套来完成此题:学习成绩> =90分的同学用A表示,80-89分之间的用B表示,70-79分之间的用C表示,60-69分之间用D表示,60分以下的用E表示。

(假定输入数字为95,判断等级)*//*题面:编写程序解决如下问题,小明有五本新书,要借给A,B,C三位小朋友,若每人每次只能借一本,求可以有多少种不同的借法?将结果打印输出*//*题面:编写程序解决如下问题,某人将一缸金鱼分5次出售,第一次卖出全部的一半加二分之一条;第二次卖出余下的三分之一加三分之一条;第三次卖出余下的四分之一加四分之一条;第四次卖出余下的五分之一加五分之一条;最后卖出余下的11条。

问原来的鱼缸中共有几条金鱼?将结果打印输出*//*题面:编写程序,一个自然数的七进制表达式是一个三位数,而这个自然数的九进制表示也是一个三位数,且这两个三位数的数码正好相反,求这个三位数,以十进制输出。

Java程序设计习题集(含答案)

Java程序设计习题集(含答案)

目录一、判断题 ........................................................................................... - 1 -二、选择题 ........................................................................................... - 3 -三、填空题 ......................................................................................... - 16 -四、写出下列程序完成得功能......................................... - 24 -五、写出下面程序得运行结果......................................... - 28 -六、使用Java语言编写程序 ............................................. - 32 -七、简答题 ......................................................................................... - 33 -Java程序设计习题集一、判断题1.Java程序里,创建新得类对象用关键字new,回收无用得类对象使用关键字free。

( F )2.有得类定义时可以不定义构造函数,所以构造函数不就是必需得。

( F )3.类及其属性、方法可以同时有一个以上得修饰符来修饰。

( T )4.Java得屏幕坐标就是以像素为单位,容器得左下角被定为坐标得起点。

( F )(应该就是左上角)5.抽象方法必须在抽象类中,所以抽象类中得方法都必须就是抽象方法。

Java_程序设计习题集(答案)

Java_程序设计习题集(答案)
</head>
61 <body>该程序的输出结果为:</p>
<applet code="apple.class" width="200" height="70"></applet>
</body>
</html>
第二章
一、判断题
1.难度:容易
答案:错误
知识点:“//“表示单行注释,多行注释以“/*”开始并以“*/”结束。
三、简述题
1.Java语言的编译过程与一般编程语言的编译过程有何不同?
Java应用程序由编译器编译成字节码,这个字节码不是最终可执行的程序,不能在具体
的平台上运行,还需要由运行系统上的字节码解释器将其解释成机器语言,从而达到边解释边
执行的目的。
2.Java开发Application和Applet小程序,主要区别是什么?
6.难度:容易
答案:错误
知识点:Java是对大小写字母敏感的,所以这些变量不相同。
7.难度:容易
答案:错误
知识点:模运算操作符在Java中也可用浮点数。
8.难度:容易
答案:错误
知识点:运算符*,/和%是在同一优先级上,而运算符+和-在另一个优先级。
9.难度:容易
答案:错误
知识点:标识符的命名规则
10.难度:容易
1.难度:容易
答案:A
知识点:所有的程序均可以用顺序结构、选择结构、循环结构三种类型控制结构编写。
2.难度:容易
答案:D
知识点:当条件为真和条件为假时,if/else控制结构可以执行不同的动作。
3.难度:容易

java程序设计试题及答案

java程序设计试题及答案

java程序设计试题及答案一、选择题(每题2分,共20分)1. 在Java中,下列哪个关键字用于定义类?A. classB. structC. interfaceD. enum答案:A2. 下列哪个选项不是Java的基本数据类型?A. intB. doubleC. StringD. float答案:C3. Java中,哪个关键字用于捕获异常?A. tryB. catchC. throwD. finally答案:B4. 在Java中,下列哪个选项不是合法的变量名?A. _nameB. $nameC. nameD. 2name答案:D5. 下列哪个选项不是Java的访问修饰符?A. publicB. protectedC. privateD. static答案:D6. Java中,下列哪个选项不是集合框架的一部分?A. ListB. SetC. MapD. Stream答案:D7. 在Java中,下列哪个关键字用于定义接口?A. classB. structC. interfaceD. enum答案:C8. 下列哪个选项不是Java的异常处理关键字?A. tryB. catchC. throwD. implements答案:D9. 在Java中,下列哪个选项不是线程的生命周期状态?A. NewB. RunnableC. BlockedD. Dead答案:C10. 下列哪个选项不是Java的泛型类型?A. ListB. SetC. MapD. Object答案:D二、填空题(每题2分,共20分)1. Java中的“Hello World”程序需要继承________类。

答案:Object2. Java中,一个方法的返回类型是________。

答案:void3. 在Java中,________关键字用于定义包。

答案:package4. Java中,________关键字用于定义接口。

答案:interface5. Java中,________关键字用于实现多态。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

目录一、判断题 (2)二、选择题 (4)三、填空题 (17)四、写出下列程序完成的功能 (25)五、写出下面程序的运行结果 (29)六、使用Java语言编写程序 (33)七、简答题 (34)Java程序设计习题集一、判断题1.Java程序里,创建新的类对象用关键字new,回收无用的类对象使用关键字free。

( F )2.有的类定义时可以不定义构造函数,所以构造函数不是必需的。

( F ) 3.类及其属性、方法可以同时有一个以上的修饰符来修饰。

( T ) 4.Java的屏幕坐标是以像素为单位,容器的左下角被定为坐标的起点。

( F )(应该是左上角)5.抽象方法必须在抽象类中,所以抽象类中的方法都必须是抽象方法。

( F) 6.Final类中的属性和方法都必须被final修饰符修饰。

( F )(静态的必须被静态的修饰符修饰)7.最终类不能派生子类,最终方法不能被覆盖。

(T )8.子类要调用父类的方法,必须使用super关键字。

( T )9.一个Java类可以有多个父类。

( F )10.如果p是父类Parent的对象,而c是子类Child的对象,则语句c = p 是正确的。

( F )11.一个类如果实现了某个接口,那么它必须重载该接口中的所有方法。

( T )12.当一个方法在运行过程中产生一个异常,则这个方法会终止,但是整个程序不一定终止运行。

( T )13.接口是特殊的类,所以接口也可以继承,子接口将继承父接口的所有常量和抽象方法。

( T )14.用“+”可以实现字符串的拼接,用- 可以从一个字符串中去除一个字符子串。

( F )15.一个容器中可以混合使用多种布局策略。

( T )16.一个线程对象的具体操作是由run()方法的容确定的,但是Thread类的run()方法是空的,其中没有容;所以用户程序要么派生一个Thread的子类并在子类里重新定义run()方法,要么使一个类实现Runnable接口并书写其中run()方法的方法体。

( T )17.Java的源代码中定义几个类,编译结果就生成几个以.class为后缀的字节码文件。

( T )18.Java Applet是由独立的解释器程序来运行的。

( F )19.Java Applet只能在图形界面下工作。

( T )20.Java的字符类型采用的是ASCII编码。

( F )21.Java的各种数据类型占用固定长度,与具体的软硬件平台环境无关。

( T) 22.容器是用来组织其他界面成分和元素的单元,它不能嵌套其他容器。

( F)23、Java是不区分大小写的语言。

( F)24、Java的源代码中定义几个类,编译结果就生成几个以.class为后缀的字节码文件。

( T )25、Java Application是由独立的解释器程序来运行的。

( F )26、Java Applet的字节码文件必须嵌入HTML的文件中并由负责解释HTML 文件的WWW浏览器充当解释器来解释运行。

( F )27、Java Application只能在字符界面下工作。

( F )28、Java的字符类型采用的是Unicode编码,每个Unicode码占16个比特。

( T )29、Java源程序是由类定义组成的,每个程序可以定义若干个类,但只有一个类是主类。

(T )30、子类的域和方法的数目一定大于等于父类的域和方法的数目。

( F )31、类在实现接口的方法时,必须显示地使用public修饰符。

( T )32、一个类只能有一个父类,但一个接口可以有一个以上的父接口。

(T )33、程序中抛出异常时(throw …),只能抛出自己定义的异常对象。

( F )34、System类中的in是一个输入对象。

( T )35、实现一个接口,则在类中一定要实现接口中的所有方法。

( T)36、所有的文件输入/输出流都继承于InputStream类/OutputStream类。

( F )37、一个异常处理中 finally语句块只能有一个或者可以没有。

(F )38、语句import java.applet.Applet;最后的Applet是代表类(class)。

( T )39、类体中private修饰的变量在本类中能访问,类生成的对象也能访问。

( F )40、线程使用sleep()方法休眠后,可以用notify()方法唤醒。

( F )41、一个异常处理中 finally语句块只能有一个或者可以没有。

( T )42、用Javac编译Java源文件后得到代码叫字节码。

(T )43、数组、类和接口都是引用数据类型。

( F )44、一个Applet编译后的类名是Test.class,运行此小程序的命令是Java Test。

( F )45、Java语言中一个Char类型的数据占用2个字节大小的存空间。

( T )46、编译语句Double aDouble=37.2D不会出现编译错误。

(F )47、编译语句int aInt=66666不会出现编译错误。

(T )48、判断下面说法的正误:if(true){int i=17;}System.out.println(i);运行此程序的结果是输出17。

(F)49、float x=26f; int y=26; int z=x/y; 以上语句能正常编译和运行。

( F)50、判断下面说法的正误:int x=9; if(x>8 and x<10) System.out.println("true"); 以上语句运行的结果是显示true。

(T )51、判断下面说法的正误:String str; System.out.println(str.length()); 以上语句运行的结果是显示0 。

(F )52、抽象类不能实例化。

(T )53、一个方法最多能有一个return语句。

( F)54、接口名可以作为方法返回值的类型。

( T)55、类A和类B位于同一个包中,则除了私有成员,类A可以访问类B的所有其他成员。

( T)二、选择题1.编译Java Applet 源程序文件产生的字节码文件的扩展名为( B )。

A、javaB、classC、htmlD、exe2.main方法是Java Application程序执行的入口点,关于main方法的方法头以下哪项是合法的( BC )?A、public static void main()B、public static void main( String args[] )C、public static int main(String [] arg )D、public void main(String arg[] )3.为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( A )。

A、static void method( )B、public void method( )C、final void method( )D、abstract void method( ) 4.下列哪个是合法的Java标识符?( BC )A、Tree&GlassesB、FirstJavaAppletC、_$theLastOneD、273.55.Java Application源程序的主类是指包含有( A )方法的类。

A、main方法B、toString方法C、init方法D、actionPerfromed方法6.Java的字符类型采用的是Unicode编码方案,每个Unicode码占用( B )个比特位。

A、8B、16C、32D、647.设 a = 8,则表达式 a >>> 2 的值是( B )。

A、1B、2C、3D、48.若a的值为3时,下列程序段被执行后,c的值是多少?( C )c = 1;if ( a>0 ) if ( a>3 ) c = 2; else c = 3; else c= 4;A、1B、2C、3D、49.在编写Java Application程序时,若需要使用到标准输入输出语句,必须在程序的开头写上( C )语句。

A、import java.awt.* ;B、import java.applet.Applet ;C、import java.io.* ;D、import java.awt.Graphics ; 10.对于构造函数,下列叙述正确的是( ACD )。

A、构造函数是类的一种特殊函数,它的方法名必须与类名相同。

B、构造函数的返回类型只能是void型。

C、构造函数的主要作用是完成对类的对象的初始化工作。

D、一般在创建新对象时,系统会自动调用构造函数。

11.下面的是关于类及其修饰符的一些描述,正确的是:( AD )。

A、abstract类只能用来派生子类,不能用来创建abstract类的对象。

B、final类不但可以用来派生子类,也可以用来创建final类的对象。

C、abstract不能与final同时修饰一个类。

D、abstract方法必须在abstract类中声明,但abstract类定义中可以没有abstract方法。

12.若需要定义一个类域或类方法,应使用哪种修饰符?( A )A、staticB、packageC、privateD、public 13.若在某一个类定义中定义有如下的方法:abstract void performDial( );该方法属于( D )。

A、本地方法B、最终方法C、解态方法D、抽象方法14.下列关于静态初始化器的叙述中,哪一个是正确的?( B )A、静态初始化器是在构造函数之前加上static修饰符。

B、静态初始化器是对类自身进行初始化。

C、静态初始化器在同一个类中只能有一个。

D、静态初始化器是在其所属的类加载存时不是由系统自动调用执行。

15.不使用static修饰符限定的方法称为对象(或实例)方法,下列哪一个说法是正确的?( AB )A、实例方法可以直接调用父类的实例方法。

B、实例方法可以直接调用父类的类方法。

C、实例方法可以直接调用其他类的实例方法。

D、实例方法不可以直接调用本类的类方法。

16.设有下面两个类的定义:class Person {}class Student extends Person {long id; // 号int score; // 入学总分String name; //int getScore(){return score;}}问:类Person和类Student的关系是( B )。

A、包含关系B、继承关系C、关联关系D、无关系,上述类定义有语法错误17.设有下面的两个类定义:class AA {void Show(){ System.out.println(“我喜欢Java!”);}class BB extends AA {void Show(){ System.out.println(“我喜欢C++!”);}则顺序执行如下语句后输出结果为:( A )AA a; BB b;a.Show();b.Show();A、我喜欢Java!B、我喜欢C++!我喜欢C++! 我喜欢Java!C、我喜欢Java!D、我喜欢C++!我喜欢Java! 我喜欢C++!18.设有下面的一个类定义:class AA {static void Show( ){ System.out.println(“我喜欢Java!”); } }class BB { void Show( ){ System.out.println(“我喜欢C++!”); } } 若已经使用AA类创建对象a和BB类创建对象b,则下面哪一个方法调用是正确的:( AC )A、a.Show( )B、AA.Show( );b.Show( ) BB.Show( );C、AA.Show( );D、a.Show( );b.Show( ); BB.Show( );19.在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数的个数、类型或顺序各不相同,传回的值也可以不相同。

相关文档
最新文档