Data
import java.io.Serializable;
public class Data implements Serializable{
private static final long serialVersionUID = 1L;
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);
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);
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;