程序练习题

1、打印一个正三角形用“*”

2、打印一个电池的电量分为十格例

|*************************************|

|*************************************|

|*************************************|

|+++++++++++++++++++++++++++++++++++++|

|+++++++++++++++++++++++++++++++++++++|

|+++++++++++++++++++++++++++++++++++++|

|+++++++++++++++++++++++++++++++++++++|

|+++++++++++++++++++++++++++++++++++++|

|+++++++++++++++++++++++++++++++++++++|

|+++++++++++++++++++++++++++++++++++++|

3、打印一首古诗

4、打印

5、定义两个整数类型的变量并赋值,计算加减乘除

6、从控制台输入两个整数,通过Scanner里面的方法nextInt()获取两个整数计算加减乘除

7、大写字母转小写字母称许

8、小写字母转大写字母

9、定义一个小类型的数据类型的变量,把其转换成大类型的数据类型

10、 定义一个大类型的数据类型的变量,把其转换成小类型的数据类型

11、 打印“我今天买了一部手机,花了xx钱”这个xx是事先定义好的一个变量

12、 计算一个长方形,正方形的面积

13、 获取byte short int long的取值范围

=====================================================

14、 输入 3 个正数,判断能否构成一个三角形。

15、 编写程序,给定一个学生成绩,给出相应等级:

90~100 优秀

80~89 良好

70~79 中等

60~69 及格

0~59 不及格在控制台从键盘输入三个整数,按照从大到小的顺序输出

16、 给定一个x的值,求y的值并输出

17、 张三为他的手机设定了自动拨号

按1:拨爸爸号码

按2:拨妈妈号码

按3:拨爷爷号码

按4:拨奶奶号码

18、 输入月份,打印相应的季节。春345、夏678、秋9 10 11、冬12 1 2

19、 输入一个整数,如果此数为0,则输出”石头”,如果此数为1,则输出”剪刀”,如果此数为2,则输出”布”,如果为其它,则输出”错误

20、 输出“你是男人吗?”,回答如果是true,那么输出“原来你是男人呀,呵呵”, 如果回答是:false,那么输出“你的性别难道是女?”

21、 输入一个整数,如果输入的数大于等于1000,那么输出“输入的数>=1000”,否则的话就输出“输入的数<1000”

22、 输入一个int型的数据,判断是否为偶数

23、 输入一个int型的数据,判断这个数是否是奇数

24、 输入两个整数,放入到a与b变量中去,如果a>=b就将a与b中的值进行交换,否则就不交换。目地就是要让a中放的值总是小于或等于b中的数

25、 输入三个int型的数据,放入到a,b,c三个变量中去,使用条件结构与交换逻辑将这三个变量中的值从小到大排列

26、 输入一个三位整数,判其是不是降序数如:531是降序数 百位>十位>个位

27、 输入一个年份,判是闰年还是平年(嗯那个整除4,不能整除100,或者整除400)

28、 输出”你爱我吗?”,如果回答的是”yes”,则输出”你是爱我的”,如果回答的是”no”,则输出”原来你不爱我”,如果回答的是其它,则输出”你到底是爱还是不爱,自己也不清楚”.

+++++++++++++++++++++++++++++++++++++++++++++++++++++++

29、 一张纸的厚度大约是0.08mm,对折多少次之后能达到珠穆朗玛峰的高度(8848.13米)?

30、 计算5的阶乘 5!的结果是?

31、 打印出所有的 "水仙花数 ",所谓 "水仙花数 "是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个 "水仙花数 ",因为153=1的三次方+5的三次方+3的三次方。

32、 通过循环打印一个三角形

33、 一个人很倒霉,不小心打碎了一位妇女的一篮子鸡蛋。为了赔偿便询问篮子里有多少鸡蛋。那妇女说,她也不清楚,只记得每次拿两个则剩一个,每次拿3个则剩2个,每次拿5个则剩4个,若每个鸡蛋1元,请你帮忙编程,计算最少应赔多少钱? 要求:用循环语句实现,直接打印出结果不给分

34、 从键盘接收一个整数N,统计出1~N之间能被7整除的整数的个数,以及这些能

35、 要求:整数N由键盘输入,且2 ≤ N ≤1000

