A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 Jim-剣◆﹏ 于 2013-11-28 22:14 编辑

可能有一些朋友看完视频,想多敲代码练习,但是不知道敲什么,我这里整理了一些需求(暂时只有面向对象前的基础需求)有空多练练
1   定义一个函数接收一个年份,判断是否是闰年。  什么是闰年?可以被4整除不能被100整除,或者可以被400整除,那么这一年就是闰年
2   使用do-while改写猜数字游戏。(希望做得比老师更加完善)
3   定义一个函数接收一个数组,找出数组中最大值,并计算数组中所有奇数的总和。
4   定义一个函数接收一个数组,把数组中的元素最大值放在数组中第一个位置上。
5   练习:输出1-150的奇数和统计奇数的个数。
6   练习:计算1-100的总和, 统计出奇数和偶数的个数各是多少?
7   练习:使用do-while算出1-100之间的偶数总和。
8   练习:把猜数字的游戏使用do-while改写。
9   打印九九乘法
10  计算1-100奇数的总和
11  定义一个函数做加法功能运算,不需要返回一个值给调用者。
12  需求:定义一个函数比较两个数的大小,把最大的数返回给调用者。
13  需求:定义一个函数根据学生的分数,返回对应的等级给调用者。
14  需求:定义一个函数做加法功能,直接打印,不需要返回一个结果给调用者。
15  需求1:定义一个函数接收一个数组,把数组中的最大值取出。
16  需求2:定义一个函数接收一个数组,把数组中的最大值放在数组中的第一个位置上。
17  需求3:定义一个函数接收一个数组,把数组中的最大值放在数组中的最后一个位置上。
18  定义一个函数接收一个数组,把数组中的元素翻转。
                   比如:int[] arr ={1,2,3,4} -----  {4,3,2,1,};
19  练习:定义一个函数接收一个二维数组,计算二维数组中所有元素的总和,并且统计奇数的个数。
20  练习:定义一个函数接收一个二维数组,计算二维数组中所有元素的总和,并且统计奇数的个数。
21  需求:使用java来描述车,车都具备轮子、颜色 、与跑的行为。
22  需求:描述一个学生类,学生具备姓名、学号、性别、三个公共的属性,学生都具备吃饭与学习的行为。
23  创建对象对象,并给学生对象的属性进行赋值,已经调用学生的功能行为。
24  需求:使用java描述车、修车厂两个类,车具备名字、颜色、轮子数三个属性、车具备跑得行为,
              车在跑的时候应该判断是否够四个轮子,如果够四个轮子可以跑起,否则送去修车厂维修。
               修车厂具备,名字、地址、电话三个属性,具备修车的功能行为。
25  使用java类来描述一个学生。 学生还是具备 id 、 名字 、 age  的属性,还有具备学习的行为。
26  练习:描述一个计算器类 , 计算机有 操作数1 , 操作数2 , 运算符 三个属性,还具备运算的功能。
                要求:不能直接给 操作数1 , 操作数2,运算符直接赋值。
27  练习:使用java描述一个矩形,矩形具备高  、 宽两个属性, 还具备计算面积与周长的方法。
                要求:一旦创建矩形对象时,那么该矩形对象就具备了高、宽两个属性值(不能使默认的初始值)。
28  练习: 定义一个人类,  id ,name , age 三个属性, 还具备一个人与人比较年龄的方法。
29  练习:先写一个Person类,统计创建Person的对象个数。
30  练习:描述一个动物类,鸟类  动物都具备 name、 age 两属性,还有移动的行为,
            鸟 也具备 name 、 age   \  color、属性  , 也具备移动的行为。
31  定义一个方法接收一个无序的数组,要对数组进行排序,使用二分法找到一个指定的元素。
32  描述车 、 宝马、 奔驰 三个类,车都具备颜色、name 。 还具备跑的功能。
              定义一个方法可以接收任意的车对象,定义一个方法可以返回任意的车对象。
33  描述动物、 蛇、 鱼 、三个类,编写一个方法可以接收任意的动物对象,定义一个方法可以
                 接收任意的动物类型对象,并且要调用动物类型对象的特有方法。
