package Exercise.HomeWork01;
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
/*
* 设计一个猜数字游戏,即系统随机出一个0-100的整数,
* 用户输入数字,提示输出大还是小,超过 4次则为用户失败,
* 游戏结束后询问用户是否下一轮。*/
Scanner scanner = new Scanner(System.in);
char key ;
do{
System.out.println("游戏开始=============");
int m = 0;//统计成功次数
int n = 0;//统计失败次数
do{
System.out.println("请输入一个整数");
int num = scanner.nextInt();
int num2 = (int)(Math.random() * 100) + 1;//1-100随机生成数字
if(num>num2){
m++;
if(m==4){
System.out.println("你成功了");
break;
}
System.out.println("你输入的数大");
}else if(num == num2){
System.out.println("两数相等");
}else{
System.out.println("你输入的数小");
n++;
if(n==4){
System.out.println("你失败了");
break;
}
}
System.out.println("游戏继续");
}while(true);
System.out.println("是否下一轮(y/n)");
key = scanner.next().charAt(0);
}while (key!='n');
}
}
第二题
设计一个名字叫做图形的父类,在设计集成他的子类,分别是矩形、三角、圆形和椭圆形。自己思 考找出共同特征(点的个数,边的个数等等,还有一些方法,比如画等),具体细节自由发挥,程 序中除了打印不可以出现汉字。
package Exercise.HomeWork02;
public class Test {
public static void main(String[] args) {
Triangle triangle = new Triangle("三角形", 3, 3);
Rectangle rectangle = new Rectangle("矩形", 4, 4);
Ellipse ellipse = new Ellipse("椭圆", 0, 1);
Circular circular = new Circular("圆", 0, 1);
System.out.println(triangle.toString());
System.out.println(rectangle.toString());
System.out.println(ellipse.toString());
System.out.println(circular.toString());
}
}
package Exercise.HomeWork02;
public class Circular extends Graphical{//圆形
public Circular(String name, int spotNum, int edgeNum) {
super(name, spotNum, edgeNum);
}
}
package Exercise.HomeWork02;
public class Ellipse extends Graphical{//椭圆
public Ellipse(String name, int spotNum, int edgeNum) {
super(name, spotNum, edgeNum);
}
}
package Exercise.HomeWork02;
/*
* 设计一个名字叫做图形的父类,在设计集成他的子类,
* 分别是矩形、三角、圆形和椭圆形。
* 自己思考找出共同特征(点的个数,边的个数等等,还有一些方法,比如画等),
* 具体细节自由发挥,程 序中除了打印不可以出现汉字。*/
public class Graphical {//父类
private String name;
private int spotNum;//点的个数
private int edgeNum;//边的个数
public Graphical(String name, int spotNum, int edgeNum) {
this.name = name;
this.spotNum = spotNum;
this.edgeNum = edgeNum;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getSpotNum() {
return spotNum;
}
public void setSpotNum(int spotNum) {
this.spotNum = spotNum;
}
public int getEdgeNum() {
return edgeNum;
}
public void setEdgeNum(int edgeNum) {
this.edgeNum = edgeNum;
}
@Override
public String toString() {
return "Graphical{我正在画" +
"name='" + name + '\'' +
",它的点数spotNum=" + spotNum +
",它的边数edgeNum=" + edgeNum +
'}';
}
}
package Exercise.HomeWork02;
public class Rectangle extends Graphical{//矩形
public Rectangle(String name, int spotNum, int edgeNum) {
super(name, spotNum, edgeNum);
}
}
package Exercise.HomeWork02;
public class Triangle extends Graphical{//三角形
public Triangle(String name, int spotNum, int edgeNum) {
super(name, spotNum, edgeNum);
}
}
第三题
生物届共有三大类(界门纲目科属种),分别是植物动物微生物,以动物的生活方式划分又可以分 为海陆空,他们的呼吸方式分别是靠鳃呼吸和靠肺呼吸。不同的动物运动方式又不一样,比如鱼可 以游泳,猫可以爬树,鸟可以飞。不同动物的饮食方式又不一样,鱼吃蚯蚓、猫吃鱼、狗吃肉、鸟 吃种子。但是对于人来说,不同的动物功能不同,猫可以抓老师、狗可以看家、鱼和鸟可以供人观 赏。每一个动物年龄的速度又不一样,比如张三的猫(欢欢)速度是5m/s,而李四家的猫(花 花)是7m/s,(名字和速度应该是对象一旦被创建就不可以被修改,提示final关键字)。题目自 由发挥,应用封装继承多态完成本题,程序中除了打印不可以出现汉字。
package Exercise.HomeWork03;
/*
* 生物届共有三大类(界门纲目科属种),分别是植物动物微生物,
* 以动物的生活方式划分又可以分 为海陆空,他们的呼吸方式分别是靠鳃呼吸和靠肺呼吸。
* 不同的动物运动方式又不一样,比如鱼可 以游泳,猫可以爬树,鸟可以飞。
* 不同动物的饮食方式又不一样,鱼吃蚯蚓、猫吃鱼、狗吃肉、鸟 吃种子。
* 但是对于人来说,不同的动物功能不同,猫可以抓老鼠、狗可以看家、鱼和鸟可以供人观 赏。
* 每一个动物年龄的速度又不一样,比如张三的猫(欢欢)速度是5m/s,
* 而李四家的猫(花花)是7m/s,
* (名字和速度应该是对象一旦被创建就不可以被修改,提示final关键字)。
* 题目自 由发挥,应用封装继承多态完成本题,程序中除了打印不可以出现汉字。*/
public class Test {
public static void main(String[] args) {
Dog dog = new Dog("小黑", 3, 5, "陆地生活",
"靠肺呼吸", "用腿跑", "爱吃骨头", "会看门");
Cat cat = new Cat("欢欢", 3, 3, "陆地生活",
"靠肺呼吸", "用腿跑", "爱吃老鼠", "会抓老鼠,会撒娇");
System.out.println(dog.toString());
System.out.println(cat.toString());
}
}
package Exercise.HomeWork03;
public class Animal {//父类
private String name;
private int age;
private int speed;
private String life;//生活方式
private String breath;//呼吸方式
private String run;//运动方式
private String eat;//饮食方式
private String function;//对人的功能
public Animal(String name,int age, int speed, String life, String breath, String run, String eat, String function) {
this.name = name;
this.age = age;
this.speed = speed;
this.life = life;
this.breath = breath;
this.run = run;
this.eat = eat;
this.function = function;
}
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public void setSpeed(int speed) {
this.speed = speed;
}
public int getSpeed() {
return speed;
}
public String getLife() {
return life;
}
public void setLife(String life) {
this.life = life;
}
public String getBreath() {
return breath;
}
public void setBreath(String breath) {
this.breath = breath;
}
public String getRun() {
return run;
}
public void setRun(String run) {
this.run = run;
}
public String getEat() {
return eat;
}
public void setEat(String eat) {
this.eat = eat;
}
public String getFunction() {
return function;
}
public void setFunction(String function) {
this.function = function;
}
@Override
public String toString() {
return "我叫"+name+"我今年"
+ age +
"岁了,我的速度=" + speed +
"m/s,我的生活方式是" + life +
" \n我的呼吸方式是" + breath +
" 我的运动方式是" + run +
" 我的饮食方式是" + eat +
"我可以" + function
;
}
}
package Exercise.HomeWork03;
public class Cat extends Animal{
public Cat(String name,int age, int speed, String life, String breath, String run, String eat, String function) {
super(name,age, speed, life, breath, run, eat, function);
}
}
package Exercise.HomeWork03;
public class Dog extends Animal{
public Dog(String name,int age, int speed, String life, String breath, String run, String eat, String function) {
super(name,age, speed, life, breath, run, eat, function);
}
}
第四题
使用list ( List的子类),只可以插入学生类(学生包含学号、姓名、年龄、性别(使用bool)、 联系方式等、其他自由发挥,注意不要使用基本数据类型、使用包装类型)。
1.使用迭代器打印出所有的学生信息(不同的信息之间使用三个":"分割,英文的冒号) 2.只打印出年龄大于20的学生信息
3.只打印出性别为男的学生姓名和学号
4.打印出名字为“张三”的学生信息,没有则提示没有该学生信息
package Exercise.HomeWork04;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class ListTest {
public static void main(String[] args) {
List<Student> list = new ArrayList<Student>();
Student student1 = new Student(1,"张三",19,true,"3329293493");
Student student2 = new Student(2,"李四",17,false,"1693709760");
Student student3 = new Student(3,"王五",15,true,"1302093838");
list.add(student1);
list.add(student2);
list.add(student3);
Iterator iterator = list.iterator();
while(iterator.hasNext()) {
System.out.println(iterator.next());
}
System.out.println();
System.out.println("==============================");
iterator = list.iterator();
while(iterator.hasNext()) {
Student student = (Student)iterator.next();
if((int)student.age >= 20)
System.out.println(student);
}
System.out.println();
System.out.println("==============================");
iterator = list.iterator();
while(iterator.hasNext()) {
Student student = (Student)iterator.next();
if((boolean)student.sex == true)
System.out.println("name=" + student.name + " number=" + (int)student.number );
}
System.out.println();
System.out.println("========================================");
iterator = list.iterator();
boolean flag =true;
while(iterator.hasNext()) {
Student student = (Student)iterator.next();
if(student.name.equals("张三")) {
System.out.println("S=name=" + student.name + "number=" + (int)student.number );
flag = false;
}
}
if(flag) {
System.out.println("张三不存在");
}
}
}
package Exercise.HomeWork04;
class Student {
Integer number;
String name;
Integer age;
Boolean sex;
String email;
public Student(Integer number, String name, Integer age, Boolean sex, String email) {
this.number = number;
this.name = name;
this.age = age;
this.sex = sex;
this.email = email;
}
public Integer getNumber() {
return number;
}
public void setNumber(Integer number) {
this.number = number;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public Boolean getSex() {
return sex;
}
public void setSex(Boolean sex) {
this.sex = sex;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
@Override
public String toString() {
return "Student age=" + age + "email=" + email + " name=" + name + "number=" + number + "sex=" + sex;
}
}
第五题
使用Java现有的set集合存储上述的学生信息,分别展现出增删改查(注意:不可以插入学号相同的学 生)
package Exercise.HomeWork05;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Scanner;
import java.util.Set;
public class SetTest {
Set<Student> set = new HashSet<Student>();
public static void main(String[] args) {
SetTest setTest = new SetTest();
Student student1 = new Student(1,"张三",19,true,"3329293493");
Student student2 = new Student(2,"李四",17,false,"1693709760");
Student student3 = new Student(3,"王五",15,true,"1302093838");
setTest.add(student1);
setTest.add(student2);
setTest.add(student3);
setTest.traverse(2);
System.out.println("=============");
setTest.delete(2);
setTest.traverse(2);
System.out.println("=============");
setTest.set(1);
setTest.traverse(1);
}
public void add(Student student) {
boolean flag = true;
Iterator iterator = set.iterator();
while(iterator.hasNext()) {
Student stu = (Student) iterator.next();
if((int)stu.number == (int)student.number) {
flag = false;
System.out.println("添加失败");
break;
}
}
if(flag) {
set.add(student);
System.out.println("添加成功");
}
}
public void delete(Integer number) {
boolean flag = true;
Iterator iterator = set.iterator();
while(iterator.hasNext()) {
Student stu = (Student) iterator.next();
if((int)stu.number == number) {
System.out.println("成功删除");
flag = false;
set.remove(stu);
break;
}
}
if(flag) {
System.out.println("你删除的对象不存在");
}
}
public void traverse(Integer number) {
boolean flag = true;
Iterator iterator = set.iterator();
while(iterator.hasNext()) {
Student stu = (Student) iterator.next();
if((int)stu.number == number) {
System.out.println(stu);
flag = false;
break;
}
}
if(flag) {
System.out.println("你查找的学生不存在");
}
}
public void set(Integer number) {
boolean flag = true;
Iterator iterator = set.iterator();
Scanner scanner = new Scanner(System.in);
while(iterator.hasNext()) {
Student stu = (Student) iterator.next();
if((int)stu.number == number) {
set.remove(stu);
System.out.println("修改后的名字");
stu.name = scanner.next();
System.out.println("修改后的年龄:");
stu.age = (Integer)scanner.nextInt();
System.out.println("修改后的性别:");
stu.sex = (Boolean)scanner.nextBoolean();
System.out.println("修改后的地址:");
stu.email = scanner.next();
flag = false;
set.add(stu);
break;
}
}
if(flag) {
System.out.println("你修改的学生不存在");
}
}
}
package Exercise.HomeWork05;
class Student {
Integer number;
String name;
Integer age;
Boolean sex;
String email;
public Student(Integer number, String name, Integer age, Boolean sex, String email) {
this.number = number;
this.name = name;
this.age = age;
this.sex = sex;
this.email = email;
}
public Integer getNumber() {
return number;
}
public void setNumber(Integer number) {
this.number = number;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public Boolean getSex() {
return sex;
}
public void setSex(Boolean sex) {
this.sex = sex;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
@Override
public String toString() {
return "Student age=" + age + "email=" + email + " name=" + name + "number=" + number + "sex=" + sex;
}
}