数组练习题:

1.随机给长度为10的数组赋值并进行排序。
2.int[]arr={1,13,45,5,0,0,16,6,0,25,4,17,6,7,0,15};
要求将以上数组中的0项去掉,将不为0的值存入一个新数组,
生成新的数组:int[]newArr={1,13,45,5,16,6,25,4,17,6,7,15};
3.写一个方法输入一个整型数组,要求打印出输入的数组所有元素之和,并打印出最大值和最小值。
4.给一个二维数组赋值,并遍历这个数组。

面向对象:

1.狗类
a)他们的共有特征有毛发颜色,体重,品种,狗龄,喜欢吃的食物;
b)能跑,能叫(叫声“汪汪汪”)(使用System.out.print输出一句话就可以了),能跳;
2.car类
a)基本属性:颜色、重量、大小、里程、型号(全为非公开);
b)此car可以左转、右转、向前、向后,还能播放我们喜欢的音乐;
c)对外提供方法展示其基本属性;
d)有相应的构造方法,并在被实例化的时候给以提示;
f)在主方法中进行测试;
3.point类
要求:point为空间某个点,有自己的坐标,且提供方法计算此点到原点的距离,提供方法展示自己的坐标(x,y,z)。
扩展一:空间有三个点,A、B、C,计算由这3点组成的三角形的周长。
扩展二:如果有一支小虫,它的爬行速度是m m/s(m可以自由设定), 它要爬完这个三角形的各边需要多长时间?
4.长方体类
要求:提供getter和setter方法,无参和有参构造方法,可以计算体积和表面积;
5.猜数字游戏:一个类A有一个成员变量v,有一个初值100。定义一个类,对A类的成员变量v进行猜。如果大了则提示大了,小了则提示小了。等于则提示猜测成功。?
6.请定义一个交通工具(Vehicle)的类,其中有: 属性:速度(speed),体积(size)等等  方法:移动(move()),设置速度(setSpeed(int speed)),加速speedUp(),减速speedDown()等等.  最后在测试类Vehicle中的main()中实例化一个交通工具对象,并通过构造方法给它初始化speed,size的值,并且通过打印出来。另外,调用加速,减速的方法对速度进行改变。
7.在程序中,经常要对时间进行操作,但是并没有时间类型的数据。那么,我们可以自己实现一个时间类,来满足程序中的需要。  定义名为MyTime的类,其中应有三个整型成员:时(hour),分(minute),秒(second),为了保证数据的安全性,这三个成员变量应声明为私有。 为MyTime类定义构造方法,以方便创建对象时初始化成员变量。 再定义diaplay方法,用于将时间信息打印出来。   为MyTime类添加以下方法: addSecond(int sec) addMinute(int min) addHour(int hou) subSecond(int sec) subMinute(int min) subHour(int hou)  分别对时、分、秒进行加减运算。
8.编写Java程序,模拟简单的计算器。  定义名为Number的类,其中有两个整型数据成员n1和n2,应声明为私有。编写构造方法,赋予n1和n2初始值,再为该类定义加(addition)、减(subtration)、乘(multiplication)、除(division)等公有成员方法,分别对两个成员变量执行加、减、乘、除的运算。  在main方法中创建Number类的对象,调用各个方法,并显示计算结果。
9. 编写Java程序,用于显示人的姓名和年龄。 定义一个人类(Person),该类中应该有两个私有属性,姓名(name)和年龄(age)。定义构造方法,用来初始化数据成员。再定义显示(display)方法,将姓名和年龄打印出来。 在main方法中创建人类的实例,然后将信息显示。
10.  为“无名粉店”写一个类:class WuMingFen 要求:  1.有三个属性:面码:String theMa  粉的分量(两):int quantity         是否带汤:boolean likeSoup  2.写一个构造方法,以便于简化初始化过程,如:  WuMingFen f1 = new WuMingFen("牛肉",3,true); 3.重载构造方法,使得初始化过程可以多样化:  WuMingFen f2 = new WuMingFen("牛肉",2);  4.如何使得下列语句构造出来的粉对象是酸辣面码、2两、带汤的?  WuMingFen f3 = new WuMingFen();  5.写一个普通方法:check(),用于查看粉是否符合要求。即:将对象的三个属性打印在控制台上。
11. 定义一个名为Vehicles(交通工具)的基类,该类中应包含String类型的成员属性brand(商标)和color(颜色),还应包含成员方法run(行驶,在控制台显示“我已经开动了”)和showInfo(显示信息,在控制台显示商标和颜色),并编写构造方法初始化其成员属性。  编写Car(小汽车)类继承于Vehicles类,增加int型成员属性seats(座位),还应增加成员方法showCar(在控制台显示小汽车的信息),并编写构造方法。 编写Truck(卡车)类继承于Vehicles类,增加float型成员属性load(载重),还应增加成员方法showTruck(在控制台显示卡车的信息),并编写构造方法。 在main方法中测试以上各类。
12.定义一个网络用户类,要处理的信息有用户ID、用户密码、email地址。在建立类的实例时,把以上三个信息都作为构造函数的参数输入,其中用户ID和用户密码时必须的,缺省的email地址是用户ID加上字符串"@gameschool.com"
13. 编写Addition类,该类中应包含一组实现两数相加运算的重载方法。 实现加法运算的方法,应接受两个参数(即加数和被加数),方法将两个参数进行加法运算后,返回相加结果。考虑可能针对不同的数据类型进行计算,重载一组方法,包括整型、长整型、浮点型、双精度浮点型、还有字符串。 在main方法中创建Addition类的实例,分别调用重载方法测试其效果。 应将Addition类打入到包中,以自己名字的拼音为包命名。
14.建立一个汽车类,包括轮胎个数,汽车颜色,车身重量等属性。并通过不同的构造方法创建事例。    至少要求:汽车能够加速,减速,停车。
15.15.小王用枪打小明分析:
1.本案例中一共有3个对象,分别是小王,枪,小明;
2.在本案例中有一个方法,打(shoot(gun));
3.小王,小明不是同一个人,但是他们是同一类人。
4.枪的种类有很多种,对应的射击方法也不一样。
5.小王和小明他们的射击的方式,精准度,姿态都不一样。1.分析案例中的对象数量和种类。
2.分析案例中的方法数量。
3.分析案例中是否存在同一类对象。
4.分析对象是否确定(是否具有不确定的对象)。
5.分析同一类对象的不同特征。难度扩展一:
用一个随机数来判断是否打中目标,若打中,提示已死。若没打中可以继续打,需要考虑子弹剩余数量。直到打死或者没子弹了。难度扩展二:
考虑到两人的距离差,奔跑速度和手枪的命中率。有如下情况:
1.设定一个初始距离,以及两人的奔跑速度。
2.当距离差大于枪的射程时,无法命中目标。
3.枪的命中率与距离差成反比。难度扩展三:
考虑到小明可能会闪避,以及小明有血量,每次命中不一定会秒杀,所以,加入以下元素:
1.设定小明的闪避概率,使得小明可以闪避攻击。
2.设置小明,小王的总血量,在血量为0的时候才会挂掉。
3.考虑到小明可能会在逃跑的过程中反击小王,设置小明的反击概率以及小明的反击伤害。
4.小明,小王的攻击有可能会出现暴击,伤害加成自定义。
5.每个人都有自己的防御和攻击力,带入到攻击方法里面。
16.车库管理系统:
现有一车库,可停放货车,小车,自行车,摩托车,电动车。车库存在固定的车位,每个车位有编号,位置,描述,大小。
每辆车有车牌号,名称,车主名,大小(车的大小不能大于车位的大小)。17.Animal类,狗、猫、鸡是其子类,Animal有颜色,体型,可以跑,可以跳,每个子类跑的方法和跳的方法不一样。所有类请写好有参构造和无参构造,以及setter和getter方法。18.有Shape类,有计算周长和面积的方法,圆、正方形、长方形继承此类,并有自己计算周长和面积的方法,新增一些自己特有的属性,写好getter和setter方法。19.在屏幕上画图形,如:圆、正方形、三角型等。要求: 画图形的操作可以用System.out.println(...)模拟 图形有圆、正方形、三角型、五边形,六边形等无穷多种 无论要画甚么图形,程序的主体代码都不用修改 目前可以只实现画圆、正方形、三角型 20.写一个动物类,包含重量,年龄等属性,以及移动,捕食方法。分别写鸟,鱼,羊类去继承动物类,重写方法,扩展一些新的方法和属性,如:鱼有鳞片,鸟有翅膀,羊有角.......。分别初始化鸟,鱼,羊的对象,将其存入一个数组中,最后通过键盘输入的名称在数组中找到指定的动物,显示其详细信息。
21.请使用接口编码实现如下需求:
乐器(Instrument)分为:钢琴(Piano)、小提琴(Violin) 各种乐器的弹奏( play )方法各不相同。 编写一个测试类InstrumentTest,要求:编写方法testPlay,对各种乐器进行弹奏测试。要依据乐器的不同,进行相应的弹奏。 在main方法中创建不同的乐器对象,通过testPlay的弹奏测试方法进行测试。
22.定义Fight接口,其中有一个打人的动作(fight)。让胖人(FatFat)和瘦人(Thinthin)分别实现打人接口,但具有不同的打人结果:胖人打人疼,瘦人打人不疼。编写测试类,使用多态的方式对不同人打人的动作进行测试,输出胖人和瘦人打人的动作。23.医生(Doctor)有姓名(name)、编号(idNumber)和地址(address)等基本信息,还都具有量体温 (temperature)和开药(giveMedicine)的方法。医生又分为普通医生和主治医生。普通医生具有上述所有信息。主治医生除以上基本信息之外还有特有的信息:专业(speciality),以及特有的方法会诊(consultation)。重写开药(giveMedicine)方法,普通医生只能开具普通药物,主治医生除了开具普通药物之外还可以开具处方药。请根据他们之间的关系,创建一个Doctor类,包含有关医生的基本信息,在利用继承写一个普通医生(CommDocotor)和主治医生(AdvanceDoctor),并创建测试类Test.java在main方法中利用这些类的对象测试显示他们的各自的信息。24.用面向对象的思想编写类,描述汽车,宝马,奔驰车和驾驶员的关系.提示:宝马和奔驰继承自汽车类,具有启动,运行,停止的方法。驾驶员具有驾驶方法,可以通过驾驶方法驾驶各种类型的汽车。25.根据如下图示,使用接口编写出对应的程序。然后创建一个负责打印的测试类,并创建一个测试打印方法,将打印机接口作为参数,可以使用传入的打印机打印信息。分别创建不同类型的打印机对象,然后通过打印测试类的测试打印方法进行测试,调用打印机的打印方法。体会多态的优点。26.电脑主板上的PCI插槽的规范就类似于Java接口 。声卡网卡 显卡创建一个PCI 接口:包括start启动,和stop停止方法。创建声卡SoundCard.java实现该接口,启动输出“Du du...”,停止输出“Sound stop” 网卡SoundCard实现该接口,启动输出“Send...”,停止输出“Network stop” 显卡DisplayCard实现该接口,启动输出“show...”,停止输出“Display stop” 然后使用Java接口作为类型,创建对应的对象,调用相应的方法实现测试。27.升级第26题题,创建MainBoard主板类,创建usePCICard方法,模拟主板上可以插入任意符合PCI插槽规范的卡,将PCI接口作为参数类型,调用对应的启动和停止方法。然后创建不同的的PCI对象,使用usePCICard测试,体会通过更换实现接口的类来更换系统的实现。
28.升级第22题,为汽车添加运行状况方法,重写车辆的运行状况方法:出租车输出,正在送乘客前往机场;卡车输出,疯狂拉土车正在全速奔跑;巴士输出,人太多了坐下一辆。分别实例出租车,卡车,巴士对象,并测试输出车辆信息,调用方法测试不同对象的方法。定义跟踪车辆运行状况的类CheckCar,再创建方法checkCarState,使用多态实现对各种车辆运行状况的检查。29.定义常量类Constant,在其中定义如下系统中所需的静态常量。3.1415926; // 圆周率 8844.43; // 喜马拉雅 180; // 三角形内角和300000; // 光速,单位(公里/秒) "你好"; //中文问候
30. 编写接口Addition,定义add方法,参数是两个int类型,编写此接口的两种实现,一种是将参数相加后输出,一种是相连后输出。编写测试类进行测试。
31. 鼠标(Mouse)和打印机(Printer)类都实现了USB接口,USB接口具有输入(in)和输出(out)的动作。鼠标具有属性整型的x和y坐标,还具有布尔型的left和right属性,代表按下了左键和右键。鼠标的输出方法可以输出鼠标的品牌,当前按下了左键还是右键,以及当前的x和y坐标。输入方法不具体实现。打印机具有属性字符串型的打印内容,输出方法可以提示**品牌的打印机打印内容成功。打印机还有打印print()方法,可以输出当前的的打印内容
32. 二战期间,战争国间谍活动非常密切,所有英国间谍(BritishSpy)有讲英语的特点(speak()方法),所有德国间谍(GermanSpy)都具有讲德语的特点(sprechen方法)。还有一种双重间谍,既可以讲英语又可以讲德语,可以分别输出Hello和Gutentag。情报机关(Agency)具有两个方法一个是军情5处(toMI5)的间谍测试方法,可以传入英国间谍,并调用讲英语的方法,输出结果;另一个是德国情报处(inGermany)的间谍测试方法,可以传入德国间谍,并调用讲德语的方法,输出结果。创建德国间谍和英国间谍分别进行测试。创建双重间谍进行测试,看是否能同时通过军情5处和德国情报处的间谍检测。提示:定义两个接口BritishSpy(英国间谍)和GermanSpy(德国间谍)。
33.使用面向对象的思想实现龟兔赛跑。提示:创建Rabbit和Tortoise类分别代表兔子和乌龟,分别具有属性speed代表兔子和乌龟的速度;具有方法run代表跑步动作,run方法有一个类型为double的参数,代表跑步的长度,通过长度除以速度计算出跑步所需的时间,并输出。创建Match类代表比赛类,定义length属性代表比赛的跑步长度,定义begin方法,将兔子和乌龟作为参数传入,在方法中分别调用兔子和乌龟的跑步方法,输出跑步所需的时间。35.字符串练习题:
a)请从该字符串中String s = "aljdlkfjAslkjdflkajKJKJUIHOL::FKSJfKLJF182738KFJKDJSKFjjsldjflw";统计大写字母和小写字母出现的个数,及非字母出现的个数。
b)请从该字符串中String s = "javaksjdflkajjavakfjalejkjavakjfalejkjfvbajvakjaskdfjavaljks465465java";统计"java"出现的次数及相应的索引位置。36.现有一网上购物平台,商品信息包含商品名称,价格,评分,商品描述。
需求:通过手动输入存储商品到数组,然后通过输入的名称模糊查询商品信息,显示出查询到的所有商品的详细信息。38.给定一个字符串String s =“dkldijgdjfaisdjlfqweiroiqhuitRepeat方法,去掉其中重复的字母,返回一个不重复的集合。。
39.一个List集合里面有30个元素,所有元素随机,提供一个方法,对这个集合进行排序,并遍历排序后的结果。40.使用ArrayList实现比牌游戏,规则:随机拿到3张牌,系统每次获取三张,拿出牌以后要从总的牌中去除这三张牌,对比手中的三张牌,直到拿到比手中大的牌,统计次数。
比牌规则:规则:3个相同的>花色相同的且连续的>花色相同但不连续的>花色不同但连续的>其中有2个相同的>没有任何相同的也不连续,花色也不全
一样的。如果双方的牌满足同一规则,则对比牌的点数大小。
难度扩展:实现多人比牌
难度扩展二:实现加注功能。

