文档库 最新最全的文档下载
当前位置:文档库 › java基础练习题及参考答案

java基础练习题及参考答案

java基础练习题及参考答案
java基础练习题及参考答案

【程序1】

題目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一

对兔子,假如兔子都不死,问每个月的兔子总数为多少?

刚开始真的无从下手,这么难的,怎么可以说是基础呢,感觉这些应该是逻辑分析很强的,第一个月只有一对兔子,第二个月还是只有一对兔子,第三个月,就有两对了,第四个月3对,第五个月5对,第六个月8对,第七个月是13对。。。。。。规律出来了,你们发了没?

[java]view plain copy

1.public class Example1{

2.public static void main(String args[]){

3.//i是表示月份的,这里计算了36个月,也就是三年,兔子的数量

4.int i;

5.long arr[]=new long[36]; //这个数组时用来计算每月有兔子的对数

6. arr[0]=arr[1]=1;

7. System.out.println("第1个月有兔子1对"+", "+"总数是"+2);

8. System.out.println("第2个月有兔子1对"+", "+"总数是"+2);

9.for(i=2;i<=35;i++){

10. arr[i]=arr[i-1]+arr[i-2];

11. System.out.println("第"+i+"个月有兔子"+arr[i]+"对"+", "+"总数是

"+2*arr[i]);

12.//规律是每个数字都是前面两个数字之和

13. }

14. }

15.

16.}

OK,用时45分钟。

【程序2】

题目:判断101-200之间有多少个素数,并输出所有素数。

素数又叫质数,就是除了1和它本身之外,再也没有整数能被它整除的数。也就是素数只有两个因子。

[java]view plain copy

1.public class Example2 {

2.public static void main(String args[]){

3.int i,j,n,m,x; //n是用来存储余数的;m是用来统计具体一个数的因子;

4. n=0;m=0;x=0; //x是用来统计101~200之前素数的个数

5.for(i=101;i<=200;i++){ //两重循环

6.for(j=1;j<=i;j++){

7. n=i%j; //去余数,如果余数为零,就是该数的因子

8.if(n==0) { m=m+1; } //统计某数有多少个因子

9. }

10.if(m==2){System.out.print(i+" "); x=x+1;} //如果某数的因子只有两个,那它就

一定是素数,那这个数就应该输出

11. m=0; //一定要清零,不然会继续累加

12. }

13. System.out.println();

14. System.out.println("在101~200之間一共有素數:"+x+"個");

15. }

16. }

我好笨啊,这题我做了两个钟头,最终还是解决了。加油

【程序3】

题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:

153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。想当年,做这些题都是网上找答案,如今事过境迁,不会也得会。

[java]view plain copy

1.public class Example3 {

2.public static void main(String args[]){

3.int a,sum; //表示100~999

4.int i,j,k;//分别表示百位、十位、各位

5.for(a=100;a<=999;a++){

6. i=a/100;

7. j=(a-i*100)/10;

8. k=a-i*100-j*10;

9. sum=i*i*i+j*j*j+k*k*k;

10.//java的运算符,立方要这样写,写成i^3这样,竟然运算不出来

11.//如果遇到高次的话可以使用循环算出来

12.if(sum==a)

13. { System.out.println(sum);

14. }

15.

16. }

还是有学到点东西,应该还有别的方法。那我就试试吧。[java]view plain copy

1.public class Example4 {

2.public static void main(String args[]){

3.int sum;

4.int i,j,k;//分别表示百位、十位、各位

5.for(i=1;i<=9;i++){

6.for(j=0;j<=9;j++){

7.for(k=0;k<=9;k++){

8. sum=i*i*i+j*j*j+k*k*k;

9.if(i*100+j*10+k==sum){

10. System.out.println(sum);

11. }

12. }

13. }

14. }

15.

16. }

17.}

【程序4】

题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。

(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。

(2)如果n<>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步。

(3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。

[java]view plain copy

1.import java.util.*;

2.public class Example4{

3.public static void main(String[] args){

4.int x;

5. Scanner in = new Scanner(System.in);//定义从键盘输入

6. System.out.print("请输入一个正整数:");//提示

7. x = in.nextInt(); //将从键盘输入的数赋值给x

8.new PrimeSplit(x); //匿名初始化一个对象,还有参数的构造函数

9. }

10.}

11.class PrimeSplit{

12.int k = 2; //将最小的质数赋值给k

13.public PrimeSplit(int x){ //小于等于1的数不可以分解

14.if(x<=1){

15. System.out.println(x+"是无效的被分解数");

16. }

17.else if(x==2){

18. System.out.println(x+"分解后的质因数为: 1*"+x); //如果输入的是最小质数

2,

19. }else {

20. System.out.print(x+"分解后的质因数为: 1"); //1是所有的正整数的质数

21.while(k<=x){ //输入的数可以被k整除

22.if(x%k==0){

23. System.out.print("*"+k); //将k添加到结果中

24. x = x/k;//除以最小质数后重新循环

25. }

26.else{

27. k++;

28. }

29. }

30. }

31. }

32. }

【程序5】

题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下

的用C表示。

[java]view plain copy

1.public class Example5 {

2.public static void main(String args[]){

3.int score=90; //分数的值可以随便修改

4.if(score>=90){

5. System.out.println("A");

6. }

7.else if(score>=60){

8. System.out.println("B");

9. }

10.else{

11. System.out.println("C");

12. }

13.

14. }

15.}

【程序6】

题目:输入两个正整数m和n,求其最大公约数和最小公倍数。

[java]view plain copy

1.public class Example6 {

2.public static void main(String args[]){

3. gcdlcm a =new gcdlcm();

4. System.out.println("兩數的最大公約數是:"+a.gcd(10, 16));

5. System.out.println("兩數的最小公倍數是:"+a.lcm(16, 10));

6. }

7.}

8.class gcdlcm{

9.int gcd(int m,int n){

10.if(m

11.int temp=n;

12. n=m;

13. m=temp;

14. }

15.if(m%n==0){

16.return n;

17. }

18.else{

19. m%=n;

20.return gcd(m,n);

21.//這裡也可以寫成gcd(n,m),就省掉了前面的判斷了,會快一點

22. }

23. }

24.int lcm(int m,int n){

25.int i=1;

26.if(m

27.int temp=n;

28. n=m;

29. m=temp;

30. }

31.int lcm=m;

32.while(lcm%n!=0){

33. lcm=m*i;

34. i++;

35. }

36.return lcm;

37. }

38.}

【程序7】

题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。[java]view plain copy

1.import java.util.Scanner;

2.

3.public class Example {

4.public static void main(String[] args) {

5.// TODO Auto-generated method stub

6.int abcCount=0;//英文字母个数

7.int spaceCount=0;//空格键个数

8.int numCount=0;//数字个数

9.int otherCount=0;//其他字符个数

10. Scanner scan=new Scanner(System.in);

11. String str=scan.nextLine();

12.char[] ch = str.toCharArray();

13.for(int i=0;i

14.if(Character.isLetter(ch[i])){

15.//判断是否字母

16. abcCount++;

17. }

18.else if(Character.isDigit(ch[i])){

19.//判断是否数字

20. numCount++;

21. }

22.else if(Character.isSpaceChar(ch[i])){

23.//判断是否空格键

24. spaceCount++;

25. }

26.else{

27.//以上都不是则认为是其他字符

28. otherCount++;

29. }

30. }

31. System.out.println("字母个数:"+abcCount);

32. System.out.println("数字个数:"+numCount);

33. System.out.println("空格个数:"+spaceCount);

34. System.out.println("其他字符个数:"+otherCount);

35. }

36.

37.}

【程序8】

题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如

2+22+222+2222+22222(此时共有5个数相加),

几个数相加有键盘控制。

【程序9】

题目:一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3.编程找出1000以内的所有完

数。

【程序10】

题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多

少米?第10次反弹多高?

【程序11】

题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?

【程序12】

题目:企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万

元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部

分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之

间时,高于60万元的部分,可

提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?

【程序13】

题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?

【程序14】

题目:输入某年某月某日,判断这一天是这一年的第几天?

【程序15】

题目:输入三个整数x,y,z,请把这三个数由小到大输出。

【程序16】

题目:输出9*9口诀。

【程序17】

题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩

下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下

的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。

【程序18】

题目:两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定比赛名单。有人向

队员打听比赛的名单。a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单。【程序19】

题目:打印出如下图案(菱形)

*

***

******

********

******

***

*

【程序20】

题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。

【程序21】

题目:求1+2!+3!+...+20!的和

【程序22】

题目:利用递归方法求5!。

【程序23】

题目:有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第3个人大2岁。问

第三个人,又说比第2人大两岁。问第2个人,说比第一个人大两岁。最后问第一个人,他说是10岁。请问第五个

人多大?

【程序24】

题目:给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。

【程序25】

题目:一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。

【程序26】

题目:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母。

【程序27】

题目:求100之内的素数

【程序28】

题目:对10个数进行排序

【程序29】

题目:求一个3*3矩阵对角线元素之和

【程序30】

题目:有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。

【程序31】

题目:将一个数组逆序输出。

【程序32】

题目:取一个整数a从右端开始的4~7位。

【程序33】

题目:打印出杨辉三角形(要求打印出10行如下图)

1

1 1

1 2 1

1 3 3 1

1 4 6 4 1

1 5 10 10 5 1

【程序34】

题目:输入3个数a,b,c,按大小顺序输出。

【程序35】

题目:输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。

【程序36】

题目:有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数

【程序37】

题目:有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下

的是原来第几号的那位。

【程序38】

题目:写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度。

【程序39】

题目:编写一个函数,输入n为偶数时,调用函数求1/2+1/4+...+1/n,当输入n为奇数时,调用函数

1/1+1/3+...+1/n(利用指针函数)

【程序40】

题目:字符串排序。

【程序41】

题目:海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子凭据分为五份,多了一个,这只猴子把多的一

个扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了一个,它同样把多的一个扔入海中

,拿走了一份,第三、第四、第五只猴子都是这样做的,问海滩上原来最少有多少个桃子?

【程序42】

题目:809*??=800*??+9*??+1

其中??代表的两位数,8*??的结果为两位数,9*??的结果为3位数。求??代表的两位数,及809*??后的结果。

【程序43】

题目:求0—7所能组成的奇数个数。

【程序44】

题目:一个偶数总能表示为两个素数之和。

【程序45】

题目:判断一个素数能被几个9整除

【程序46】

题目:两个字符串连接程序

【程序47】

题目:读取7个数(1—50)的整数值,每读取一个值,程序打印出该值个数的*。

【程序48】

题目:某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字

都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。

【程序49】

题目:计算字符串中子串出现的次数

【程序50】

题目:有五个学生,每个学生有3门课的成绩,从键盘输入以上数据(包括学生号,姓名,三门课成绩),计算出平均成绩,况原有的数据和计算出的平均分数存放在磁盘文件"stud"中。

java基础笔试测试题与答案

Java 一章至五章考试 一. 填空题(8 分) 1. 面向对象的三大原则是( 封装),( 继承) 和( 多态).2 分 2. 如果想在对象实例化的同时就初始化成员属性,则使用( 构造函数).2 分 3. ( 实体) 方法和( 构造) 方法不能修饰为abstract ?2分 二.选择题(60 分) 1) 在Java 语言中,下列(a,d )是不满足命名规范的变量名。(选择二项) a) 姓名 b) $Name c) _instanceof d) instanceof 2) 下列Java 代码片段的输出结果是( a ) 。 char c='a'; int i=c; float f=i; byte b=(byte)c; System.out.println(c+","+i+","+f+","+b); a) 编译错误 b) a,97,97,97 c) a,97,97.0,97 d) a,97,97.0f,97 3) 下列Java 代码中,空白处的代码是(b,c )。( 选择两项) public interface Fee{ public float calLabFee(float unitPrice, float time); } public class FeeImpl implements Fee { public float calLabFee(float unitPrice, float time){ return unitPrice * time; } } public class FeeInterfaceTest { public static void main(String[] args){ ________________ Float labFee = fee.calLabFee(400.00,5); } }

