python编写圆的面积面向对象_发一些面向对象前的练习需求给初学者练练手

这篇博客提供了多个面向对象编程的练习题,包括数字操作、数学问题、图形绘制等,适合Python初学者巩固面向对象概念。通过解决这些题目,读者可以掌握面向对象编程的基本技巧,例如类的定义、对象的创建以及方法的使用。
摘要由CSDN通过智能技术生成

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. 编写程序:实现功能:接收命令行中给出的一个字符串,先将该串原样输出,然后判断该串的第一个字母是否为大写,若为大写则统计该串中大写字母的个数,并将所有;大写字母输出;否则输出信息串“第一个字母不是大写字母!”

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值