Javase—OOP重点练习

/**
 * 1.思路: 字典项类DicItem包括EngLish(英语单词)、Chinese(对应中文含义)数据成员,
 * 字典类包括一个字典项类的列表,包含Add()(添加单词)和trans(英汉翻译)成员函数。
 */

package homework2;

public class Dic {
//	将 字典项类DicItem创建为内部类
	class DicItem{
		String english;
		String chinese;
		public DicItem(String english, String chinese) {
			super();
			this.english = english;
			this.chinese = chinese;
		}
		public DicItem() {
			super();
		}
	}
//	在字典类Dic里创建一个DicItem的数组存取信息
	DicItem[] word=new DicItem[10];
	int size=0;		//字典里含有元素的个数
	public int getSize() {
		return size;
	}
//	建立一个构造方法并对字典里的单词进行初始化
	public Dic() {
		word[0]=new DicItem("Hello","你好");
		word[1]=new DicItem("advent","到来,出现");
		word[2]=new DicItem("adverse","不利的,相反的,敌对的");
		word[3]=new DicItem("allay","减轻,使缓和");
		word[4]=new DicItem("bless","祝福");
		word[5]=new DicItem("chap","小伙子");
		word[6]=new DicItem("cultivate","培养,陶冶,耕作");
		word[7]=new DicItem("despite","尽管,轻视");
		size=8;
	}
//	向字典中增加单词
	public void add(String english,String chinese) {
		extend();
		word[size++]=new DicItem(english,chinese);
	}
	public void extend() {		//对字典内存进行扩展
		if(size==word.length) {
			DicItem[] newWord=new DicItem[size*2+1];
			System.arraycopy(word, 0, newWord, 0, size);
			word=newWord;
		}
	}
//	将输入的英文单词转化为汉语
	public String transEtoC(String english) {
		for(int i=0;i<size;i++) {
			if(english.equals(word[i].english)) {
				return word[i].chinese;
			}
		}
		return "您所查找的单词不在列表中";
	}
//	对字典里的中英文单词进行显示
	public void display() {
		for(int i=0;i<size;i++) {
			System.out.println(word[i].english+":"+word[i].chinese);
		}
	}
}

package homework2;

public class Text1 {

	public static void main(String[] args) {
		Dic d=new Dic();
		d.display();
		System.out.println();
		d.add("meet", "遇见");
		d.add("occupation", "职业");
		d.add("enmy", "敌人");
		d.add("proof", "证据,试验");
		d.add("tend", "趋向,照料");
		d.display();
		System.out.println();
		System.out.println(d.transEtoC("tend"));
		System.out.println(d.transEtoC("you"));
	}
}

/**
 * 2.自已封装一个动态数组类,可以根据用户传递的数据,动态的对数组的长度进行扩展;
	类名是:MyArray
		方法有:
			void add(int value);  //追加一个值
			vold remove(int index);   //根据索引,删除一个值
			void add(int position,int value); //在指定位置插入一个数值
			void set(int position,int value); //修改某个位置的数值
			int get(int index); //根据索引,获得元数的值
			int size();  //获得
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值