Java编程基础知识点汇总及习题集答案

J a v a编程基础知识点汇总及习题集答案 集团文件发布号:(9816-UATWW-MWUB-WUNN-INNUL-DQQTY-

目录 第一章 Java入门 (2) 第二章 Java基础 (5) 第三章条件转移 (14) 第四章循环语句 (20) 第五章方法 (26) 第六章数组 (33) 第七章面向对象 (42) 第八章异常 (63) 第一章 Java入门 知识点汇总 1、JAVA 三大体系 Java SE:(J2SE,Java2 Platform Standard Edition,标准版),三个平台中最核心的部分,包含Java 最核心的类库。 JavaEE:(J2EE,Java 2 Platform, Enterprise Edition,企业版),开发、装配、部署企业级应用,包含Servlet、JSP、JavaBean、JDBC、EJB、Web Service等。 Java ME:(J2ME,Java 2

Platform Micro Edition,微型版),用于小型电子设备上的软件开发。 2、JDK,JRE,JVM的作用及关系作用 ★JVM:保证Java语言跨平台 ★JRE:Java程序的运行环境 ★JDK:Java程序的开发环境 关系 ★JDK:JRE+工具 ★JRE:JVM+类库 3、JDK环境变量配置 path环境变量:存放可执行文件的存放路径,路径之间 用逗号隔开 classpath环境变量:类的运行路径,JVM在运行时通过classpath加载需要的类 4、重点掌握两个程序 :Java编译器工具,可以将编写好的Java文件(.java)编译成Java字节码文件(.class); :Java运行工具,启动Java虚拟机进程,运行编译器生成的字节码文件(.class) 5、一切程序运行的入口public static void main (String args []){ World!”); } 课堂笔记

