java编程练习题及答案_第1页
java编程练习题及答案_第2页
java编程练习题及答案_第3页
java编程练习题及答案_第4页
java编程练习题及答案_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、java 编程练习题及答案【篇一:java 基础编程练习题(50 题及答案)2017 】class=txt> 【程序 1 】题目:古典问题:有一对兔子,从出生后第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,

2、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; i200; i+=2) boolea

3、n 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);【程序 3】题目:打印出所有的水仙花数,所谓 水仙花数是指一个三位数,其各位数字立方和等于该数本身。例如:153 是一个 水仙花数,因为 153=1 的三次方5 的三次方3 的三次方。public class lianxi03 public static v

4、oid main(string args) int b1, b2, b3;for(int m=101; m1000; m+) b3 = m / 100;b2 = m % 100 / 10;b1 = m % 10;if(b3*b3*b3 + b2*b2*b2 + b1*b1*b1) = m) system.out.println(m+ 是一个水仙花数); 【程序 4】题目:将一个正整数分解质因数。例如:输入90, 打印出90=2*3*3*5 。程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。(2)

5、如果 n k ,但 n 能被 k 整除,则应打印出k 的值,并用n 除以 k的商,作为新的正整数你n,重复执行第一步。(3)如果 n 不能被 k 整除,则用k+1 作为 k 的值 ,重复执行第一步。import java.util.*;public class lianxi04public static void main(string args) scanner s = new scanner(system.in);system.out.print( 请键入一个正整数: );int n = s.nextint();int k=2;system.out.print(n + = );while(

6、k = n) if(k = n) system.out.println(n);break;else if( n % k = 0) system.out.print(k + *);n = n / k; else k+;【程序 5】题目:利用条件运算符的嵌套来完成此题:学习成绩=90 分的同学用 a 表示, 60-89 分之间的用b 表示, 60 分以下的用c 表示。import java.util.*;public class lianxi05 public static void main(string args) int x;char grade;scanner s = new scanne