java、简单练习题相关推荐

  1. java简单题目_Java考点知识简单练习题

    Java考点知识简单练习题 Java 技术具有卓越的通用性.高效性.平台移植性和安全性,广泛应用于PC.数据中心.游戏控制台.科学超级计算机.移动电话和互联网,同时拥有全球最大的开发者专业社群.下面是 ...

  2. python比java简单好学-python和java哪个学起来更简单

    在近几年Python的呼声越来越高,很多刚开始起步想要学习编程的朋友都会犹豫要不要选择学习Python,毕竟作为人工智能时代的首选语言这个诱惑还是很大的.在选择上最纠结的就是Python和Java选择 ...

  3. java简单工厂模式_Java 简单工厂模式

    Java 简单工厂模式 2014-05-28·WeaponX 3717 次浏览 ## 介绍 简单工厂模式又称静态工厂模式. 简单工厂模式由工厂类角色.抽象产品角色和具体产品角色组成. 工厂类角色是本模 ...

  4. java拳皇地下城_拳皇(Java简单的小程序)代码实例

    刚开始学习Java,看完老九君的视频根据他的内容敲的代码,感觉还挺有成就感的,毕竟刚学习Java. package helloasd;import java.util.*; public class ...

  5. java简单系统_Java简单学生管理系统

    Java简单学生管理系统 这个不需要手动输入,笔记记录 //student` public class student(){ private String id;//学号 private String ...

  6. JAVA拳皇_拳皇(Java简单的小程序)代码实例|chu

    刚开始学习Java,看完老九君的视频根据他的内容敲的代码,感觉还挺有成就感的,毕竟刚学习Java. package helloasd;import java.util.*; public class ...

  7. java 简单获取Excel表格内容(初学者)

    java 简单获取Excel表格内容(初学者) 代码: package cn.ccaih.read;import org.apache.poi.ss.usermodel.Cell; import or ...

  8. java简单词法分析器(源码下载)

    java简单词法分析器 : http://files.cnblogs.com/files/hujunzheng/%E7%AE%80%E5%8D%95%E8%AF%8D%E6%B3%95%E5%88%8 ...

  9. java简单密码验证程序

    java简单密码验证程序 package demo01;import java.util.Scanner;/*** java模拟密码验证问题* 从键盘上录入6位密码,验证密码是不是6位,如果不是6位提 ...

  10. SpringBoot-Jsoup做java简单-爬虫

    使用SpringBoot+Jsoup做java简单'爬虫' Jsoup简介 Jsoup是一款java的Html解析器,可以直接解析Html.针对网页提供了相关Api,可以通过Dom.Css.Jquer ...

最新文章

  1. golang的mongodb操作(mgo)
  2. 揭秘微软全球最大数据中心
  3. 你知道吗,NukeSped 通过 Bundlore 发起了一种新型攻击
  4. kafka修改分区数_大数据技术:解析SparkStreaming和Kafka集成的两种方式
  5. Python打牢基础,从12个语法开始!
  6. tomcat日志、控制台乱码
  7. HDU5120 - Intersection
  8. 记录ie下报XMLHttpRequest: 网络错误 0x80070005, 拒绝访问。
  9. Filecoin网络目前总质押量约为2294万枚FIL
  10. bzoj 2705: [SDOI2012]Longge的问题(欧拉函数)
  11. 2018手机用户体验的11个设计趋势
  12. Unity3D学习1--Unity基础
  13. iOS人脸识别Demo
  14. mysql服务启动中但总是闪退_MySql闪退和服务无法启动的解决方法
  15. 51单片机中断程序大全
  16. 基于Linux系统部署新世纪版五笔输入法
  17. 美国总统拜登下令降半旗悼念枪击案遇难者
  18. “交通·未来”第5期:面向交通数据的多情景空间选址优化及强化学习实践
  19. 【读论文】RFN-Nest: An end-to-end residual fusion network for infrared and visible images
  20. linux c邮件客户端,[源码和文档分享]基于C语言和TCP Socket实现的Linux环境下的邮件收发客户端程序...

热门文章

  1. pdfbox读取pdf图片,截取图片, tess4j 图片文字识别
  2. 拉斯姆森羽毛球教学视频11-27(文字版配图)
  3. 隐藏的区别:display:none 和visibility:hidden
  4. MATLAB编写用户登陆界面小结——更改界面左上角图标、输入用户名提醒和输入密码隐藏
  5. 计算机硬盘读取超慢,如何解决电脑硬盘速度慢
  6. Tomcat 部署多个SpringBoot 项目:ERROR org.springframework.boot.actuate.endpoint.jmx.EndpointMBeanExporter
  7. PyCharm新建项目教程
  8. 重启防火墙(iptables)命令#service iptable restart失效
  9. markdown排版常用
  10. java组件叠加显示,如何让上层的组件一直在上层显示