36、 打印所有三位数。要求百位,十位,个位的数值都不一样

37、 编写程序,输入一个字符,判断它是否为小写字母,如果是,将它转换成大写

38、 一球从h米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在 第n次落地时,共经过多少米?第n次反弹多高?

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

40、 企业发放的奖金根据利润提成。利润(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,求应发放奖金总数?

41、 猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。

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

String input=scanner.next();//获取输入的字符串

input.length()

43、 一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少? 开方用Math.sqrt()方法

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

程序分析:请抓住分子与分母的变化规律。分数:fraction

1、第一项是2/1

2、前面一项分子和分母相加的和,为下一项的分子

45、 编写程序将“jdk”全部变为大写,并输出到屏幕上,截取子串“DK”,并输出到屏幕上

46、 编写程序将String类型字符串“test,变成tset

数组练习

1、编写程序,实现 自然数按以下要求输出程序:

1.在一行上输出 所有下标为偶数的数组元素。

2.在一行上输出 所有值 为偶数的数组元素。

2、比较两个数组的内容是否一样

3、定义一个数组,在数组中查询某一个元素出现的位置。不存在返回该元素不存在

4、定义一个数组,并且遍历数组

5、将数组中数字内容求和

6.把数据78,添加到数组{12,34,45,45};

7、arr = [4, 0, 7, 9, 0, 0, 2, 6, 0, 3, 1, 0];

1要求将数组中的0项去掉,将不为0的值存入一个新的数组,生成新的数组

2在新的数组中查询最小值以及最大值

47、 写一个方法判断一个字串是否对称

46、 学生有姓名(name)和成绩(score)信息。成绩有科目(course)和分数(grade)信息。学生类的getResult方法显示输出成绩信息,编写学生类(Student)和成绩类(Score),并测试。

47、 设计雇员Employee类,记录雇员的情况,包括姓名、年薪、受雇时间,要求定义MyDate类作为受雇时间,其中包括工作的年、月、日,并用相应的方法对Employee类进行设置。编写测试类测试Employee类。

48、 编写一个学生的类,要求有姓名、年龄、兴趣、班级编号和一个教员类,要求有姓名、教授课程、专业方向、教龄,设计一个主方法,要求在主方法中调用这两个类。

49、 定义圆类,它有一个变量radius(半径)。从键盘输入数据,编程计算并输出圆的周长和面积(确保输入的数据不为负数)

50、 定义球类,定义求体积的方法

51、 定义一个计算器类,包括加、减、乘、除运算

52、 试编写Java代码实现一个计数器类Computer其中包括:

属性value :用来保存计数器的当前值;

方法increment(): 计数器加一;

方法decrement() :计数器减一;

方法reset():计数器清零。

53、 编写一个Java应用程序,该应用程序包括2个类:Print类和主类E。Print类里有一个方法output()功能是输出100 ~ 999之间的所有水仙花数(各位数字的立方和等于这个三位数本身,如: 371 = 33 + 73 + 13。)在主类E的main方法中来测试类Print。

54、按要求编写Java应用程序。

(1)建立一个名叫Cat的类:

属性:姓名、毛色、年龄

行为:显示姓名、喊叫

(2)编写主类:

创建一个对象猫,姓名为“妮妮”,毛色为“灰色”,年龄为2岁,在屏幕上输

出该对象的毛色和年龄,让该对象调用显示姓名和喊叫两个方法

55、编写Java应用程序。首先,定义一个Print类,它有一个方法void output(int x),如果x的值是1,在控制台打印出九九乘法表;如果x的值是2,在控制台打印出我是世界的主宰者。其次,再定义一个主类TestClass,在主类的main方法中创建Print类的对象,使用这个对象调用方法output ()

++++++++++++++++++++++++++++++++++++++++++++++++

56、 1、实现如下类之间的继承关系,并编写Music类来测试这些类。

57、创建如下三个类:(People类中的三个方法分别输出一些信息,ChinaPeople和AmericanPeople类重写父类的三个方法)。

58、编写一个Java应用程序,该程序包括3个类:Monkey类、People类和主类E。要求:

(1) Monkey类中有个构造方法:Monkey (String s),并且有个public void speak()方法,在speak方法中输出“咿咿呀呀…”的信息。

(2)People类是Monkey类的子类,在People类中重写方法speak(),在speak方法中输出“小样的,不错嘛!会说话了!”的信息。

(3)在People类中新增方法void think(),在think方法中输出“别说话!认真思考!”的信息。

(4)在主类E的main方法中创建Monkey与People类的对象类测试这2个类的功能。

59、编写一个Animal类,具有属性:种类;具有功能:吃、睡。定义其子类Fish和Dog,定义主类E,在其main方法中分别创建其对象并测试对象的特性。

60、按要求编写一个Java应用程序:

(1)定义一个类,描述一个矩形,包含有长、宽两种属性,和计算面积方法。

(2)编写一个类,继承自矩形类,同时该类描述长方体,具有长、宽、高属性,和计算体积的方法。

(3)编写一个测试类,对以上两个类进行测试,创建一个长方体,定义其长、宽、高,输出其底面积和体积。

61、编写一个Java应用程序,设计一个汽车类Vehicle,包含的属性有车轮个数wheels和车重weight。小车类Car是Vehicle的子类,其中包含的属性有载人数loader。卡车类Truck是Car类的子类,其中包含的属性有载重量payload。每个类都有构造方法和输出相关数据的方法。最后,写一个测试类来测试这些类的功能

62、编写一个Shape类,具有属性:周长和面积;定义其子类三角形和矩形,分别具有求周长的方法。定义主类E,在其main方法中创建三角形和矩形类的对象,并赋给Shape类的对象a、b,使用对象a、b来测试其特性

63、定义一个点类Point,包含2个成员变量x、y分别表示x和y坐标,2个构造器Point()和Point(intx0,y0),以及一个movePoint(int dx,int dy)方法实现点的位置移动,创建两个Point对象p1、p2,分别调用movePoint方法后,打印p1和p2的坐标

64、定义一个矩形类Rectangle:(知识点:对象的创建和使用)

• 1 定义三个方法:getArea()求面积、getPer()求周长,showAll()分别在控制台输出长、宽、面积、周长。

• 2 有2个属性:长length、宽width

• 3 通过构造方法Rectangle(int width, int length),分别给两个属性赋值

• 4 创建一个Rectangle对象,并输出相关信息

65、定义一个笔记本类,该类有颜色(char)和cpu型号(int)两个属性。 • 1 无参和有参的两个构造方法;有参构造方法可以在创建对象的同时为每个属性赋值;
• 2 输出笔记本信息的方法
• 3 然后编写一个测试类,测试笔记本类的各个方法

66、设计一个类Student,该类包括姓名、学号和成绩。设计一个方法,按照成绩从高到低的顺序输出姓名、学号和成绩信息

for(int j = 1;j<s1.length;j++){

​ for(int i = 0;i<s1.length-j;i++){

​ if(s1[i].score < s1[i+1].score){

​ Student temp = s1[i];

​ s1[i] = s1[i+1];

​ s1[i+1] = temp;

​ }

​ }

​ }

67、定义两个类,描述如下:

• 1定义一个人类Person:

• 1.1定义一个方法sayHello(),可以向对方发出问候语“hello,my name is XXX”

• 1.2有三个属性:名字、身高、体重

• 2定义一个PersonCreate类:

• 2.1创建两个对象,分别是zhangsan,33岁,1.73;lishi,44,1.74

• 2.2分别调用对象的sayHello()方法。

68、定义两个类,描述如下: [必做题]

• 1定义一个人类Person:

• 1.1定义一个方法sayHello(),可以向对方发出问候语“hello,my name is XXX”

• 1.2有三个属性:名字、身高、体重

• 1.3通过构造方法,分别给三个属性赋值

• 2定义一个Constructor类:

• 2.1创建两个对象,分别是zhangsan,33岁,1.73;lishi,44,1.74

•.2.2分别调用对象的sayHello()方法。

68、定义一个汽车类Vehicle,要求如下:

• 1属性包括:汽车品牌brand(String类型)、颜色color(String类型)和速度speed(double类型),并且所有属性为私有。

•2至少提供一个有参的构造方法(要求品牌和颜色可以初始化为任意值,但速度的初始值必须为0)。

•3为私有属性提供访问器方法。注意:汽车品牌一旦初始化之后不能修改。

•4定义一个一般方法run(),用打印语句描述汽车奔跑的功能

•5定义测试类VehicleTest,在其main方法中创建一个品牌为“benz”、颜色为“black”的汽车。

69、设计2个类,要求如下:(知识点:类的继承 方法的覆盖)

• 1 定义一个汽车类Vehicle,

• 1.1 属性包括:汽车品牌brand(String类型)、颜色color(String类型)和速度speed(double类型)。

• 1.2 至少提供一个有参的构造方法(要求品牌和颜色可以初始化为任意值,但速度的初始值必须为0)。

• 1.3 为属性提供访问器方法。注意:汽车品牌一旦初始化之后不能修改。

• 1.4 定义一个一般方法run(),用打印语句描述汽车奔跑的功能

• 1.5 在main方法中创建一个品牌为―benz‖、颜色为―black‖的汽车。

• 2 定义一个Vehicle类的子类轿车类Car,要求如下:

• 2.1 轿车有自己的属性载人数loader(int 类型)。

• 2.2 提供该类初始化属性的构造方法。

• 2.3 重新定义run(),用打印语句描述轿车奔跑的功能。

• 2.4 在main方法中创建一个品牌为―Honda‖、颜色为―red‖,载人数为2人的轿车

70、设计三个类,分别如下:(知识点:抽象类及抽象方法)

• 1 设计Shape表示图形类,有面积属性area、周长属性per,颜色属性color,有两个构造方法(一个是默认的、一个是为颜色赋值的),还有3个抽象方法,分别是:getArea计算面积、getPer计算周长、showAll输出所有信息,还有一个求颜色的方法getColor。

• 2 设计 2个子类:

• 2.1 Rectangle表示矩形类,增加两个属性,Width表示长度、height表示宽度,重写getPer、getArea和showAll三个方法,另外又增加一个构造方法(一个是默认的、一个是为高度、宽度、颜色赋值的)。

• 2.2 Circle表示圆类,增加1个属性,radius表示半径,重写getPer、getArea和showAll三个方法,另外又增加两个构造方法(为半径、颜色赋值的)。

• 3 在main方法中,声明创建每个子类的对象,并调用2个子类的showAll方法。

71、Cola公司的雇员分为以下若干类:(知识点:多态)

• 1 ColaEmployee :这是所有员工总的父类,属性:员工的姓名,员工的生日月份。方法:getSalary(int month) 根据参数月份来确定工资,如果该月员工过生日,则公司会额外奖励100 元。

• 2 SalariedEmployee : ColaEmployee 的子类,拿固定工资的员工。属性:月薪

• 3 HourlyEmployee :ColaEmployee 的子类,按小时拿工资的员工,每月工作超出160 小时的部分按照1.5 倍工资发放。属性:每小时的工资、每月工作的小时数

• 4 SalesEmployee :ColaEmployee 的子类,销售人员,工资由月销售额和提成率决定。属性:月销售额、提成率

• 5 定义一个类Company,在该类中写一个方法,调用该方法可以打印出某月某个员工的工资数额,写一个测试类TestCompany,在main方法,把若干各种类型的员工放在一个ColaEmployee 数组里,并单元出数组中每个员工当月的工资。

72、利用接口实现动态的创建对象

• 1 创建4个类:

• 苹果

• 香蕉

• 葡萄

• 园丁

• 2 在三种水果的构造方法中打印一句话.

• 以苹果类为例

class apple{

public apple(){

​ System.out.println(“创建了一个苹果类的对象”);

}

}

类图如下:

3 要求从控制台输入一个字符串,根据字符串的值来判断创建三种水果中哪个类的对象

效果图如下:

73、编写三个系别的学生类:英语系,计算机系,文学系(要求通过继承学生类)

• 1各系有以下成绩:

• 英语系: 演讲,期末考试,期中考试;

• 计算机系:操作能力,英语写作,期中考试,期末考试;

• 文学系: 演讲,作品,期末考试,期中考试;

• 2各系总分评测标准:

• 英语系: 演讲 50%

• 期末考试 25%

• 期中考试 25%

• 计算机系: 操作能力 40%

• 英语写作 20%

• 期末考试 20%

• 期中考试 20%

• 文学系: 演讲 35%

• 作品 35%

• 期末考试 15%

• 期中考试 15%

• 3定义一个可容纳5个学生的学生类数组,装入各系学生的对象,然后按如下格式输出数组中的信息:

• 学号:XXXXXXXX 姓名:XXX 性别:X 年龄:XX 综合成绩:XX

74.综合题 题目 品尝饮料 时间 2006-06-18

一、 语言和环境 1. 实现语言 Java

  1. 环境要求 JDK1.4或以上版本及其联机帮助文档
    二、 要求 1、使用命令行参数 饮料类型 输出该饮料类型的味道 如 当命令行参数为1时 结果见图1 2、如果没有该种饮料 结果见如图2
    三、 推荐实现步骤
    1、建立一个Java抽象类Drink 应当 a、声明一个抽象方法taste() 该方法负责输出饮料的味道 b、声明int型常量来代表不同的饮料类型 咖啡、啤酒、牛奶 如 c、声明静态工厂方法getDrink(int drinkType) 根据传入的参数创建不同的饮料对象 并返回该对象 建议使用switch语句。该方法要求声明DrinkNotFoundException 当没有相对应的饮料类型时 抛出该异常。
    2、建立Drink的具体子类 a、分别建立Drink的子类 Coffee 代表咖啡 Beer 代表啤酒 Milk 代表牛奶 ; b、实现taste()方法 要求在控制台打印各自的味道特征。
    3、建立异常类DrinkNotFoundException a、继承Exception b、在Drink的 方 法getDrink(int drinkType)中 声 明 引 发DrinkNotFoundException异常 当传入的参数没有相对应的饮料类型时 抛出异常。 c、在使用getDrink方法的类中捕捉该异常。
    4、建立Test测试类 测试以上内容的正确性 a、编写main方法 通过命令行传参的方式传入某种饮料的类型。 b、在main方法中 调用Drink类的getDrink方法 获得相应的饮料对象。注意捕获DrinkNotFoundException。 c、然后调用该饮料对象的taste()方法 输出该饮料的味道

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

75、1.设计一个商品类 字段:

商品名称,重量,价格,配件数量,配件制造厂商(是数组,因为可能有多个制造厂商)

要求: 有构造函数

重写 toString 方法

重写 equals方法,进行两件商品的比较

76、设计一个抽象类,并演示它的使用 (三级)

77、设计一个接口, 并设计一个实现类,实现这个接口

78、设计一个类,可以同时实现多个接口

79、设计一个类,在继承一个类的同时,实现其的两个接口(具体是什么接口自行设计)

80、

81、建立一个Java抽象类Drink,应当:

a、 声明一个抽象方法taste(),该方法负责输出饮料的味道;

b、 声明int型常量来代表不同的饮料类型(咖啡、啤酒、牛奶),如:

c、 声明静态工厂方法getDrink(int drinkType),根据传入的参数创建不同的饮料对象,并返回该对象,建议使用switch语句。该方法要求声明DrinkNotFoundException,当没有相对应的饮料类型时,抛出该异常。

2、建立Drink的具体子类:

a、分别建立Drink的子类:Coffee(代表咖啡),Beer(代表啤酒),Milk(代表牛奶);

b、实现taste()方法,要求在控制台打印各自的味道特征。

3、建立异常类DrinkNotFoundException

a、继承Exception

b、在Drink的方法getDrink(int drinkType)中声明引发DrinkNotFoundException异常,当传入的参数没有相对应的饮料类型时,抛出异常。

c、在使用getDrink方法的类中捕捉该异常。

4、建立Test测试类,测试以上内容的正确性

a、编写main方法,通过命令行传参的方式传入某种饮料的类型。

b、在main方法中,调用Drink类的getDrink方法,获得相应的饮料对象。注意捕获DrinkNotFoundException。

c、然后调用该饮料对象的taste()方法,输出该饮料的味道。

5、编译程序,并运行。

82、使用list存储一个班的学生信息及考试成绩。学生信息包括学号、姓名、三门课(英语、数学、计算机)的成绩及总成绩。

– 属性包括

 学号(id),姓名(name),英语成绩(eng),数学成绩(math),计算机成绩(comp),总成绩(sum)

– 方法包括

 构造方法,get方法,set方法,toString方法,equals方法,compare方法(比较两个学生的总成绩, 结果分大于,小于,等于),sum方法(计算总成绩)

– 实现Serializable接口,以便对象持久化,

– 下面声明班级类StudentClass:

– 属性包括

 班级名称(name),容量(capacity),学生(students),实际人数(size)。

– 方法包括

 构造方法,get方法,set方法,toString方法。

public class StudentClass{

private String name; //班级名称

static int capacity = 40; //最大容量

private Student students[]; //学生

private int size; //实际人数

编写测试类:控制台输入信5个学生的信息到vector:

\1. 在List的末尾增加一个学生对象

– 增加之前需先判断List中是否还有空间,并且在List中查找将要增加的学号是否已经存在

增加成功,返回true;否则,返回false

\2. 已知学生的学号,查找此学生是否存在。如果存在,返回其在List中的下标位置;如果不存在,返回-1。

3.删除掉List中的一个对象(根据学号删除)

4.根据学生的英语成绩排,根据数学成绩,计算机排,降序排列。

\6. 完成下面的要求

83、

  1. 创建一个List,在List 中增加三个工人,基本信息如下:

姓名 年龄 工资

zhang3 18 3000

li4 25 3500

wang5 22 3200

  1. 在li4 之前插入一个工人,信息为:姓名:zhao6,年龄:24,工资3300

  2. 删除wang5 的信息

  3. 利用for 循环遍历,打印List 中所有工人的信息

  4. 利用迭代遍历,对List 中所有的工人调用work 方法。

\84. 创建一个对象数组,然后把这个对象数组放入到list中。

\85. 编写一个list,然后往里面放入相关人的名字,有两个字的,三个字的,四个字的,五个字,然后遍历这个list然后把大于4的字符串依次输出。

\86. 创建一个学生类,然后把这个学生类创建10个对象放在,List

中,体会集合类和数组之间的区别。。

87、某中学有若干学生(学生对象放在一个List中),每个学生有一个姓名属性(String)、班级名称属性(String)和考试成绩属性(double) ,某次考试结束后,每个学生都获得了一个考试成绩。遍历list集合,并把学生对象的属性打印出来。

88、编写程序,获取命令行参数中的字符串列表,输出其中重复的字符、不重复的字符以及消除重复以后的字符列表。

89、定义一个Employee类,属性:name:String,age:int,salary:double

把若干Employee对象放在List中,排序并遍历输出,排序规则:salary高的在前面,salary相同时age大的在前面,age也相同时按照name升序排列

90、通过随机数随机出来0-13之间的整数不能重复

91、(Map)利用Map,完成下面的功能:

从命令行读入一个字符串,表示一个年份,输出该年的世界杯冠军是哪支球队。如果该 年没有举办世界杯,则输出:没有举办世界杯。

附:世界杯冠军以及对应的夺冠年份,请参考本章附录。 附录

  1. 历届世界杯冠军
届数举办年份举办地点冠军
第一届1930年乌拉圭乌拉圭
第二届1934年意大利意大利
第三届1938年法国意大利
第四届1950年巴西乌拉圭
第五届1954年瑞士西德
第六届1958年瑞典巴西
第七届1962年智利巴西
第八届1966年英格兰英格兰
第九届1970年墨西哥巴西
第十届1974年前西德西德
第十一届1978年阿根廷阿根廷
第十二届1982年西班牙意大利
第十三届1986年墨西哥阿根廷
第十四届1990年意大利西德
第十五届1994年美国巴西
第十六届1998年法国法国
第十七届2002年韩日巴西
第十八届2006年德国意大利
第十九届2010年南非西班牙
第二十届2014年巴西德国

(Map)在原有世界杯Map 的基础上,增加如下功能: 读入一支球队的名字,输出该球队夺冠的年份列表。 例如,读入“巴西”,应当输出 1958 1962 1970 1994 2002 读入“荷兰”,应当输出 没有获得过世界杯

92、产生10个1-100的随机数,并放到一个数组中,把数组中大于等于10的数字放到一个list集合中,并打印到控制台。

93、定义一个方法listTest(ArrayList al, Integer s),要求返回s在al里面第一次出现的索引,如果s没出现过返回-1。

94、已知数组存放一批QQ号码,QQ号码最长为11位,最短为5位String[] strs = {“12345”,“67891”,“12347809933”,“98765432102”,“67891”,

“12347809933”}。将该数组里面的所有qq号都存放在LinkedList中,将list中重复元素删除,将list中所有元素分别用迭代器和增强for循环打印出来。

95、双色球规则:双色球每注投注号码由6个红色球号码和1个蓝色球号码组成。红色球号码从1—33中选择;蓝色球号码从1—16中选择;请随机生成一注双色球号码。(要求同色号码不重复)

编写一个程序然后通过随机数,随机54张扑克牌,然后对这些进行排序,然后再进行洗牌算法。

96、分别用Comparable和Comparator两个接口对下列四位同学的成绩做降序排序,如果成绩一样,那在成绩排序的基础上按照年龄由小到大排序。

姓名(String)年龄(int)分数(float)
liusan2090.0F
lisi2290.0F
wangwu2099.0F
sunliu22100.0F

编写一个Student类用来实现Comparable接口,并在其中重写CompareTo(Student o)方法

97、现在有一个map集合如下:

Map<Integer,String> map = new HashMap<Integer, String>();
map.put(1, “张三丰”);

map.put(2, “周芷若”);

map.put(3, “汪峰”);

map.put(4, “灭绝师太”);

要求:

1.遍历集合,并将序号与对应人名打印。

2.向该map集合中插入一个编码为5姓名为李晓红的信息

3.移除该map中的编号为1的信息

4.将map集合中编号为2的姓名信息修改为"周林"

98、有2个数组,第一个数组内容为:[黑龙江省,浙江省,江西省,广东省,福建省],第二个数组为:[哈尔滨,杭州,南昌,广州,福州],将第一个数组元素作为key,第二个数组元素作为value存储到Map集合中。如{黑龙江省=哈尔滨, 浙江省=杭州, …}。

99、定义一个泛型为String类型的List集合,统计该集合中每个字符(注意,不是字符串)出现的次数。例如:集合中有”abc”、”bcd”两个元素,程序最终输出结果为:“a = 1,b = 2,c = 2,d = 1”。

100、1.站编号和站名对应关系如下:

​ 1=朱辛庄

​ 2=育知路

​ 3=平西府

​ 4=回龙观东大街

​ 5=霍营

​ //…

将以上对应关系的数据存储到map集合中,key:表示站编号,value:表示站名,并遍历打印(可以不按顺序打印):

​ 第10站: 森林公园南门

​ 第6站: 育新

​ 第12站: 奥体中心

​ 第13站: 北土城

​ //…

2.计算地铁票价规则:

​ 总行程 3站内(包含3站)收费3元,

​ 3站以上但不超过5站(包含5站)的收费4元,

​ 5站以上的,在4元的基础上,每多1站增加2元,

​ 10元封顶;

3.打印格式(需要对键盘录入的上车站和到达站进行判断,如果没有该站,提示重新输入,直到站名存在为止):

​ 注意:每站需要2分钟

​ 请输入上车站:

​ 沙河

​ 您输入的上车站:沙河不存在,请重新输入上车站:

​ 上地

​ 您输入的上车站:上地不存在,请重新输入上车站:

​ 朱辛庄

​ 请输入到达站:

​ 沙河

​ 您输入的到达站:沙河不存在,请重新输入到达站:

​ 西二旗

​ 您输入的到达站:西二旗不存在,请重新输入到达站:

​ 西小口

​ 从朱辛庄到西小口共经过6站收费6元,大约需要 12分钟

101、已知有十六支男子足球队参加2008 北京奥运会。写一个程序,把这16 支球队随机分为4 个组。采用List集合和随机数

2008 北京奥运会男足参赛国家:

科特迪瓦,阿根廷,澳大利亚,塞尔维亚,荷兰,尼日利亚、日本,美国,中国,新西 兰,巴西,比利时,韩国,喀麦隆,洪都拉斯,意大利

102、有如下Student 对象,

private String name;

private int age;

private int score;

private String classNum;

其中,classNum 表示学生的班号,例如“class05”。

有如下List list = new ArrayList();

list.add(new Student(“Tom”, 18, 100, “class05”));

list.add(new Student(“Jerry”, 22, 70, “class04”));

list.add(new Student(“Owen”, 25, 90, “class05”));

list.add(new Student(“Jim”, 30,80 , “class05”));

list.add(new Student(“Steve”, 28, 66, “class06”));

list.add(new Student(“Kevin”, 24, 100, “class04”));

在这个list 的基础上,完成下列要求:

1) 计算所有学生的平均年龄

2) 计算各个班级的平均分