JAVA复习题库及答案

第一题单项选择题 1、在下列说法中,选出最正确的一项是(A )。 A、Java 语言是以类为程序的基本单位的 B、Java 语言是不区分大小写的 C、多行注释语句必须以//开始 D、在Java 语言中,类的源文件名和该类名可以不相同 2、下列选项中不属于Java 虚拟机的执行特点的一项是(D )。 A、异常处理 B、多线程 C、动态链接 D、简单易学 3、下列选项中,属丁JVM 执行过程中的特点的一项是( C )。 A、编译执行 B、多进程 C、异常处理 D、静态链接 4、在Java 语言中,那一个是最基本的元素?( C ) A、方法 B、包 C、对象 D、接口 5、如果有2 个类A 和B,A 类基于B 类,则下列描述中正确的一个是( B )。 A、这2 个类都是子类或者超类 B、A 是B 超类的子类 C、B 是A 超类的子类 D、这2 个类郡是对方的子类 6、使用如下哪个保留字可以使只有在定义该类的包中的其他类才能访问该类?(D ) A、abstract B、private (本类) C、protected(本包及其他包的子类) D、不使用保留字 7、编译一个定义了3 个类的Java 源文件后,会产生多少个字符码文件,扩展名是什么?(D ) A、13 个字节码文件,扩展名是.class B、1 个字节码文件,扩展名是.class C、3 个字节码文件,扩展名是.java D、3 个字节码文件,扩展名是.class 8、下列关于Java 程序结构的描述中,不正确的一项是( C )。 A、一个Java 源文件中可以包括一个package 语句 B、一个Java 源文件中可以包括多个类定义,但是只能有一个public 类 C、一个Java 源文件中可以有多个public 类 D、源文件名与程序类名必须一致 9、下列说法正确的一项是( C )。 A、java.1ang.Integer 是接口 B、java.1ang.Runnable 是类 C、Doulble 对象在iava.1ang 包中 D、Double 对象在java.1ang.Object 包中 10、以下关于面向对象概念的描述中,不正确的一项是( B )。 A、在现实生活中,对象是指客观世界的实体

