【java】写一个公交车类,包含乘客类数组,实现乘客上车下车等方法。
2016-10-06 17:35
686 查看
本示例主要练习java构造函数和数组的使用
package 作业3;
public class test {
public static void main(String[] args) {
// TODO Auto-generated method stub
Bus b=new Bus("001",30000,30);
b.setDriver("司机");
b.start();
passer[] passes=new passer[3];
passes[0]=new passer(30,"张三");
passes[1]=new passer(20,"李四");
passes[2]=new passer(40,"王五");
b.upPasses(passes);
b.downPasses(passes);
// b.downPass(passes[0]);
}
}
class passer
{
private int _age;
private String _name;
public passer(int age,String name)
{
_age=age;
_name=name;
}
public String getName()
{
return _name;
}
public boolean equals(passer pa)
{
if((this._age==pa._age)&&(this._name==pa._name))
{
return true;
}
else
return false;
}
}
class Bus
{
private String _model; //型号
private int _money;
private int _maxCarry; //最大载客数
private passer[] _passes; //公交车内当前乘客
private String _driver; //公交车司机
private int num; //当前乘客数
public Bus(String model,int money,int maxCarry)
{
_model=model;
_money=money;
_maxCarry=maxCarry;
_passes=new passer[_maxCarry];
}
public void setDriver(String driver)
{
_driver=driver;
}
public void start()
{
if(_driver!=null)
{
System.out.println("公交车启动");
}
}
public void stop()
{
if(_driver!=null)
{
System.out.println("公交车刹车");
}
}
public void upPass(passer pa) //一个乘客上车
{
for(int i=0;i<_passes.length;i++)
{
if(_passes[i]==null)
{
_passes[i]=pa;
System.out.println(pa.getName()+"上车");
num++;
break;
}
else if(i==_maxCarry)
System.out.println("车满");
}
}
public void upPasses(passer[] pas) //一组乘客上车
{
for(int i=0;i<pas.length;i++)
{
upPass(pas[i]);
}
}
public void downPass(passer pa) //一个乘客下车
{
if(_passes[0]==null)
{
System.out.println("车空");
}
for(int i=0;i<num;i++)
{
if(pa.equals(_passes[i]))
{
System.out.println(pa.getName()+"下车");
for(int j=i;j<num-1;j++)
{
_passes[j]=_passes[j+1];
}
num--;
break;
}
else if(i==_passes.length)
{
System.out.println("无该乘客");
}
}
}
public void downPasses(passer[] pas) //一组乘客下车
{
for(int i=0;i<pas.length;i++)
{
downPass(pas[i]);
}
}
}
package 作业3;
public class test {
public static void main(String[] args) {
// TODO Auto-generated method stub
Bus b=new Bus("001",30000,30);
b.setDriver("司机");
b.start();
passer[] passes=new passer[3];
passes[0]=new passer(30,"张三");
passes[1]=new passer(20,"李四");
passes[2]=new passer(40,"王五");
b.upPasses(passes);
b.downPasses(passes);
// b.downPass(passes[0]);
}
}
class passer
{
private int _age;
private String _name;
public passer(int age,String name)
{
_age=age;
_name=name;
}
public String getName()
{
return _name;
}
public boolean equals(passer pa)
{
if((this._age==pa._age)&&(this._name==pa._name))
{
return true;
}
else
return false;
}
}
class Bus
{
private String _model; //型号
private int _money;
private int _maxCarry; //最大载客数
private passer[] _passes; //公交车内当前乘客
private String _driver; //公交车司机
private int num; //当前乘客数
public Bus(String model,int money,int maxCarry)
{
_model=model;
_money=money;
_maxCarry=maxCarry;
_passes=new passer[_maxCarry];
}
public void setDriver(String driver)
{
_driver=driver;
}
public void start()
{
if(_driver!=null)
{
System.out.println("公交车启动");
}
}
public void stop()
{
if(_driver!=null)
{
System.out.println("公交车刹车");
}
}
public void upPass(passer pa) //一个乘客上车
{
for(int i=0;i<_passes.length;i++)
{
if(_passes[i]==null)
{
_passes[i]=pa;
System.out.println(pa.getName()+"上车");
num++;
break;
}
else if(i==_maxCarry)
System.out.println("车满");
}
}
public void upPasses(passer[] pas) //一组乘客上车
{
for(int i=0;i<pas.length;i++)
{
upPass(pas[i]);
}
}
public void downPass(passer pa) //一个乘客下车
{
if(_passes[0]==null)
{
System.out.println("车空");
}
for(int i=0;i<num;i++)
{
if(pa.equals(_passes[i]))
{
System.out.println(pa.getName()+"下车");
for(int j=i;j<num-1;j++)
{
_passes[j]=_passes[j+1];
}
num--;
break;
}
else if(i==_passes.length)
{
System.out.println("无该乘客");
}
}
}
public void downPasses(passer[] pas) //一组乘客下车
{
for(int i=0;i<pas.length;i++)
{
downPass(pas[i]);
}
}
}
相关文章推荐
- 编写js扩展方法实现判断一个数组中是否包含某个元素
- List的All方法使用问题:我用List1的All方法来确保List1的所有每个数组元素中是否包含Arr1中的任意元素,这个部分很难实现。 因为,没有一个数组中是否包含另一个数组中的任意元素这个功能
- Java实现把两个数组合并为一个的方法总结
- JAVA--定义一个包含整型数组参数的方法,用来接收成绩数组,进行成绩排序并输出前三名
- 编写js扩展方法实现判断一个数组中是否包含某个元素
- 给定一个无序数组,包含正数、负数和0,要求从中找出3个数的乘积,使得乘积最大 java实现
- JAVA里实现一个数组全排列的方法
- 【每天算法1】:用java 语言实现,输入一个数,就相应地输出的几维数组
- JAVA线程之一:实现一个线程的两种方法
- * java 中的数组 对象数组 以及main方法中的参数 x y不用中间参数实现交换
- Java中有几种方法实现一个线程,用什么关键字修饰同步方法?stop()和suspend()方法为何不提倡使用?
- 在DWR中实现直接获取一个JAVA类的返回值的两种方法
- Javascript 数组添加一个 indexOf 方法的实现代码
- java 学习 私有类实现接口 ,一个类继承来的方法和接口实现方法重复第八天
- 请给Array本地对象增加一个原型方法,它的用途是删除数组条目中重复的条目(可能有多个),返回值是一个仅包含被删除的重复条目的新数组。
- java 学习 私有类实现接口 ,一个类继承来的方法和接口实现方法重复第八天
- Java 有几程方法可以实现一个线程?用什么关键字修饰同步?stop()和suspend()为什么不推荐使用?
- 请给Array本地对象增加一个原型方法,它的用途是删除数组条目中重复的条目(可能有多个),返回值是一个仅包含被删除的重复条目的新数组。
- Java面试题:1-100之间的数,被放在数组a[99]中,有一个数没有包含在其中,用java代码找出这个数
- Java面试题:1-100之间的数,被放在数组a[99]中,有一个数没有包含在其中,用java代码找出这个数