103、List)写一个函数reverseList,该函数能够接受一个List,然后把该List 倒序排列。 例如:

List list = new ArrayList();

list.add(“Hello”);

list.add(“World”);

list.add(“Learn”); //此时list 为Hello World Learn

reverseList(list); //调用reverseList 方法之后,list 为Learn World Hello

104、设计Account 对象如下:

private long id;

private double balance;

private String password;

要求完善设计,使得该Account 对象能够自动分配id。 给定一个List 如下:

List list = new ArrayList();

list.add(new Account(10.00, “1234”));

list.add(new Account(15.00, “5678”));

list.add(new Account(0, “1010”));

要求把List 中的内容放到一个Map 中,该Map 的键为id,值为相应的Account 对象。 最后遍历这个Map,打印所有Account 对象的id 和余额

105、已知有一个Worker 类如下:

public class Worker{

private int age;

private String name;

private double salary;

public Worker (){}

public Worker (String name, int age, double salary){

this.name = name;

this.age = age;

this.salary = salary;

}

public int getAge() { return age; }

public void setAge(int age) { this.age = age; }

public String getName() { return name; }

public void setName(String name) { this.name = name; }

public double getSalary(){ return salary; }

public void setSalary(double salary){ this.salary = salary; }

public void work(){

System.out.println(name + “ work”); } }