Java基础测试题(答案)

1. 有以下程序片段,下列哪个选项不能插入到行1。( D ) 1. 2.public class Interesting{ 3.//do sth 4. } (只能有一个public修饰的class) A、import java.awt.*; B、package mypackage; C、class OtherClass{ } D、public class MyClass{ } 2. 以下哪项是接口的正确定义?( B D ) A、interface B { void print(){};} (接口里的方法都是抽象的,不能有方法体) B、abstract interface B { void print() ;} C、abstract interface B extends A1,A2 //A1、A2为已定义的接口 { abstract void print(){ };} (同上) D、interface B { void print();} 1.接口可以声明为public(公共)或默认的访问权限。接口隐含表明是抽象的(abstract)的。 2.接口的方法默认即为public(公共)且是abstract(抽象)的. 3.接口中的变量默认即为public(公共), static(静态) and final(最终的)。 接口声明编译器如何解释呢 public interface Searchable {}public abstract interface Searchable {} abstract interface Searchable {}abstract interface Searchable {} interface Searchable {}abstract interface Searchable {}

Java基础试题及其答案

Java试题 1) java程序中,main方法的格式正确的是()。(选择一项) a)static void main(String[] args) b)public void main(String[] args) c)public static void main(String[]s) d)public static void main(String[] args) 2)给定java代码,如下: public byte count(byte b1,byte b2){ return______; } 要使用这段代码能够编译成功,横线处可以填入()。(选择一项)a)(byte) (b1-b2) b)(byte) b1-b2 c) b1-b2 d) (byte) b1/b2 3)在Java中,在包下定义一个类,要让包下的所有类都可以访问这个类,这个类必须定义为()。(选择一项) a)protected b)private c)public d)friendly 4)在Java中,下列()语句不能通过编译。 (选择一项) a) String s= “join”+ “was”+ “here”; b) String s= “join”+3; “”+new Person() toString() c) int a= 3+5 d) float f=5+; double float 6)给定java代码如下,运行时,会产生()类型的异常。(选择一项) String s=null; (“abc”); a)ArithmeticException b)NullPointerException c)IOException d)EOFException 已到文件尾,再读取抛出 7) 在java中,()对象可以使用键/值的形式保存数据。(选择一项) a)ArrayList List 有序可重复 b) HashSet Set 无序不可重复同一对象是重复 的 c) HashMap Map(key/value)重复定义:hashCode、 equals(业务) d) LinkedList List 8)给定如下java代码,编译运行之后,将会输出()。 public class Test{ public static void main(String args[]){ int a=5;

java基础测试题及答案

一、选择题(每题2分,共40分) 1、下面哪个是Java语言中正确的标识符( C ) A、3com B、import C、that D、this 2、下面哪个语句(初始化数组)是不正确的:( B) A.int x[] = {1,2,3}; B.int x[3] = {1,2,3}; C.int[] x = {1,2,3}; D.int x[] = new int[]{1,2,3}; 3、下述概念中不属于面向对象方法的是( D )。 A.对象、消息 B.继承、多态 C.类、封装 D.过程调用 4、下面的代码段中,执行之后i 和j 的值是什么? ( B ) int i = 1; int j; j = i++*2+3*--i; A.1, 2 B.1, 5 C. 2, 1 D. 2, 2 5、下面哪条语句把方法声明为抽象的公共方法?( B ) A.public abstract method(); B.public abstract void method(); C.public abstract void method(){} D.public void method() extends abstract; 6、下面关于java中类的说法哪个是不正确的?( C ) A.类体中只能有变量定义和成员方法的定义,不能有其他语句。 B.构造函数是类中的特殊方法。 C.类一定要声明为public的,才可以执行。 D.一个java文件中可以有多个class定义。 7、假设A类有如下定义,设a是A类的一个实例,下列语句调用哪个是错误的?( C ) class A { int i; static String s; void method1() { } static void method2() { } } A、; B、(); C、(); D、() 8、容器被重新设置大小后,哪种布局管理器的容器中的组件大小不随容器大小 的变化而改变? ( B ) A、 CardLayout B、 FlowLayout C、 BorderLayout D、 GridLayout 9、下列哪个用户图形界面组件在软件安装程序中是常见的? ( C ) A.滑块 B.进度条 C.按钮 D.标签

Java笔试题及答案

Java笔试题及答案 一、单项选择题 1.Java是从()语言改进重新设计。 A.Ada B.C++ C.Pasacal D.BASIC 答案:B 2.下列语句哪一个正确() A. Java程序经编译后会产生machine code B. Java程序经编译后会产生byte code C. Java程序经编译后会产生DLL D.以上都不正确 答案:B 3.下列说法正确的有() A. class中的constructor不可省略 B. constructor必须与class同名,但方法不能与class同名 C. constructor在一个对象被new时执行 D.一个class只能定义一个constructor 答案:C 详解:见下面代码,很明显方法是可以和类名同名的,和构造方法唯一的区别就是,构造方法没有返回值。 package net.study; public class TestConStructor { public TestConStructor() {

} public void TestConStructor() { } public static void main(String[] args) { TestConStructor testConStructor = new TestConStructor(); testConStructor.TestConStructor(); } } 4.提供Java存取数据库能力的包是() 答案:A 5.下列运算符合法的是() A.&& B.<> C.if D.:= 答案:A 详解: java 中没有<> := 这种运算符,if else不算运算符 6.执行如下程序代码 a=0;c=0; do{ --c; a=a-1; }while(a>0); 后,C的值是()

JAVA入门练习50题(含答案)

题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? //这是一个菲波拉契数列问题 public class lianxi01 { public static void main(String[] args) { System.out.println("第1个月的兔子对数: 1"); System.out.println("第2个月的兔子对数: 1"); int f1 = 1, f2 = 1, f, M=24; for(int i=3; i<=M; i++) { f = f2; f2 = f1 + f2; f1 = f; System.out.println("第" + i +"个月的兔子对数: "+f2); } } } 【程序2】 题目:判断101-200之间有多少个素数,并输出所有素数。 程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。 public class lianxi02 { public static void main(String[] args) { int count = 0; for(int i=101; i<200; i+=2) { boolean b = false; for(int j=2; j<=Math.sqrt(i); j++) { if(i % j == 0) { b = false; break; } else { b = true; } } if(b == true) {count ++;System.out.println(i );} } System.out.println( "素数个数是: " + count); } }

Java基础练习题-附答案

Java基础练习题附答案 一、简单Java程序调试 1)以下哪个是Java应用程序main方法的有效定义 A. public static void main(); B. public static void main( String args ); C. public static void main( String args[] ); D. public static void main( Graphics g ); 【 E. public static boolean main( String a[] ); 2) 编译和运行以下代码的结果为: public class MyMain{ public static void main(String argv){ "Hello cruel world"); } } A.编译错误; ~ B.运行输出 "Hello cruel world"; C.编译无错,但运行时指示没有定义构造方法。 D.编译无错,但运行时指示没有正确定义main方法。3)下列选项中不属于Java虚拟机的执行特点的一项是:A.异常处理 B.多线程 C.动态链接 D.简单易学4)不属于Java语言特点的一项是: A.分布式 B. 安全性 C. 编译执行 D.面向对象5)以下程序的运行结果为: ; public class Test{ public static void main(String argv[ ]){ "x="+5); } } A. 5 B. x=5 C. "x="+5 D. "x="5

