javase重点作业之面向对象

这篇博客展示了Java面向对象编程的应用,包括设计一个词典类`Dic`,用于存储英文单词及其对应的中文意思,并提供翻译功能。接着,实现了动态数组类`MyArray`,支持动态扩容、添加、删除、插入和修改元素。最后,通过一个工资系统类`PayrollSystem`,展示了不同类型的员工(如按月结算的`SalariedEmployee`和按小时结算的`HourlyEmployee`)如何根据生日发放工资。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

OOP

  1. 设计一个词典类Dic,每个单词包括英文单词及对应的中文含义,并有一个英汉翻译成员函数,通过查词典的方式将一段英语翻译成对应的汉语。
    思路:    字典项类DicItem包括EngLish(英语单词)、Chinese(对应中文含义)数据成员,字典类包括一个字典项类的列表,包含Add()(添加单词)和trans(英汉翻译)成员函数。

 

源代码:package 接口与抽象类;

class Dic

{   fanyi[] arrays=new fanyi[5];//数组初始化

   int size=0;

  

   void add(String english ,String chinese)//增加单词

   {

      int p=chack(english);

      if(p!=-1)

      {

          arrays[p].chinese=chinese;

      }else {

          resize();

          this.arrays[size]=new fanyi(english,chinese);

         

          size++;

         

      }

      System.out.println("增加单词:"+english+": "+chinese);

     

   }

  

   void  tras(String english)//翻译

   {   int f=0;

     

      for(int i=0;i<size;i++)

      {

          if(arrays[i].english.equals(english))

          {   f=1;

             System.out.println(english+" 意思是:"+arrays[i].chinese);

          }

      }

      if(f==0) {

      System.out.println("字典中没有此单词!!!");}

   }

   int chack(String english)//检查单词是否重复

   {

      int i;

      for(i=0;i<this.size;i++)

      {

          if(arrays[i].english.equals(english))

          {

             return i;

          }

      }

      return -1;

   }

   void resize()//扩容

   {

      if(arrays.length==size)

      {

          fanyi[] newarrays=new fanyi[arrays.length*3/2+1];

          System.arraycopy(arrays, 0, newarrays, 0, size);

          arrays=newarrays;

      }

   }

   void show()//打印数组所有成员

   {

      for(int i=0;i<this.size;i++)

          System.out.println(arrays[i].english+" "+arrays[i].chinese);

   }

   private class fanyi//内部类

   {

      String english;

      String chinese;

      public fanyi(String english, String chinese) {

     

          this.english = english;

          this.chinese = chinese;

      }

     

   }

}

public class 词典 {

 

   public static void main(String[] args) {

      // TODO Auto-generated method stub

      Dic dic=new Dic();

     

      dic.add("am", "");

      dic.add("facebook", "脸书");

      dic.add("book", "");

     

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值