심심이 채팅 프로그램을 만들어보고있습니다...자바초보..
알찬바로
simsimi.java
import java.util.*;
import java.io.*;
public class simsimi {
public static void main(string[] args) throws classnotfoundexception, ioexception {
file dir = new file(c:\\java\\work);
file file = new file(dir, simsimi.dat);
vector vc = new vector();
if(file.exists()){
objectinputstream ois = new objectinputstream(new bufferedinputstream(new fileinputstream(file)));
vc = (vector) ois.readobject();
ois.close();
}
while (true) {
system.out.print(1. 대화등록 2. 전체보기 3. 종료 4. 게임시작: );
int x = system.in.read() -48;
system.in.read();
system.in.read();
if(x == 1) {
sim s = new sim();
vc.add(s);
system.out.println(대화 등록을 성공 하였습니다.);
}
else if (x == 2) {
for(int i = 0; i vc.size(); i++){
sim imsi = (sim) vc.elementat(i);
imsi.disp();
}
}
else if (x == 3) {
objectoutputstream oos = new objectoutputstream (new bufferedoutputstream(new fileoutputstream(file)));
oos.writeobject(vc);
oos.close();
system.exit(0);
}
else if (x == 4) {
string str = null;
while(str != 그만하자){
scanner in = new scanner(system.in);
system.out.println(김진경 : );
str = in.nextline();
for(int i = 0; ivc.size(); i++){
sim imsi = (sim) vc.elementat(i);
if (str == imsi.que1){
system.out.println(심심이 : +imsi.ans1);
}
else
system.out.println(난 그런말 몰라*^^*);
}
}
}
else {
system.out.println(잘못입력했습니다.!!);
}
}
}
}
sim.java
import java.io.*;
public class sim implements serializable{
private string que;
private string ans;
public string que1;
public string ans1;
private static transient bufferedreader in;
static {
in = new bufferedreader(new inputstreamreader(system.in));
}
public sim() throws ioexception{
system.out.print(질문 : );
que = in.readline();
system.out.print(응답 : );
ans = in.readline();
que1 = que;
ans1 = ans;
}
public void disp(){
system.out.print(que +\t + ans);
system.out.println();
}
}
파일은 두개구요 문제가 있어보이는 곳에 파란박스를 해놓았습니다.
사용자가 질문과 답변을 저장해놓을 수 있고요
사용자가 질문을 하면 그에 해당하는 답변을 파일에서 찾아서 해주는 프로그램입니다.
오늘 처음 파일입출력을 공부하면서 만들어 봤는데요..
질답 저장과 출력까지는 되는데
채팅처럼 하려고하니까 쉽지가 않네요..ㅠ
exception in thread main java.io.invalidclassexception: sim; local class incompatible: stream classdesc serialversionuid = -1148457366889032291, local class serialversionuid = -1971314799082704466
at java.io.objectstreamclass.initnonproxy(unknown source)
at java.io.objectinputstream.readnonproxydesc(unknown source)
at java.io.objectinputstream.readclassdesc(unknown source)
at java.io.objectinputstream.readordinaryobject(unknown source)
at java.io.objectinputstream.readobject0(unknown source)
at java.io.objectinputstream.readarray(unknown source)
at java.io.objectinputstream.readobject0(unknown source)
at java.io.objectinputstream.defaultreadfields(unknown source)
at java.io.objectinputstream.readserialdata(unknown source)
at java.io.objectinputstream.readordinaryobject(unknown source)
at java.io.objectinputstream.readobject0(unknown source)
at java.io.objectinputstream.readobject(unknown source)
at simsimi.main(simsimi.java:13)
현재오류메시지입니다.가장 중요한 부분이 구현이 제대로 안되서요
1. private를 그대로 쓰면 못쓰니까 public 으로 돌린건데요
제생각에는 x == 4부분에 문제가 많아보입니다.
근데 어디가 어떻게 틀린건지 잘 모르겠어요
자바 고수님들 많은 조언 부탁드립니다..ㅠ