7、r(system.in);system.out.print( 请输入一个成绩: );x = s.nextint();grade = x = 90 ? a: x = 60 ? b:c;system.out.println( 等级为:+grade);【程序 6】题目:输入两个正整数m 和 n ,求其最大公约数和最小公倍数。/* 在循环中,只要除数不等于0,用较大数除以较小的数,将小的一个数作为下一轮循环的大数,取得的余数作为下一轮循环的较小的数,如此循环直到较小的数的值为0,返回较大的数,此数即为最大公约数,最小公倍数为两数之积除以最大公约数。* /import java.util.*;publi

8、c class lianxi06 public static void main(string args) int a ,b,m;scanner s = new scanner(system.in);system.out.print( 键入一个整数:);a = s.nextint();system.out.print( 再键入一个整数:);b = s.nextint();deff cd = new deff(); m = cd.deff(a,b); int n = a * b / m; system.out.println(最大公约数: + m);system.out.println(最小公倍

9、数: + n);class deffpublic int deff(int x, int y) int t;if(x y) t = x;x = y;y = t;while(y != 0) if(x = y) return x; else int k = x % y;x = y;y = k;return x;【程序 7】题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。package wuyang;import java.util.*;public class lianxi07 public static void main(string args) int abccoun

10、t=0;/英文字母个数 int spacecount=0;/ 空格键个数int numcount=0;/ 数字个数int othercount=0;/其他字符个数scanner scan = newscanner(system.in);/ 扫描器接受控制台的输入信息system.out.println(输入一组字符); string str=scan.nextline();/ 取出控制台的一行信息,也就是你输入的信息char ch = str.tochararray();/ 把取道的字符串变成一个char 数组 for(inti=0;ich.length;i+) if(character.is

11、letter(chi) / abccount+; else if(character.isdigit(chi) / numcount+; else if(character.isspacechar(chi) /以上都不是则认为是其他字符字母个数:数字个数:空格个数:其他字符个数:+othercount); 空格键 spacecount+; else / othercount+; system.out.println( +abccount);system.out.println( 数字个数: +numcount);system.out.println( +spacecount);system.o

12、ut.println(【程序 8】题目:求s=a+aa+aaa+aaaa+aa.a如 2+22+222+2222+22222( 此时共有盘控制。import java.util.*;public class lianxi08 public static void main(string args) long a , b = 0, sum = 0;scanner s = new scanner(system.in);system.out.print( 输入数字a 的值:a = s.nextint();system.out.print( 输入相加的项数:int n = s.nextint();in

13、t i = 0;while(i n) b = b + a;sum = sum + b;a = a * 10;+ i;a 是一个数字。例5 个数相加),几个数相加有键);); system.out.println(sum);【程序9】题目:一个数如果恰好等于它的因子之和,这个数就称为如 6=1 2 3.编程 找出 1000 以内的所有完数。public class lianxi09 public static void main(string args) 判断是否字母判断是否数字判断是否完数 。例system.out.println(1 到 1000 的完数有:);for(int i=1; i1

14、000; i+) int t = 0;for(int j=1; j= i/2; j+) if(i % j = 0) t = t + j;if(t = i) system.out.print(i + );【程序10】题目:一球从100 米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第 10 次落地时,共经过多少米?第10 次反弹多高?public class lianxi10 【篇二:java 面向对象编程练习题答案0】txt猜数字游戏:一个类 a有一个成员变量V,有一个初值100。定 义一个类,对a 类的成员变量v 进行猜。如果大了则提示大了,小了则提示小了。等于则提示猜测成功。

15、import java.util.*;class aint v = 100;a()this.v = v;public class b01public static void main(string args)a a = new a();scanner intput = new scanner(system.in);int intputvalue = intput.nextlnt();if(intputvaluea.v)system.out.println( 你的输入大于这个值);if(intputvaluea.v)system.out.println( 你的输入小于这个值);if(intput

16、value=a.v)system.out.println( 猜测成功);【练习题】02. 类的成员变量:请定义一个交通工具(vehicle) 的类,其中有:属性:速度(speed) ,体积 (size) 等等方法:移动(move() ,设置速度(setspeed(int speed) ,加速speedup(), 减速 speeddown() 等等 .最后在测试类vehicle 中的 main() 中实例化一个交通工具对象,并通过方法给它初始化speed,size 的值,并且通过打印出来。另外,调用加速,减速的方法对速度进行改变。class vehicleint speed;int size;v

17、oid move();void setspeed(int speed)this.speed = speed;void speedup()speed = speed+1;this.speed=speed;void speeddown()speed = speed-1;this.speed=speed;public class b01 public static void main(string args)vehicle a = new vehicle();a.setspeed(55);a.size = 80;a.speedup();system.out.println(speed:+a.spee

18、d+nsize:+a.size);【练习题】03. 类的成员变量与方法、构造方法在程序中,经常要对时间进行操作,但是并没有时间类型的数据。那么,我们可以自己实现一个时间类,来满足程序中的需要。定义名为mytime 的类,其中应有三个整型成员:时(hour ),分( minute ),秒(second ),为了保证数据的安全性,这三个成员变量应声明为私有。为 mytime 类定义构造方法,以方便创建对象时初始化成员变量。再定义 diaplay 方法,用于将时间信息打印出来。为 mytime 类添加以下方法:addsecond(int sec)addminute(int min)addhour(i

19、nt hou)subsecond(int sec)subminute(int min)subhour(int hou)分别对时、分、秒进行加减运算。class mytimeprivate int hour;private int minute;private int second;public mytime(int hour,int minute,int second)this.hour = hour;this.minute = minute;this.second = second;void diaplay()system.out.println( 时间: +hour+:+minute+:+

20、second);void addsecond(int sec) second = second+sec;void addminute(int min) minute = minute+min;void addhour(int hou)hour = hour+hou;void subsecond(int sec)second = second-sec;void subminute(int min)minute = minute-min;void subhour(int hou)hour = hour-hou;void test()if(hour=23hour=0minute=59minute=0

21、second=59second=0)system.out.println(ntruen);elsesystem.out.println(nfalsen);public class b01public static void main(string args)mytime b = new mytime(11,4,55);b.subhour(5);b.subminute(5);b.subsecond(2);b.diaplay();b.test();【练习题】04. 构造方法编写 java 程序,模拟简单的计算器。定义名为number的类,其中有两个整型数据成员n1和n2 ,应声明为私有。编写构造方

22、法,赋予n1 和 n2 初始值,再为该类定义加(addition)、减(subtration)、乘(multiplication )、除(division)等公有成员方法,分别对两个成员变量执行加、减、乘、除的运算。在main 方法中创建number类的对象,调用各个方法,并显示计算结果。class numberprivate int n1;private int n2;public number(int n1,int n2)this.n1 = n1;this.n2 = n2;void addition()int equal = n1+n2;system.out.println(n1+n2=+

23、equal);void subtration()int equal = n1-n2;system.out.println(n1-n2=+equal);void multiplication()int equal = n1*n2;system.out.println(n1*n2=+equal);void division()int equal = n1/n2;system.out.println(n1/n2=+equal);public class b01public static void main(string args) number num = new number(6,3);num.d

24、ivision();【练习题】05. 构造方法:编写 java 程序,用于显示人的姓名和年龄。定义一个人类(person ),该类中应该有两个私有属性,姓名( name )和年龄(age )。定义构造方法,用来初始化数据成员。再定义显示(display )方法,将姓名和年龄打印出来。在 main 方法中创建人类的实例,然后将信息显示。class personprivate string name;private int age;public person(string name,int age) = name;this.age = age;void display()syst

25、em.out.println( 姓名 +name+n 年龄 +age); public class b01public static void main(string args)person per = new person( 奥巴马 ,20);per.display();【练习题】06.get 方法和 set 方法定义一个类,该类有一个私有成员变量,通过构造方法将其进行赋初值,并提供该成员的getxxx() 和 setxxx() 方法提示:假设有private string name; 则有public void setname(string name) = name;public string getname()return ;class

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论