34  描述动物、 狗、 鱼 三个类,动物都具备name、 color两个属性、 动物都具备移动的行为。
              狗特有的一个方法就是咬人。  鱼特有的一个行为:吹泡泡。
35  练习:描述 图形 、 矩形、 圆形 三个类,每一个图形都是有计算面积与周长的方法的,
               把三者之间的关系描述清楚。
36  描述一个学生类,具备id 、 name  两个属性 、 学生都具备学习的行为功能,
               但是有部分学生在学习的过程中也会赚钱。
                普通学生: 学习  不会赚钱
                会赚钱的学生:  学习、 还会赚钱。
37  描述 图形、 矩形、 圆形 、三个类, 定义一个方法可以接收所有的图像对象,并打印图形对象的周长与面积.
                        定义一个方法可以返回任意的图形对象
38  描述车 、 宝马、 奔驰 三个类,车都具备颜色、name 。 还具备跑的功能。
                定义一个方法可以接收任意的车对象,定义一个方法可以返回任意的车对象。
39  模拟你吃木桶饭的情况,如果你带少于10块钱去吃木桶饭,那么抛出一个没有带够钱的异常,
               如果有足够10块钱,那么可以正常的吃饭。
往后再整理一下面向对象后的需求
希望大家也能把平时敲的代码的需求整理整理,发出来看看
字数有限制,楼下回复继续更新需求


需求.zip

12.31 KB, 下载次数: 455

练习需求1.zip

17.63 KB, 下载次数: 495

评分

参与人数 1技术分 +1 黑马币 +5 收起 理由
枫儿 + 1 + 5 很给力!

查看全部评分

10 个回复

倒序浏览
1、 输出从1到100之间所有的整数;
2、 输出从1到100之间所有的奇数;
3、 输出从1到100之间所有的偶数;
4、 输出从1到100之间所有不能被3整除的数;
5、 求1~100所有整数的和
6、 求1~100所有奇数的和
7、 求1~100所有偶数的和
8、 求1~100所有不能被3整除的数的和
9、 显示1~10整数的平方
10、 输入长和宽,输出长方形,如:输入4和3, 将输出如下图形
####
####
####
11、输入高度,输出直角三角形。如:输入4, 将输出如下图形
#
##
###
####
12、输入高度,输出倒直角三角形。如:输入4, 将输出如下图形
####
###
##
#
如果还不够可以百度的哦!其实做完这些面向对象前的已经可以了哦!

评分

参与人数 1技术分 +1 黑马币 +3 收起 理由
枫儿 + 1 + 3 赞一个!

查看全部评分

回复 使用道具 举报
多多分享  !!!!
回复 使用道具 举报
本帖最后由 Jim-剣◆﹏ 于 2013-11-28 22:15 编辑

1 编写一个完整的Java  Application 程序。包含接口ShapeAreaMyRectangle类及Test类,具体要求如下:
(1)接口ShapeArea
  double  getArea():求一个形状的面积
     double  getPerimeter ():求一个形状的周长
(2) MyRectangle
  实现ShapeArea接口,另有以下属性和方法:
  ①属性
   width  double类型,表示矩形的长
   height  double类型,表示矩形的高
  ②方法
   MyRectangle(double  w, double  h):构造函数
    toString()方法 :输出矩形的描述信息,如“width=1.0,height=2.0, perimeter=6.0,area=2.0”
(3)Test
类作为主类要完成测试功能
  ①生成MyRectangle对象
  ② 调用对象的toString方法,输出对象的描述信息
2 编写一个完整的Java  Application 程序,包括ShapeArea接口、MyTriangle类、Test类,具体要求如下:
(1)接口ShapeArea
  double  getArea():求一个形状的面积
  double  getPerimeter ():求一个形状的周长
