JAVA字典程序

本文档详细介绍了JAVA字典程序的各个核心模块,包括Data数据处理、DayCheck日常检查、FindOrAdd查找与添加功能、Main主程序、WordTest单词测试以及WriteToFile文件写入操作。INIT部分可能涉及程序初始化设置。

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

Data

import java.io.Serializable;

public class Data implements Serializable{
     /**
	 * 
	 */
	private static final long serialVersionUID = 1L;//���л����eclipse�Դ���
	public String cihui;
     public String  IPA;
     public String meaning1;
     public String meaning2;
     public String meaning3;
     public String meaning4;
     public String time;
    public Data(String time,String cihui,String yinbiao, String meaning1,String meaning2,String meaning3,String meaning4){
    	 this.cihui = cihui;
    	 this.IPA = yinbiao;
    	 this.meaning1 = meaning1;
    	 this.meaning2 = meaning2;
    	 this.meaning3 = meaning3;
    	 this.meaning4 = meaning4;
    	 this.time = time;
     }
}

DayCheck

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class DayCheck {

	public static boolean function(int day,String st) {
		Date date = new Date();
		int temp = 0;
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
        try {
            Date d = sdf.parse(st); // �����ں�ʱ����ַ�����ʾ��ʽת��Ϊ���Ч�� DateTime��
            // date.getTime() ����ʱ��ĺ�����ֵ
            temp = (int) ((date.getTime() - d.getTime()) / (1000 * 60 * 60 * 24)); // ������
        } catch (ParseException e) {
            System.out.println("TIMESPAN ERROR");
        }
        if(day >= temp) {
        	return true;
        }
        return false;
	}
}

FindOrAdd

import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.LinkedList;
import java.util.Scanner;

public class FindOrAdd {

	public static void function(LinkedList<Data> list,String word) 
			throws IOException {
		boolean flag  = false ;
		for(int i = 0; i < list.size();i ++) {
			if(list.get(i).cihui.equals(word)) {
				System.out.println(word);
				System.out.println(list.get(i).IPA);
				System.out.println(list.get(i).meaning1);
				System.out.println(list.get(i).meaning2);
				System.out.println(list.get(i).meaning3);
				System.out.println(list.get(i).meaning4);
				//System.out.println(list.get(i).time);
				flag = true;
				break;
			}
		}
		if(flag == false) {
			System.out.println("Not in dictionary,please add");
			System.out.println("IPA");
			Scanner sc3 = new Scanner(System.in);
			String str1 = sc3.nextLine();
			System.out.println("meaning");
			Scanner sc4 = new Scanner(System.in);
			String str2 = sc4.nextLine();
			System.out.println("meaning");
			Scanner sc5 = new Scanner(System.in);
			String str3 = sc5.nextLine();
			System.out.println("meaning");
			Scanner sc6 = new Scanner(System.in);
			String str4 = sc6.nextLine();
			System.out.println("meaning");
			Scanner sc7 = new Scanner(System.in);
			String str5 = sc7.nextLine();
			Date now = new Date(); 
        	SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");//���Է�����޸����ڸ�ʽ
        	String hehe = dateFormat.format( now ); 
			Data ad = new Data(hehe,word,str1,str2,str3,str4,str5);
			list.add(ad);
			WriteToFile.function(list);
		}
	}
}

Main

import java.util.ArrayList;
import java.util.LinkedList;
import java.util.Scanner;
import java.io.*;
public class Main {
  public static void main(String[] Zing) 
		  throws  IOException {
	  int i;
	  LinkedList<Data> dictionary1 = null;
	  ObjectInputStream input = new ObjectInputStream(
	            new FileInputStream("dictionary/dictionary.temp") );
	        try {
	            while( (dictionary1=(LinkedList<Data>)input.readObject()) != null ) {
	                ;
	            }
	        } catch(ClassNotFoundException ex) {}
	        catch(EOFException eofex) {}
	        input.close();
	  System.out.println("Sccced in initialize! ");
	  System.out.println("1:find / add word ");
	  System.out.println("2:test ");
	  Scanner sc = new Scanner(System.in);
	  int choice1 = sc.nextInt();
	  if(choice1 == 1) {
		  System.out.println("press quit to quit");
		  for(i = 0;;i++) {
			  System.out.println("Please input word");
			  Scanner sc2 = new Scanner(System.in);
			  String outputstr = sc2.nextLine();
			  if(outputstr.equals("quit")) {
				  break;
			  }else {
				  FindOrAdd.function(dictionary1, outputstr);
			  }
		  }
	  }
	  System.out.println("Have a test !");
	  System.out.println("Input how long (days) ago(int)");
	  Scanner sc7 = new Scanner(System.in);
	  int choice2 = sc7.nextInt();
	  WordTest.function(dictionary1, choice2);
	  System.out.println("Have a nice day!");
    }
 
}

WordTest

import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.LinkedList;
import java.util.Scanner;

public class WordTest {

	public static void function(LinkedList<Data> list,int day) 
			throws IOException {
		int size = list.size();
		int i;
		for(i = 0;i < size ;i ++) {
			if(DayCheck.function(day, list.get(i).time) == true) {
				System.out.println(list.get(i).cihui);
				System.out.println("press 1 ");
				Scanner s = new Scanner(System.in);
				int nouse = s.nextInt();
				System.out.println(list.get(i).IPA);
				System.out.println(list.get(i).meaning1);
				System.out.println(list.get(i).meaning2);
				System.out.println(list.get(i).meaning3);
				System.out.println(list.get(i).meaning4);
				System.out.println("If right,press1,wrong with 2");
				Scanner s1 = new Scanner(System.in);
				int choice1 = s1.nextInt();
				if(choice1 == 2) {
					Date now = new Date(); 
		        	SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");//���Է�����޸����ڸ�ʽ
		        	String hehe = dateFormat.format( now ); 
		        	Data ad1 = new Data(hehe,list.get(i).cihui,list.get(i).IPA,list.get(i).meaning1,list.get(i).meaning2,list.get(i).meaning3,list.get(i).meaning4);
					list.remove(i);
					list.add(ad1);
					WriteToFile.function(list);
				}
			}
		}
	}
}

WriteToFile

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectOutputStream;
import java.util.LinkedList;

public class WriteToFile {
  public static void function(LinkedList<Data> list) 
		  throws  IOException {
		String fileName = "dictionary/dictionary.temp";
		ObjectOutputStream output = new ObjectOutputStream(
          new FileOutputStream(fileName) );
       output.writeObject(list);
      output.close();
  }
}

INIT

import java.io.*;
import java.util.ArrayList;
import java.util.LinkedList;

/*public class INIT {
    public static void main (String[] args)
    throws IOException
    {
    	LinkedList<Data> object1 = new LinkedList<>();
		String fileName = "dictionary/dictionary.temp";
		ObjectOutputStream output = new ObjectOutputStream(
            new FileOutputStream(fileName) );
         output.writeObject(object1);
        output.close();
    }
}*/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值