完成下面的要求

  1. 创建一个List,在List 中增加三个工人,基本信息如下:

姓名 年龄 工资

zhang3 18 3000

li4 25 3500

wang5 22 3200

  1. 在li4 之前插入一个工人,信息为:姓名:zhao6,年龄:24,工资3300

  2. 删除wang5 的信息

  3. 利用for 循环遍历,打印List 中所有工人的信息

  4. 利用迭代遍历,对List 中所有的工人调用work 方法。

106、编写程序,获取命令行参数中的字符串列表,输出其中重复的字符、不重复的字符以及消除重复以后的字符列表。

107、使用Scanner从控制台读取一个字符串,统计字符串中每个字符出现的次数,要求使用学习过的知识完成以上要求

实现思路根据Set、List、Map集合的特性完成。

108、在指定目录下面创建一个文件,创建成功后把文件删除。

109、指定一个文件夹路径,打印出该目录下的所有文件名字

110、在指定目录下创建一个文件夹。如果不存在,去创建一个文件夹。

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

111、 在电脑D盘下创建一个文件为HelloWorld.txt文件,判断他是文件还是目录,在创建一个目录IOTest,之后将HelloWorld.txt移动到IOTest目录下去;之后遍历IOTest这个目录下的文件

112、 递归实现输入任意目录,列出文件以及文件夹,效果看图

113、 递归实现列出当前工程下所有.java文件

114、从磁盘读取一个文件到内存中,再打印到控制台

115、在程序中写一个"HelloJavaWorld你好世界"输出到操作系统文件Hello.txt文件中

116、拷贝一张图片,从一个目录到另外一个目录下(PS:是拷贝是不是移动)

117、 统计一个文件calcCharNum.txt(见附件)中每一个字符出现的总次数。


118、定义一个StringBuffer类对象,

1)使用append方法向对象中添加26个字母,并倒序遍历输入

2)删除前五个字符

119、使用Random类产生5个1~30的随机整数

120、使用随机数0和1来模拟抛硬币实验,统计抛出1000次后正反面出现的次数并输出,正面为1,反面为0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值