(2)MyTriangle
  实现ShapeArea接口,另有以下属性和方法:
  ①属性
   x,y,z: double型,表示三角形的三条边
   s: 周长的1/2(注:求三角形面积公式为 s=(x+y+z)/2 ,开方可用Math.sqrt(double)方法)
  ②方法
  MyTriangle(double  x,  double  y,  double  z):构造函数,给三条边和s赋初值。
   toString():输出矩形的描述信息,如“three sides:3.0,4.0,5.0,perimeter=12.0,area=6.0”
(3)Test
类作为主类要完成测试功能
  ①生成MyTriangle对象
  ②调用对象的toString方法,输出对象的描述信息
3. 某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。 试使用java类写出其加密的过程。
4. 分页显示练习:定义一个常量,设定数据总记录数为73条(随时可以变化),一页20条记录(随时可以变化),输入页码,打印记录总数,共几页,当前是第几页,当前记录从第n条到第n
5. 输入一个数字,判断是一个奇数还是偶数
6. 将分页显示的功能增加判断,如果用户输入的小于1的页码,自动赋成1,如果超出了总页码,自动赋成总页码
7.判断一个数字是否能被56同时整除(打印能被56整除),或只能被5整除(打印能被5整除),或只能被6整除,(打印能被6整除),不能被56整除,(打印不能被56整除)
8. 输入两个小于5000的正随机整数,求它们差的绝对值,并输出结果。
8. 输入一个年份,判断这个年份是否是闰年
9. 输入一个0100的分数,如果不是0100之间,打印分数无效,根据分数等级打印A,B,C,D,E
10.
请编写一个实现如下功能的Application:从命令行依次取三个参数 x, y, op 做算术运算,其中 x, y int 型数据,op 为运算符(+、-、×÷ 之一),请显示 x  op  y 的结果。(此例子需要讲完String类的equals方法)
11. 从命令行传入3个整数,求3个整数的和、积、最大值、最小值、平均值
12. 将以上3个数字,从小到大排列,然后再从大到小排列。
13. 输入年和月,得到这个月有多少天
14. 续上题,输入年,月,日,判断这个日期是否是一个正确的日期
15. 续上题,输入年,月,日,next|prior,如果是一个正确的日期,算出上一天或下一天
16. 输入三角形的三条边,判断是否是一个三角形,三角形的形状:等腰三角形,等边三角形,直角三角形,普通三角形,求出周长,如果是直角三角形,另外求出面积
17. 有一个不多于5位的正整数,求它是几位数,分别打印出每一位数字。
18. 企业发放的奖金根据利润提成。利润(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,求应发放奖金总数?注意定义时需把奖金定义成浮点型。
19. 从控制台输入2个数字,求两者之间最大值,再从控制台输入3个数字,求三个数字的最大值,用三目运算符求。
20. switch语句判断成绩,>=90 A  >=80 B    >=70C    >=60 D   <60 E
   
21.
输入年月日,判断这是这一年中的第几天
22.打印1~100之间能被3整除且个位是6的数
23. n的阶乘。例如5的阶乘是1*2*3*4*5
24.
以下例子用for循环实现,打印1100之间的奇数和偶数
25. 打印1900年到2100年之间的闰年,一行打印4
26. 打印小九九乘法表的4种形状
27. 用一层while循环打印小九九乘法表
28. 打印以下图形
1
2 3
45 6
7 8 9 10
11 12 13 14 15
int j = 1,k = 1;//
控制换行
29. 李先生岁数的平方与他的夫人的岁数之和是1053,而他的夫人的岁数的平方与他的岁数之和是873,请编写程序计算李先生及其夫人的岁数各是多少。
30. 有两个正整数ab,已知a*b=2048,求ab各为何值时,a+b的值最小
回复 使用道具 举报
31. 用1、2、3、4能组成多少无重复数字的三位数
32. 一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第5次落地时,共经过多少米?再反弹弹起多少米?
33. 输出10~100之间的全部素数。所谓素数n是指,除1和n之外,不能被2~(n-1)之间的任何整数整除。
34. 输入两个正整数m和n,求其最大公约数和最小公倍数
35. 打印所有的水仙花数。水仙花数是一个三位数,其各位数字的立方和等于该数本身,如153 = 1的立方 + 5的立方 + 3的立方
36. 完数,一个数如果恰好等于它因子之和,这个数即为完数,如6 = 1 + 2 + 3

37. 打印以下图形
*
***
*****
*******
38. 一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?

39. 猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个   第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下   的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。程序分析:采取逆向思维的方法,从后往前推断。

40. 从控制台输入n个数,求出最大值和最小值

41. 使用for循环将一个数组中的元素逆序存放

42. 冒泡排序的下沉法

43. 冒泡排序的上浮法

44. 选择排序:先从数组中找出最小元素下标,然后和第一个元素交换,然后再找出从第二个元素到最后的元素中的最小元素和第二个交换,以此类推

45. 插入排序: 每次将一个待排序的数据元素,插入到前面已经排好序的数列中的适当位置,使数列依然有序,直到待排序数据元素全部插入完为止。

46. 将10个费波那契数字赋给一个数组并打印出来(后一个数等于前面两个数的和。在这个数列中的数字,就被称为费波那契数字,排列是:1,1,2,3,5,8,13……)

47. 有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。程序分析:首先判断此数是否大于最后一个数,如果大于最后一个数,则不插入。然后再考虑插入中间的数的情况,插入后此元素之后的数,依次后移一个位置。

48. 有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数。例如1 2 3 4 5 6 7 移动4个就变成4 5 6 7 1 2 3 ,m值由键盘输入

49. 将一个数组中的重复元素保留一个其他的清零。

50. 从一个排好序的一维数组中查找指定的值的下标位置,用二分(折半)查找法查找上例               
51. 从一个二维数组中找出最小值

52. 一个3乘3的二维数组,求其对角线之和

53. 二维数组的排序,每一个一维数组单独排序

54. 打印杨辉三角形

55. 在控制台输出以下图形


56. 6编写求下列式子的值:y=1-1/2+1/3-1/4+……+1/99-1/100;并将结果输出格式为:y=1-1/2+1/3-1/4+……+1/99-1/100=表达式的值。
57. 输入一行字符,将其中的字母变成其后续的第三个字母,输出。例如:a→d,x→a,y→b;编程实现。
58. 编写程序,输入任意1~7之间的整数,将他们转换成对应的英文单词。例如:1转换为Monday,7转换为Sunday。
59. 输入三角形三边长,判断能否构成三角形,若能,计算周长。
60. 编程序:对键盘是、输入的任意一个四位正整数,计算各位数字的平方和。
61. 有1020个西瓜,第一天卖一半多两个,以后每天卖掉剩余西瓜的一半多两个。问几天能够买完?
62. 输出所有个位数位6且能被31整除的五位数及其个数。
63. 编写程序:输入两个整数,和+,-,*,/,%中任意一个运算符,输出计算结果。
64. 从键盘上输入若干学生的一门课成绩,存入一个数组中,当输入负数时结束输入,同时输出最高成绩和最低成绩,及相应的序号。
65. 仿真农场
一个哺乳动物类如下所示:
public class Mammal{
protected int age = 2;
protected int weight = 5;
   public Mammal(){
System.out.println(“Mammal constructor”);
}
int getAge(){return age;}
void setAge(int a){age = a;}
int getWeight(){return weight;}
void setWeight(int w){weight = w;}
void move(){System.out.println(“Mammal move one step”);}
void speak(){System.out.println(“Mammal speak!”);}
void sleep(){System.out.println(“shhh, I’m sleeping.”);}
}
狗属哺乳动物,且它的属性有品种之分(在哺乳类基础上增加品种数据成员),叫声区别于其他动物(输出“Woof!”),还会摇尾巴(增加成员函数,输出“Tail wagging…”),乞讨食物(增加成员函数,输出“begging for food…”)。
猫、马、猪也属于哺乳动物,其叫声分别为:“Meow!”,“Winnie!”,“Oink!”。
编程分别使各个动物表现为不一样的行为。要求将所有的动物类放置于animal.mammal包下。
定义两个新的类,表示宠物猫和宠物狗。要求:这两个类能输出宠物所属的主人,价格等信息;将这两个类放置于animal.mammal.pet包下。

66. 用java实现如下的骰子游戏:丢下两个骰子,若分值的总值为7点,则赢,否则则输类图如下图。

提示:(1)首先定义Die类(表示一个骰子,有faceValue一个静态属性,有一个roll()方法,getFaceValue()); (2)然后定义DicGame类(有die1,die2两个静态属性,有一个静态属性,有一个play()方法,play()返回一个布尔类型,trueb表示分值总值为7者返回true);(3)写一个他、Test类,对上面定义的类进行测试。

67.编写Applet:实现功能为取小于1000的正随机数,若两个数均小于10,先将它们都放大50倍,否则不改变这两个数。最后,求这两个数的和并将结果输出。要求这些功能在主类的方法init()中实现并使输出结果保留小数点后四位(不需要四舍五入);

68.请编写一个Applet,其主类名为Applet1,其中包含两个同名方法arraMin(),它们都只有一个参数,其中一个arrayMin()方法的参数为int型数组,返回值类型为int型数;另一个arrayMin()方法的参数为double类型数组,返回值类型为double型数;这两个方法的功能均为返回参数数组元素的最小值。通过paint()方法上述两个同名方法arrayMin(),求数组a(其元素的值依次为26,82,-3,65,18,9)和数组b(其元素的值依次为3.6,57.2,8.5,78.8)的最小元素的值并输出。

69.定义接口A,接口内有两个方法:method1(int x)和method2(int x,int y),它们的返回值类型均为int。请编写一个Applet,并使其实现接口A:令方法method1(int x)的功能是求5的x次方、方法method2(int x,int y)的功能是求两个参数的最大值。在paint()方法中调用这两个方法,显示method1(2)和method(2,8)的结果

70.定义名为VolumeArea的抽象类,在其中定义元周率π的值为3.14159,并定义两个抽象方法volume(double r)和area(double r),它们的返回值类型均为float。再定义以类VolumeArea为父类的子类VolumeAndArea,在该子类中实现父类中的抽象方法:方法volume(double r)的功能是求半径为r的球的体积(公式是:4π*r*r*r/3);方法area(double r)的功能是求半径为r的圆的面积(公式:π*r*r)请编写一个Application,在其主类中定义一个VolumeAndArea类的对象x,通过对象x求半径为r(r的值由命令行给定)的体积及该球最大切面的圆的面积,并输出计算结果。

71. 编写程序:实现功能:接收命令行中给出的一个字符串,先将该串原样输出,然后判断该串的第一个字母是否为大写,若为大写则统计该串中大写字母的个数,并将所有;大写字母输出;否则输出信息串“第一个字母不是大写字母!”
回复 使用道具 举报
本帖最后由 Jim-剣◆﹏ 于 2013-11-28 22:12 编辑

(1)读取一个资源配置文件,读取time的值,如果超过5次,则提示使用次数已到,请充值关闭,如果没超过,则提示使用了多少次,还能免费使用多少次
(2)用字符流读取一个文本文件
(3)用IO流复制一个文本文件
(4)用IO在一个文本中续写
(5)用IO流复制一个图片或者视频文件
(6)用IO流把一个图片或MP3切割成若干份,每份1M
(7)列出指定目录中所有的子文件名与所有的子目录名,要求目录名与文件名分开列出,格式如下:
                子目录:
                        ...
                         ...
                 子文件:
                        ...
                         ...
(8)列出指定目录中所有扩展名为.java的文件
(9)想要在读取的文件的每一行添加行号
回复 使用道具 举报
本帖最后由 Jim-剣◆﹏ 于 2013-11-28 22:13 编辑

。。。占个楼先,继续更新需求
回复 使用道具 举报
谢谢,有习题答案就更好了
回复 使用道具 举报
收下       求答案
回复 使用道具 举报
有木有答案呀?
回复 使用道具 举报
你好,能否分享一下答案供我们大家参考呢,万分感谢
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马