面向对象入门实例:小明去考试1.1版本加入了封装

Java程序实例:模拟考试
本文展示了一个简单的Java程序实例,模拟了一名学生骑自行车去考试的过程,并详细记录了学生完成选择题和判断题的情景。

 

运行结果

D:\java312\xm>javac -encoding utf-8 -d classes src/*.java

D:\java312\xm>java -classpath .;classes com.dayuanit.xm.test.TestDemo
家住天墉城十六街区的15岁的小明骑着价值为1990元的黄色的ofo自行车去考试,考试地点是
长江路199号
小明做选择题1
小明做选择题2
小明做选择题3
小明做选择题4
小明做选择题5
小明做判断题1
小明做判断题2
小明做判断题3
小明做判断题4
小明做判断题5
小明做判断题6
小明做判断题7
小明做判断题8
小明做判断题9
小明做判断题10

D:\java312\xm>

 

package com.dayuanit.xm.test;

import com.dayuanit.xm.user.Person;
import com.dayuanit.xm.edu.*;
import com.dayuanit.xm.tools.Bike;

public class TestDemo {
	public static void main(String[] args) {
		 Person person = new Person();
		 person.setName("小明");
		 person.setAge(15);
		 person.setAddress("天墉城十六街区");

		 Bike bike = new Bike();
		 bike.setBrand("ofo自行车");
		 bike.setPrice(1990);
		 bike.setColor("黄色的");

		 School school = new School();
		 school.setName("外国语中学");
		 school.setAddress("长江路199号");

		 person.goToSchool(bike, school);

		 Content content = new Content();
		 content.setChioce(5);
		 content.setJudge(10);
		 person.exam(content);
	}
}
package com.dayuanit.xm.user;

import com.dayuanit.xm.tools.Bike;
import com.dayuanit.xm.edu.*;

public class Person {
	private String name;
	private int age;
	private String address;

	public Person() {

	}

	public Person(String name, int age, String address) {
		this.name = name;
		this.age = age;
		this.address = address;
	} 

	public void goToSchool(Bike bike, School school) {
		bike.move(this, school);//将对象整个传给move方法
	}

	public void exam(Content content) {
		content.exam(this);//将this对象传给exam方法
	}

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

	public String getName() {
		return name;
	}

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

	public int getAge() {
		return age;
	}

	public void setAddress(String address) {
		this.address = address;
	}

	public String getAddress() {
		return address;
	}
}
package com.dayuanit.xm.tools;

import com.dayuanit.xm.user.Person;
import com.dayuanit.xm.edu.School;

public class Bike {
	int price;
	String brand;
	String color;

	public Bike() {

	}

	public Bike(int price, String brand, String color) {
		this.price = price;
		this.brand = brand;
		this.color = color;
	}

	public void move(Person person, School school) {
		System.out.println("家住"
			+ person.getAddress()
			+ "的"
			+ person.getAge() 
			+ "岁的"
			+ person.getName()
			+ "骑着价值为"
			+ price 
			+ "元的"
			+ color
			+ brand 
			+ "去考试,"
			+ "考试地点是"
			+ school.getAddress());
	}

	public void setPrice(int price) {
		this.price = price;
	}

	public int getPrice() {
		return price = price;
	}

	public void setBrand(String brand) {
		this.brand = brand;
	}

	public String getBrand() {
		return brand;
	}

	public void setColor(String color) {
		this.color = color;
	}

	public String getColor() {
		return color;
	}
}

 

package com.dayuanit.xm.edu;

public class School {
	String address;
	String name;

	public School() {

	}

	public School(String address, String name) {
		this.address = address;
		this.name = name;
	}

	public void setAddress(String address) {
		this.address = address;
	}

	public String getAddress() {
		return address;
	}

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

	public String getName() {
		return name;
	}
}

 

package com.dayuanit.xm.edu;

import com.dayuanit.xm.user.Person;

public class Content {
	int chioce;
	int judge;

	public Content() {

	}

	public Content(int chioce, int judge) {
		this.chioce = chioce;
		this.judge = judge;
	}

	public void exam(Person person) {
		for(int x = 1; x <= chioce; x++) {
			System.out.println(person.getName()
				+ "做选择题"
				+ x);
		}

		for(int x = 1; x <= judge; x++) {
			System.out.println(person.getName()
				+ "做判断题"
				+ x);
		}
	}

	public void setChioce(int chioce) {
		this.chioce = chioce;
	}

	public int getChioce() {
		return chioce;
	}

	public void setJudge(int judge) {
		this.judge = judge;
	}

	public int getJudge() {
		return judge;
	}
}

 

编译用javac -encoding utf-8 -d classes src/*.java

-d表示把编译的自解码放在后面制定的文件夹javac -d . xxx.javayun

运行java -classpath .; classes com.dayuanit.xm.test.TestDemo

 

转载于:https://my.oschina.net/u/3536141/blog/1037243

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值