6) 以下程序的运行结果为: public class Test{ ` public static void main(String argv[ ]){ "good"+"morning"); } } A. goodmorning B. "good"+"morning" C. good morning D. good+morning 二、Java符号与表达式 1) 现有一个int类型的整数和一个double类型的数进行加法运算,则得到的结果类型为: , A.int类型 B. double类型 C. float类型 D. long类型 2)下面程序段的输出结果是: int a = 2; a++); a); A.333 B.334 C.234 D.233 3) 以下代码的输出结果 public class Test{ ] int x=3; public static void main(String argv[]){ int x= 012; } } A.12 B.012 C.10 D.3 4) 下列定义语句正确的是: A.char c="/n"; B.int i=12; C.float f=; D.boolean b=null; … 5)检查如下代码: public class Quiz2_l{ public static void main(String[] args) { int a = 8;

Java基础入门课后习题及答案

《Java基础入门》课后习题 第1章Java开发入门 一、填空题 1、Java的三大体系分别是_JavaSE_____、_JavaEE_____、_JavaME_____。 2、Java程序的运行环境简称之为JRE_____。 3、编译Java程序需要使用_javac_____命令。 4、javac.exe和java.exe两个可执行程序存放在JDK安装目录的bin______目录下。 5、path______环境变量用来存储Java的编译和运行工具所在的路径,而_classpath_____环境变量则用 来保存保存Java虚拟机要运行的“.class”文件路径。 二、选择题 1、以下选项中,哪些属于JDK工具?(多选)ABCD A、Java编译器 B、Java运行工具 C、Java文档生成工具 D、Java打包工具 2、Java属于以下哪种语言?C A、机器语言 B、汇编语言 C、高级语言 D、以上都不对 3、下面哪种类型的文件可以在Java虚拟机中运行?D A、.java B、.jre C、.exe D、.class 4、安装好JDK后,在其bin目录下有许多exe可执行文件,其中java.exe命令的作用是以下哪一种?B A、Java文档制作工具 B、Java解释器 C、Java编译器 D、Java启动器 5、如果jdk的安装路径为:d:\jdk,若想在命令窗口中任何当前路径下,都可以直接使用javac和java 命令,需要将环境变量path设置为以下哪个选项?B A.d:\jdk; B.d :\jdk\bin; C.d:\jre\bin; D.d:\jre;

java笔试题及答案.doc

java笔试题及答案 有了下面java笔试题及答案,进行java笔试时就容易多了,请您对下文进行参考: 1、作用域public,private,protected,以及不写时的区别 答:区别如下: 作用域当前类同一package子孙类其他package public 7 7 7 7 protected 7 7 7 X friendly 7 7 X X private 7 X X X 不写时默认为friendly 2、Anonymouslnner Class (匿名内部类)是否可以exte nd s (继承)其它类,是否可以imple ment s (实现)i nterf ace (接口) 答:匿名的内部类是没有名字的内部类。不能exte n ds (继承)其它类,但一个内部类可以作为一个接口,由另一个内部类实现 3、Sta ti cNestedC las s 和Inner Clas s 的不同答: Nes tedC lass (一般是C+ +的说法),In ne rClass (—般是JAVA的说法)。J ava内部类与C++嵌套类最大的不同就在于是否有指向外部的引用上。注:静态内部类(I

nn erClass)意味着1创建一个st atic内部类的对象,不需要一个外部类对象,2不能从一个st atic内部类的一个对象访问一个外部类对象 4、和的区别 答:是位运算符,表示按位与运算,是逻辑运算符,表示遷辑与(and ) 5、Coll ect ion 和Col lect ions 的区别 答:Coll ect ion是集合类的上级接口,继承与他的接口主要有Set和List. Col lections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作 6、什么时候用assert 答:asserti on (断言)在软件开发中是一种常用的调试方式,很多开发语言中都支持这种机制。在实现中,a ssertion 就是在程序中的一条语句,它对一个boolea n表 达式进行检查,一个正确程序必须保证这个bool ean表达 式的值为tr ue;如果该值为fal se,说明程序己经处于不正确的状态下,系统将给出警告或退出。一般来说,

JAVA试题及答案

JA V A语言基础内部测试题 选择题(针对以下题目,请选择最符合题目要求的答案,针对每一道题目,所有答案都选对,则该题得分,所选答案错误或不能选出所有答案,则该题不得分。)(每题2分) 没有注明选择几项的,只选择一项 1、JAVA所定义的版本中不包括:() A、JAVA2 EE B、JAVA2 Card C、JAVA2 ME D、JAVA2 HE E、JAVA2 SE 2、下列说法正确的是() A、JAVA程序的main方法必须写在类里面 B、JAVA程序中可以有多个main方法 C、JAVA程序中类名必须与文件名一样 D、JAVA程序的main方法中如果只有一条语句,可以不用{}(大括号)括起来 3、Java中,在如下所示的Test类中,共有()个构造方法。 public class Test{ private int x; public Test(){ x=35; } public void Test(double f){ =(int)f; } public Test(String s){} } A、0 B、 1 C、 2 D、3 4、变量命名规范说法正确的是() A、变量由字母、下划线、数字、$符号随意组成; B、变量不能以数字作为开头; C、A和a在java中是同一个变量; D、不同类型的变量,可以起相同的名字; 5、下列javaDoc注释正确的是() A、/*我爱北京天安门*/

B、quals("john") C、"john" = "john" D、"john".equals(new String("john")) 6、下列输出结果是() int a = 0 ; while ( a < 5 ) { switch(a){ case 0: case 3 : a = a + 2; case 1 : case 2 : a = a + 3; default : a = a + 5; } } ( a ) ; A、0 B、5 C、10 D、其他 7、下列代码输出结果是( ) int i = 10; while ( i > 0 ){ i = i + 1; if ( i = =10 ){ break; } } A.while循环执行10次 B.死循环 C.循环一次都不执行 D.循环执行一次 8、下面有关for循环的描述正确的是() A、for循环体语句中,可以包含多条语句,但要用大括号括起来 B、for循环只能用于循环次数已经确定的情况 C、在for循环中,不能使用break语句跳出循环 D、for循环是先执行循环体语句,后进行条件判断 9、下列()属于引用数据类型(选择两项) A、String B、char C、用户自定义的Student类类型

JAVA练习题含答案-answer to pratice 3

Chapter 3 Flow of Control Multiple Choice 1)An if selection statement executes if and only if: (a)the Boolean condition evaluates to false. (b)the Boolean condition evaluates to true. (c)the Boolean condition is short-circuited. (d)none of the above. Answer:B (see page 97) 2) A compound statement is enclosed between: (a)[ ] (b){ } (c)( ) (d)< > Answer:B (see page 98) 3) A multi-way if-else statement (a)allows you to choose one course of action. (b)always executes the else statement. (c)allows you to choose among alternative courses of action. (d)executes all Boolean conditions that evaluate to true. Answer:C (see page 100) 4)The controlling expression for a switch statement includes all of the following types except: (a)char (b)int (c)byte (d)double Answer:D (see page 104) Copyright ? 2006 Pearson Education Addison-Wesley. All rights reserved. 1

Java基础试题和答案

J a v a基础试题和答案 Revised by Petrel at 2021

J a v a试题1)java程序中,main方法的格式正确的是()。(选择一项) a)staticvoidmain(String[]args) b)publicvoidmain(String[]args) c)publicstaticvoidmain(String[]s) d)publicstaticvoidmain(String[]args) 2)给定java代码,如下: publicbytecount(byteb1,byteb2){ return______; } 要使用这段代码能够编译成功,横线处可以填入()。(选择一项)a)(byte)(b1-b2) b)(byte)b1-b2 c)b1-b2 d)(byte)b1/b2 3)在Java中,在包com.db下定义一个类,要让包com.util下的所有类都可以访问这个类,这个类必须定义为()。(选择一项) a)protected b)private c)public d)friendly 4)在Java中,下列()语句不能通过编译。(选择一项) a)Strings=“join”+“was”+“here”; b)Strings=“join”+3; c)inta=3+5 d)floatf=5+5.5;

5)在Java中下列()方法可以把JFrame的布局管理器设为FlowLayout类型(选择一项) a)jFrame.setLayout(newFlowLayout()); b)jFrame.addLayout(newFlowLayout()) c)jFrame.setFlowLayout() d)jFrame.addFlowLayout() 6)给定java代码如下,运行时,会产生()类型的异常。(选择一项)Strings=null; s.concat(“abc”); a)ArithmeticException b)NullPointerException c)IOException d)EOFException 7)在java中,()对象可以使用键/值的形式保存数据。(选择一项) a)ArrayList b)HashSet c)HashMap d)LinkedList 8)给定如下java代码,编译运行之后,将会输出()。publicclassTest{ publicstaticvoidmain(Stringargs[]){ inta=5; (a+1)/2:a/2); } }(选择一项)

Java经典面试题大全_带答案

Java经典面试题带答案一、单项选择题 1.Java是从()语言改进重新设计。 A.Ada B.C++ C.Pasacal D.BASIC 答案:B 2.下列语句哪一个正确() A.Java程序经编译后会产生machine code B.Java程序经编译后会产生byte code(字节码) C.Java程序经编译后会产生DLL D.以上都不正确 答案:B 3.下列说法正确的有() A.class中的constructor不可省略 B.constructor必须与class同名,但方法不能与class同名C.constructor在一个对象被new时执行(构造器) D.一个class只能定义一个constructor 答案:C 4.提供Java存取数据库能力的包是() A.Java.sql /sql/数据库还有Oracle 也是一种数据库 B.java.awt C.https://www.wendangku.net/doc/81241362.html,ng D.java.swing 答案:A 5.下列运算符合法的是() A.&& B.<> C.if D.:= 答案:A 6.执行如下程序代码 a=0;c=0; do{ --c; a=a-1; }while(a>0); 后,C的值是() A.0 B.1 C.-1 D.死循环

答案:C 7.下列哪一种叙述是正确的() A.abstract修饰符可修饰字段、方法和类 B.抽象方法的body部分必须用一对大括号{}包住 C.声明抽象方法,大括号可有可无 D.声明抽象方法不可写出大括号 答案:D 8.下列语句正确的是() A.形式参数可被视为localvariable B.形式参数可被字段修饰符修饰 C.形式参数为方法被调用时,真正被传递的参数 D.形式参数不可以是对象 答案:A 9.下列哪种说法是正确的() A.实例方法可直接调用超类的实例方法 B.实例方法可直接调用超类的类方法 C.实例方法可直接调用其他类的实例方法 D.实例方法可直接调用本类的类方法 答案:D 二、多项选择题 1.Java程序的种类有() A.类(Class) B.Applet C.Application D.Servlet 2.下列说法正确的有() A.环境变量可在编译sourcecode时指定 B.在编译程序时,所能指定的环境变量不包括class path C.javac一次可同时编译数个Java源文件 D.javac.exe能指定编译结果要置于哪个目录(directory)答案:BCD 3.下列标识符不合法的有() A.new B.$Usdollars C.1234 D.car.taxi 答案:ACD 4.下列说法错误的有() A.数组是一种对象 B.数组属于一种原生类 C.intnumber=[]={31,23,33,43,35,63} D.数组的大小可以任意改变 答案:BCD 5.不能用来修饰interface的有()

JAVA练习题含答案-answer to practice 6

Chapter 6 Arrays Multiple Choice 1)The individual variables that together make up the array are referred to as: (a)indexed variables (b)subscripted variables (c)elements of the array (d)all of the above Answer: D 2)What is the correct expression for accessing the 5th element in an array named colors? (a)colors[3] (b)colors[4] (c)colors[5] (d)colors[6] Answer: B 3)Consider the following array: What is the value of myArray[myArray[1] – myArray[0]] (a)7 (b)9 (c)-3 (d)6 Answer: C Copyright ? 2006 Pearson Education Addison-Wesley. All rights reserved. 1

2 Walter Savitch ?Absolute Java2/e: Chapter 6 Test Bank 4)The subscript of the first indexed variable in an array is: (a)0 (b)1 (c)2 (d)3 Answer: A 5)The correct syntax for accessing the length of an array named Numbers is: (a)Numbers.length() (b)Numbers.length (c)both A and B (d)none of the above Answer: B 6)An ArrayIndexOutOfBounds error is a: (a)compiler error (b)syntax error (c)logic error (d)all of the above Answer: C 7)Which of the following initializer lists correctly initializes the indexed variables of an array named myDoubles? (a)double myDoubles[double] = {0.0, 1.0, 1.5, 2.0, 2.5}; (b)double myDoubles[5] = new double(0.0, 1.0, 1.5, 2.0, 2.5); (c)double[] myDoubles = {0.0, 1.0, 1.5, 2.0, 2.5}; (d)array myDoubles[double] = {0.0, 1.0, 1.5, 2.0, 2.5}; Answer: C 8)The base type of an array may be all of the following but: (a)string (b)boolean (c)long (d)all of these may be a base type of an array. Answer: D 9)The correct syntax for passing an array as an argument in a method is: (a)a[] (b)a() (c)a (d)a[0]..a[a.length] Answer: C Copyright ? 2006 Pearson Education Addison-Wesley. All rights reserved.

JAVA基础练习题

JA V A练习 1. 以下方法fun的功能是求两参数之积。(return a*b) int fun ( int a, int b ) { __________________; } 2. 以下方法fun的功能是求两参数之积。(return (float)a*b) float fun ( int a, double b ) { __________________; } 3. 以下方法fun的功能是求两参数的最大值。(return a>b?a:b) int fun ( int a, int b ) { __________________; } 4. 以下方法m的功能是求两参数之积的整数部分。 (return (int)(a*b)) int m ( float x, float y ) { __________________; } 5. 下面是用户程序对Applet 类中方法paint( ) 的重新定义。 (void call) public ___ paint(Graphics ____) { call.drawString("Hello,java!",10,20); } 6.下面方法的功能是判断一个整数是否为偶数,将程序补充完整。(boolean true)public ________ isEven(int a) { if(a%2==0) return _____; else return false; } 7.同一个类中多个方法具有相同的方法名,不同的_____________称为方法的重载。(参数列表)

二.选择题及答案 1.下列方法定义中,正确的是( D )。 A) int x( int a,b ) { return (a-b); } B) double x( int a,int b) { int w; w=a-b; } C) double x( a,b ) { return b; } D) int x( int a,int b) { return a-b; } 2.下列方法定义中,正确的是( D )。 A) void x( int a,int b ); { return (a-b); } B) x( int a,int b) { return a-b; } C) double x { return b; } D) int x( int a,int b) { return a+b; } 3. 下列方法定义中,不正确的是(D)。 A) float x( int a,int b ) { return (a-b); } B) int x( int a,int b) { return a-b; } C) int x( int a,int b ); { return a*b; } D) int x(int a,int b) { return 1.2*(a+b); } 4. 下列方法定义中,正确的是( A )。 A) int x( ){ char ch='a'; return (int)ch; } B) void x( ){ ...return true; } C) int x( ){ ...return true; } D) int x( int a, b){ return a+b; } 5. 列方法定义中,方法头不正确的是(D )。

Java开发工程师笔试题(带答案)

Java开发工程师笔试试题 (请不要在试题上留任痕迹,所有答案均写在答题纸上) 一.编程题(共26分) 1.任意写出一种排序算法。(6分) public void sort(int [] array){ //代码区 } 2.求1+2+3+..n(不能使用乘除法、for 、while 、if 、else 、switch 、case 等关键字 以及条件判断语句)(8分) public int sum(int n){ //代码区 return 0; } 3.完成下面法,输入一个整数,输出如下指定样式图案。(12分) 输入:3, 输出: 1*2*3 7*8*9 4*5*6

输入:4 输出: 1*2*3*4 9*10*11*12 13*14*15*16 5*6*7*8 public void drawNumPic(int n){ //代码区 } 二.选择题(定项选择每题3分,不定项选择每题4分,共63分) 1.在基本JAVA类型中,如果不明确指定,整数型的默认是__类型,带小数的默认是__类型?( B ) A.int float B.int double C.long float D.long double 2.只有实现了__接口的类,其对象才能序列化( A ) A.Serializable B.Cloneable https://www.wendangku.net/doc/81241362.html,parable

D.Writeable 3.代码System. out. println(10 % 3 * 2);将打印出?( B ) A. 1 B.2 C.4 D.6 4.以下程序运行的结果为( A ) public class Example extends Thread{ @Override public void run(){ try{ Thread.sleep(1000); }catch (InterruptedException e){ e.printStackTrace(); } System.out.print("run"); } public static void main(String[] args){ Example example=new Example(); example.run(); System.out.print("main"); } } A.run main B.main run C.main D.run E.不能确定 5.下面有关java实例变量,局部变量,类变量和final变量的说法,错误的是?( B ) A.实例变量指的是类中定义的变量,即类成员变量,如果没有初始化,会有默认值

相关文档