Professional Documents
Culture Documents
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.net.Socket;
import java.net.SocketException;
import java.util.BitSet;
import java.util.Random;
import java.util.logging.Level;
import java.util.logging.Logger;
import model.Answer;
import model.ExamCode;
import model.Student;
Socket clientSocket;
Final_NumericServer serverControl;
DataInputStream is;
DataOutputStream os;
ObjectOutputStream ooS;
ObjectInputStream ioS;
int numOperator = 0;
int A = 0;
this.clientSocket = s;
this.serverControl = serverControl;
if (this.student.getMaSV().trim().equalsIgnoreCase("")) {
return false;
} else {
this.answer = this.serverControl.getAnswer(this.student);
if (this.answer == null) {
return false;
} else {
this.answer.setStudent(this.student);
return true;
}
}
switch(code) {
case 1:
} else {
break;
case 2:
} else {
break;
case 3:
this.sortASC(this.intAnswers);
int i;
if (this.operatorCode == 1) {
if (this.is.readInt() != results[i]) {
isRight = false;
break;
} else {
if (this.is.readInt() != results[i]) {
isRight = false;
break;
if (isRight) {
} else {
break;
case 4:
break;
case 5:
int x = num;
int sum;
int y = x % 10;
sum += y;
} else {
break;
case 6:
if (countPrime == this.countPrimes(this.convertString2Num_Ca2(this.str3))) {
} else {
case 7:
default:
break;
case 8:
this.os.writeInt(tmp);
this.intAnswers[i] = tmp;
try {
super.run();
if (this.initiateStudentAnswer()) {
if (code == 0) {
this.str1 = this.randomSpaceNumericString_Ca2(3);
this.str2 = this.randomSpaceNumericString_Ca2(3);
this.os.writeUTF(this.str1);
this.os.writeUTF(this.str2);
this.checkResponse(8);
this.os.writeInt(this.A);
this.str3 = this.randomSpaceNumericString_Ca2(3);
this.os.writeUTF(this.str3);
this.checkResponse(1);
} else if (code == 1) {
this.os.writeInt(this.A);
this.str3 = this.randomSpaceNumericString_Ca2(3);
this.os.writeUTF(this.str3);
this.checkResponse(1);
this.str1 = this.randomSpaceNumericString_Ca2(3);
this.str2 = this.randomSpaceNumericString_Ca2(3);
this.os.writeUTF(this.str1);
this.os.writeUTF(this.str2);
this.checkResponse(8);
this.ooS.writeObject(this.answer);
if (ack.equalsIgnoreCase("OK")) {
this.serverControl.updateAnswerList(this.answer);
this.serverControl.updateView(this.student);
return;
var33.printStackTrace();
if (this.clientSocket != null) {
try {
this.clientSocket.close();
Logger.getLogger(Final_NumericClientThread.class.getName()).log(Level.SEVERE, (String)null,
var32);
return;
return;
var34.printStackTrace();
try {
this.is.close();
this.os.close();
Logger.getLogger(Final_NumericClientThread.class.getName()).log(Level.SEVERE, (String)null,
var31);
}
if (this.clientSocket != null) {
try {
this.clientSocket.close();
Logger.getLogger(Final_NumericClientThread.class.getName()).log(Level.SEVERE, (String)null,
var30);
return;
return;
var35.printStackTrace();
try {
this.is.close();
this.os.close();
Logger.getLogger(Final_NumericClientThread.class.getName()).log(Level.SEVERE, (String)null,
var29);
if (this.clientSocket != null) {
try {
this.clientSocket.close();
} catch (IOException var28) {
Logger.getLogger(Final_NumericClientThread.class.getName()).log(Level.SEVERE, (String)null,
var28);
return;
return;
} finally {
try {
this.is.close();
this.os.close();
Logger.getLogger(Final_NumericClientThread.class.getName()).log(Level.SEVERE, (String)null,
var27);
if (this.clientSocket != null) {
try {
this.clientSocket.close();
Logger.getLogger(Final_NumericClientThread.class.getName()).log(Level.SEVERE, (String)null,
var26);
}
}
int l = stng.length();
int sum = 0;
if (Character.isDigit(stng.charAt(i))) {
} else {
sum += Integer.parseInt(temp);
temp = "";
return sum;
while(count-- != 0) {
builder.append("AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZ".charAt(character));
if ((new Random()).nextInt(2) == 1) {
builder.append("0123456789".charAt(numCharacter));
if (count != 0) {
builder.append(" ");
return builder.toString();
if (a != 0 && b != 0) {
if (a == b) {
return a;
} else {
} else {
return 0;
}
private boolean coprime(int a, int b) {
return this.gcd(a, b) == 1;
while(count-- != 0) {
builder.append(ExamCode.STRING_NUMERIC[(int)(Math.random() *
(double)ExamCode.STRING_NUMERIC.length)]);
builder.append(" ");
return builder.toString().trim();
if (num.equalsIgnoreCase("khong")) {
} else if (num.equalsIgnoreCase("mot")) {
} else if (num.equalsIgnoreCase("hai")) {
} else if (num.equalsIgnoreCase("bon")) {
} else if (num.equalsIgnoreCase("nam")) {
} else if (num.equalsIgnoreCase("sau")) {
} else if (num.equalsIgnoreCase("bay")) {
} else if (num.equalsIgnoreCase("tam")) {
} else if (num.equalsIgnoreCase("chin")) {
return Integer.valueOf(strNum);
int nextUpper = 0;
if (i == str.length() - 1) {
if (word.equalsIgnoreCase("khong")) {
} else if (word.equalsIgnoreCase("mot")) {
} else if (word.equalsIgnoreCase("hai")) {
} else if (word.equalsIgnoreCase("ba")) {
} else if (word.equalsIgnoreCase("bon")) {
} else if (word.equalsIgnoreCase("nam")) {
} else if (word.equalsIgnoreCase("sau")) {
} else if (word.equalsIgnoreCase("bay")) {
} else if (word.equalsIgnoreCase("tam")) {
} else if (word.equalsIgnoreCase("chin")) {
nextUpper = i;
}
return Integer.valueOf(strNum);
while(count-- != 0) {
builder.append(ExamCode.STRING_NUMERIC[(int)(Math.random() *
(double)ExamCode.STRING_NUMERIC.length)]);
return builder.toString().trim();
if (n > 0 && n != 1) {
if (n != 3 && n != 2) {
--n;
int s = (int)Math.sqrt((double)n);
int ctr = n;
if (!set.get(p)) {
if (!set.get(p * q)) {
--ctr;
set.set(p * q);
}
return ctr - 1;
} else {
return 1;
} else {
return 0;
}
private void sortASC(int[] arr) {
temp = arr[j];
arr[j] = arr[i];
arr[i] = temp;
temp = arr[j];
arr[j] = arr[i];
arr[i] = temp;
}
}
temp = arr[j];
arr[j] = arr[i];
arr[i] = temp;
temp = arr[j];
arr[j] = arr[i];
arr[i] = temp;
}
}
Object o1 = arr[i];
Object o2 = arr1[i];
if (o1 != o2) {
return false;
return true;
} else {
return false;
tempArr[i] = arr[arrIndex--];
} else if (!inserted) {
tempArr[i] = k;
inserted = true;
} else {
tempArr[i] = arr[arrIndex--];
return tempArr;
2.
package control;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
import java.net.SocketException;
import java.util.logging.Level;
import java.util.logging.Logger;
import model.Answer;
import model.Student;
public class Final_NumericServer extends Thread {
Server mainServerThread;
this.server = ss;
this.mainServerThread.updateView(student);
this.mainServerThread.updateAnswerList(answer);
return this.mainServerThread.getAnswer(student);
this.mainServerThread.addStudent(s);
this.mainServerThread = main;
try {
clientThread.start();
var3.printStackTrace();
try {
System.out.println(var2);
super.run();
try {
this.openServer();
this.listening();
3.
package control;
import java.rmi.Remote;
import java.rmi.RemoteException;
import model.ServerConfiguration;
import model.Student;
4.
package control;
import java.io.DataInputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.net.Socket;
import java.net.SocketException;
import java.util.logging.Level;
import java.util.logging.Logger;
import model.Answer;
import model.Student;
Socket clientSocket;
ObjectServer serverControl;
ObjectInputStream is;
ObjectOutputStream os;
DataInputStream dis;
this.clientSocket = s;
this.serverControl = serverControl;
try {
this.student = (Student)this.is.readObject();
if (this.student.getMaSV() == null) {
return false;
this.serverControl.addStudent(this.student);
this.answer = this.serverControl.getAnswer(this.student);
if (this.answer == null) {
System.out.println("Got a new registration, initiate answer");
this.answer.setAlreadyRegistration(true);
} else {
this.answer.setStudent(this.student);
this.answer.setAlreadyRegistration(true);
this.serverControl.updateAnswerList(this.answer);
this.serverControl.updateView(this.student);
return true;
var7.printStackTrace();
try {
this.is.close();
this.os.close();
if (this.clientSocket != null) {
try {
this.clientSocket.close();
var8.printStackTrace();
try {
this.is.close();
this.os.close();
if (this.clientSocket != null) {
try {
this.clientSocket.close();
return false;
super.run();
try {
this.checkStudentAnswer();
this.os.writeObject(this.answer);
var31.printStackTrace();
if (this.clientSocket != null) {
try {
this.clientSocket.close();
var32.printStackTrace();
try {
this.is.close();
this.os.close();
}
}
if (this.clientSocket != null) {
try {
this.clientSocket.close();
var33.printStackTrace();
try {
this.is.close();
this.os.close();
if (this.clientSocket != null) {
try {
this.clientSocket.close();
}
} finally {
try {
this.is.close();
this.os.close();
if (this.clientSocket != null) {
try {
this.clientSocket.close();
5.
package control;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
import java.net.SocketException;
import java.util.logging.Level;
import java.util.logging.Logger;
import model.Answer;
import model.Student;
Server mainServerThread;
Student input;
this.myServer = ss;
this.mainServerThread.updateView(student);
this.mainServerThread.updateAnswerList(answer);
return this.mainServerThread.getAnswer(student);
this.mainServerThread.addStudent(s);
}
this.mainServerThread = main;
while(true) {
try {
clientThread.start();
var3.printStackTrace();
try {
System.out.println(var2);
this.openServer();
try {
this.listening();
6.
package control;
import java.rmi.RemoteException;
import java.rmi.registry.LocateRegistry;
import java.rmi.registry.Registry;
import java.rmi.server.UnicastRemoteObject;
import java.util.ArrayList;
import java.util.Iterator;
import model.ServerConfiguration;
import model.Student;
if (this.studentGetDesList != null) {
Iterator it = this.studentGetDesList.iterator();
Student next;
do {
if (!it.hasNext()) {
return false;
next = (Student)it.next();
} while(!next.getMaSV().equalsIgnoreCase(maSV));
return true;
} else {
return false;
reg.rebind("Ca2_Server", this);
if (this.studentGetDesList == null) {
this.studentGetDesList.add(student);
config.setStringServerPort(11001);
config.setCode(Integer.valueOf(student.getMaSV().trim().charAt(student.getMaSV().length() - 1)) %
2);
return config;
} else {
return null;
if (this.studentGetDesList == null) {
if (!this.isExist(student.getMaSV())) {
this.studentGetDesList.add(student);
config.setNumericServerPort(11002);
config.setCode(Integer.valueOf(student.getMaSV().trim().charAt(student.getMaSV().length() - 1)) %
2);
return config;
} else {
return null;
}
return this.studentGetDesList;
7.
package control;
import java.rmi.RemoteException;
import java.util.ArrayList;
import java.util.Iterator;
import model.Answer;
import model.Student;
import view.ClientList;
Student input;
ClientList view;
public Server(ClientList v) {
this.view = v;
this.view.setVisible(true);
this.objectServerThread.start();
this.stringServerThread.start();
this.numericServerThread.start();
if (this.svList == null) {
this.svList.add(s);
} else {
Iterator<Student> it = this.svList.iterator();
while(it.hasNext()) {
isNew = false;
break;
}
if (isNew) {
this.svList.add(s);
Iterator it = this.svList.iterator();
Student next;
do {
if (!it.hasNext()) {
return null;
next = (Student)it.next();
} while(!next.getMaSV().equalsIgnoreCase(maSV));
return next;
Iterator it = this.answerList.iterator();
Answer next;
do {
if (!it.hasNext()) {
return null;
next = (Answer)it.next();
} while(!next.getStudent().getMaSV().equalsIgnoreCase(student.getMaSV()));
return next;
Iterator<Answer> it = this.answerList.iterator();
while(it.hasNext()) {
if (next.getStudent().getMaSV().equalsIgnoreCase(answer.getStudent().getMaSV())) {
isUpdate = true;
next.setAnswers(answer.getAnswers());
next.setIsRights(answer.getIsRights());
next.setQuestions(answer.getQuestions());
if (!isUpdate) {
this.answerList.add(answer);
}
public synchronized void updateView(Student student) {
Iterator it = this.answerList.iterator();
while(it.hasNext()) {
if (next.getStudent().getMaSV().equalsIgnoreCase(student.getMaSV())) {
this.view.updateAnswerView(next);
break;
8.
package control;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.ObjectOutputStream;
import java.net.Socket;
import java.net.SocketException;
import java.util.Random;
import java.util.logging.Level;
import java.util.logging.Logger;
import model.Answer;
import model.StringExam;
import model.Student;
Socket clientSocket;
StringServer serverControl;
DataInputStream is;
DataOutputStream os;
ObjectOutputStream objectStream;
StringExam stringExam;
this.clientSocket = s;
this.serverControl = serverControl;
if (this.student.getMaSV().trim().equalsIgnoreCase("")) {
return false;
} else {
this.answer = this.serverControl.getAnswer(this.student);
if (this.answer == null) {
return false;
} else {
this.answer.setStudent(this.student);
return true;
switch(this.stringExam.getCode()) {
case 1:
this.stringExam.setNumericAnswer(this.is.readInt());
this.answer.updateAnswer(0, this.stringExam.getNumericAnswer(),
this.stringExam.isRightAnswer());
break;
case 2:
this.stringExam.setStringAnswer(this.is.readUTF());
break;
case 3:
this.stringExam.setStringAnswer(this.is.readUTF());
System.out.println(this.stringExam.getStringAnswer());
case 4:
case 7:
default:
break;
case 5:
this.stringExam.setNumericAnswer(this.is.readInt());
System.out.println(this.stringExam.getNumericAnswer());
break;
case 6:
this.stringExam.setNumericAnswer(this.is.readInt());
this.stringExam.setStringAnswer(this.is.readUTF());
System.out.println(this.stringExam.getNumericAnswer());
break;
case 8:
this.stringExam.setStringAnswer(this.is.readUTF());
break;
case 9:
this.stringExam.setNumericAnswer(this.is.readInt());
this.stringExam.setStringAnswer(this.is.readUTF());
break;
case 10:
this.stringExam.setStringAnswer(this.is.readUTF());
strAnswer = strAnswer.trim();
this.answer.updateAnswer(0, this.stringExam.getStringAnswer(),
strAnswer.equals(this.stringExam.getStringAnswer()));
break;
case 11:
this.stringExam.setCharAnswer(this.is.readChar());
}
public void run() {
try {
super.run();
if (!this.initiateStudentAnswer()) {
return;
this.os.writeInt(code);
if (code == 0) {
this.stringExam.stringGenerate(11);
this.os.writeUTF(this.stringExam.getStringOrg());
this.checkResponse();
this.stringExam.stringGenerate(10);
this.os.writeUTF(this.stringExam.getStringOrg());
this.os.writeInt(Integer.valueOf(this.student.getMaSV().trim().substring(this.student.getMaSV().trim().le
ngth() - 1)));
this.checkResponse();
} else if (code == 1) {
this.stringExam.stringGenerate(10);
this.os.writeUTF(this.stringExam.getStringOrg());
this.os.writeInt(Integer.valueOf(this.student.getMaSV().trim().substring(this.student.getMaSV().trim().le
ngth() - 1)));
this.checkResponse();
this.stringExam.stringGenerate(11);
this.os.writeUTF(this.stringExam.getStringOrg());
this.checkResponse();
this.objectStream.writeObject(this.answer);
if (ack.equalsIgnoreCase("ok")) {
this.serverControl.updateAnswerList(this.answer);
this.serverControl.updateView(this.student);
var33.printStackTrace();
if (this.clientSocket != null) {
try {
this.clientSocket.close();
var34.printStackTrace();
try {
this.is.close();
this.os.close();
} catch (IOException var31) {
if (this.clientSocket != null) {
try {
this.clientSocket.close();
var35.printStackTrace();
try {
this.is.close();
this.os.close();
if (this.clientSocket != null) {
try {
this.clientSocket.close();
} finally {
try {
this.is.close();
this.os.close();
if (this.clientSocket != null) {
try {
this.clientSocket.close();
9.
package control;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
import java.net.SocketException;
import java.util.logging.Level;
import java.util.logging.Logger;
import model.Answer;
import model.Student;
Server mainServerThread;
Student input;
try {
super.run();
this.openServer();
this.listening();
this.myServer = ss;
}
public StringServer(Server main) {
this.mainServerThread = main;
try {
System.out.println(var2);
this.mainServerThread.updateView(student);
this.mainServerThread.updateAnswerList(answer);
return this.mainServerThread.getAnswer(student);
this.mainServerThread.addStudent(s);
}
public void listening() throws IOException {
while(true) {
try {
clientThread.start();
var3.printStackTrace();
try {
this.myServer.close();
var2.printStackTrace();
2.1.
package model;
import java.io.Serializable;
boolean[] isRights;
String[] viewString;
return this.alreadyRegistration;
this.alreadyRegistration = alreadyRegistration;
return this.viewString;
this.viewString = result;
return this.questions;
return this.answers;
}
return this.isRights;
public Answer() {
this.questions = questions;
this.answers = answers;
this.isRights = isRights;
this.student = student;
return this.student;
this.student = student;
return this.isRights;
this.answers[code] = answer;
this.isRights[code] = isRight;
if (this.viewString == null) {
if (isRight) {
this.viewString[code] = "Đúng";
} else {
this.viewString[code] = "Sai";
}
return this.isRights[code];
return this.student.getMaSV().equalsIgnoreCase(maSV);
} else {
return false;
2.2.
package model;
public static final String[] STRING_NUMERIC = new String[]{"Khong", "Mot", "Hai", "Ba", "Bon", "Nam",
"Sau", "Bay", "Tam", "Chin"};
2.3.
package model;
int count = 0;
++idx;
return count;
2.4.
package model;
import java.io.Serializable;
int rmiPort = 0;
int stringServerPort = 0;
int numericServerPort = 0;
int code = 0;
return this.rmiServerName;
this.rmiServerName = rmiServerName;
return this.rmiPort;
this.rmiPort = rmiPort;
this.code = code;
return this.stringServerPort;
this.stringServerPort = stringServerPort;
return this.numericServerPort;
this.numericServerPort = numericServerPort;
2.5.
package model;
import java.util.BitSet;
import java.util.Random;
import java.util.StringTokenizer;
public class StringExam {
return this.charAnswer;
this.charAnswer = charAnswer;
public StringExam() {
this.code = code;
this.stringOrg = strOrg;
this.numericAnswer = numericAnswer;
return this.numericAnswer;
return this.stringAnswer;
return this.stringOrg;
return this.code;
this.stringOrg = stringOrg;
this.code = code;
if (this.stringOrg == null) {
System.err.println("Issue with original String");
return false;
} else {
switch(this.code) {
case 1:
case 2:
return this.reverse().equals(this.stringAnswer);
case 3:
return this.stringOrg.equals(this.stringAnswer);
case 4:
case 5:
case 6:
int i = 0;
if (tmp.indexOf(this.stringOrg.charAt(i)) == -1) {
case 7:
case 10:
default:
return false;
case 8:
return this.stringAnswer.equals(this.chuanHoa(this.stringOrg));
case 9:
case 11:
this.code = code;
switch(this.code) {
case 1:
break;
case 2:
break;
case 3:
break;
case 4:
break;
case 5:
break;
case 6:
case 7:
default:
break;
case 8:
break;
case 9:
break;
case 10:
break;
case 11:
break;
case 12:
while(count-- != 0) {
return builder.toString();
while(count-- != 0) {
builder.append("AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZ".charAt(character));
if (count != 0) {
builder.append(" ");
return builder.toString().trim();
while(count-- != 0) {
for(int i = 0; i < (new Random()).nextInt(7) + 1; ++i) {
builder.append("AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZ".charAt(character));
if ((new Random()).nextInt(2) == 1) {
builder.append("0123456789".charAt(numCharacter));
if (count != 0) {
builder.append(" ");
System.out.println(builder);
return builder.toString();
while(count-- != 0) {
int character = 0;
//int character;
if (choice % 2 == 0) {
} else {
character = (int)(Math.random() *
(double)"AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZ".length());
builder.append("AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZ".charAt(character));
return builder.toString();
while(count-- != 0) {
builder.append(ExamCode.STRING_NUMERIC[(int)(Math.random() *
(double)ExamCode.STRING_NUMERIC.length)]);
System.out.println(builder);
return builder.toString().trim();
int count = 0;
++idx;
}
return count;
return 0;
return tmp;
return null;
return 0;
return strOutput;
}
return revString.trim();
int i;
++ctr[str1.charAt(i)];
int ctr_first = 0;
int ctr_second = 0;
ctr_second = ctr_first;
ctr_first = i;
ctr_second = i;
return (char)ctr_second;
int l = stng.length();
int sum = 0;
String temp = "";
if (Character.isDigit(stng.charAt(i))) {
} else {
sum += Integer.parseInt(temp);
temp = "";
return sum;
if (a != 0 && b != 0) {
if (a == b) {
return a;
} else {
} else {
return 0;
}
private boolean coprime(int a, int b) {
return this.gcd(a, b) == 1;
int nextUpper = 0;
if (i == str.length() - 1) {
} else {
if (word.equalsIgnoreCase("khong")) {
} else if (word.equalsIgnoreCase("mot")) {
} else if (word.equalsIgnoreCase("hai")) {
} else if (word.equalsIgnoreCase("ba")) {
} else if (word.equalsIgnoreCase("bon")) {
} else if (word.equalsIgnoreCase("nam")) {
} else if (word.equalsIgnoreCase("bay")) {
} else if (word.equalsIgnoreCase("tam")) {
} else if (word.equalsIgnoreCase("chin")) {
nextUpper = i;
return Integer.valueOf(strNum);
if (n > 0 && n != 1) {
if (n != 3 && n != 2) {
--n;
int s = (int)Math.sqrt((double)n);
int ctr = n;
if (!set.get(p)) {
if (!set.get(p * q)) {
--ctr;
set.set(p * q);
return ctr - 1;
} else {
return 1;
} else {
return 0;
System.out.println(test.countPrimes(9999));
2.6
package model;
import java.io.Serializable;
return this.group;
this.maSV = maSV;
this.hovaten = hovaten;
this.IP = IP;
this.group = group;
return this.maSV;
return this.hovaten;
return this.IP;
this.hovaten = hovaten;
this.IP = IP;
this.group = nhom;
3.
package server;
import control.Server;
import java.io.IOException;
import view.ClientList;
multiServer.openServer();
}
4.1.
package tmp;
import control.Server;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.net.Socket;
import java.net.SocketException;
import java.util.logging.Level;
import java.util.logging.Logger;
import model.Student;
Socket clientSocket;
Server serverControl;
ObjectInputStream is;
ObjectOutputStream os;
this.clientSocket = s;
this.serverControl = serverControl;
try {
super.run();
if (o instanceof Student) {
input.setIP(this.clientSocket.getInetAddress().getHostAddress());
} else {
input.setIP("NaN");
this.serverControl.addStudent(input);
this.is.close();
this.os.close();
this.clientSocket.close();
} else {
this.is.close();
this.os.close();
this.clientSocket.close();
var38.printStackTrace();
if (this.clientSocket != null) {
try {
this.clientSocket.close();
var39.printStackTrace();
try {
this.is.close();
this.os.close();
if (this.clientSocket != null) {
try {
this.clientSocket.close();
var40.printStackTrace();
try {
this.is.close();
this.os.close();
if (this.clientSocket != null) {
try {
this.clientSocket.close();
var41.printStackTrace();
try {
this.is.close();
this.os.close();
if (this.clientSocket != null) {
try {
this.clientSocket.close();
} catch (IOException var31) {
} finally {
try {
this.is.close();
this.os.close();
if (this.clientSocket != null) {
try {
this.clientSocket.close();
4.2
package tmp;
import control.Final_NumericServer;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.ObjectOutputStream;
import java.net.Socket;
import java.net.SocketException;
import java.util.Random;
import java.util.logging.Level;
import java.util.logging.Logger;
import model.Answer;
import model.Student;
Socket clientSocket;
Final_NumericServer serverControl;
DataInputStream is;
DataOutputStream os;
ObjectOutputStream ooS;
int numOperator = 0;
int intAnswer = 0;
this.clientSocket = s;
this.serverControl = serverControl;
this.answer = this.serverControl.getAnswer(this.student);
if (this.answer == null) {
System.out.println("Answer is null");
} else {
this.answer.setStudent(this.student);
int i;
if (this.operatorType.equalsIgnoreCase("java.lang.Integer")) {
switch(returnOperatorCode) {
case 1:
int sum = 0;
for(i = 0; i < this.numOperator; ++i) {
sum += this.intAnswers[i];
if (this.intAnswer == answer) {
} else {
break;
case 2:
this.intAnswer = this.intAnswers[0];
this.intAnswer = this.intAnswers[i];
if (this.intAnswer == answer) {
} else {
}
break;
case 3:
this.intAnswer = this.intAnswers[0];
this.intAnswer = this.intAnswers[i];
if (this.intAnswer == answer) {
} else {
} else {
switch(this.operatorCode) {
case 1:
sum += this.floatAnswers[i];
} else {
break;
case 2:
this.floatAnswer = this.floatAnswers[0];
this.floatAnswer = this.floatAnswers[i];
if ((float)this.intAnswer == answer) {
} else {
break;
case 3:
this.floatAnswer = this.floatAnswers[0];
this.floatAnswer = this.floatAnswers[i];
if ((float)this.intAnswer == answer) {
} else {
this.ooS.writeObject(this.answer);
this.serverControl.updateAnswerList(this.answer);
this.serverControl.updateView(this.student);
this.os.writeInt(this.numOperator);
if ((new Random()).nextInt(1) == 0) {
this.operatorType = "java.lang.Integer";
} else {
this.operatorType = "java.lang.Float";
}
this.os.writeUTF(this.operatorType);
int i;
if (this.operatorType.equalsIgnoreCase("java.lang.Integer")) {
this.os.writeInt(tmp);
this.intAnswers[i] = tmp;
} else {
this.os.writeFloat(tmp);
this.floatAnswers[i] = tmp;
try {
super.run();
this.initiateStudentAnswer();
this.sendQuestion();
this.checkResponse();
this.checkResponse();
this.checkResponse();
var31.printStackTrace();
if (this.clientSocket != null) {
try {
this.clientSocket.close();
Logger.getLogger(NumericClientThread_20102018.class.getName()).log(Level.SEVERE,
(String)null, var30);
var32.printStackTrace();
try {
this.is.close();
this.os.close();
Logger.getLogger(NumericClientThread_20102018.class.getName()).log(Level.SEVERE,
(String)null, var29);
}
if (this.clientSocket != null) {
try {
this.clientSocket.close();
Logger.getLogger(NumericClientThread_20102018.class.getName()).log(Level.SEVERE,
(String)null, var28);
var33.printStackTrace();
try {
this.is.close();
this.os.close();
Logger.getLogger(NumericClientThread_20102018.class.getName()).log(Level.SEVERE,
(String)null, var27);
if (this.clientSocket != null) {
try {
this.clientSocket.close();
Logger.getLogger(NumericClientThread_20102018.class.getName()).log(Level.SEVERE,
(String)null, var26);
}
}
} finally {
try {
this.is.close();
this.os.close();
Logger.getLogger(NumericClientThread_20102018.class.getName()).log(Level.SEVERE,
(String)null, var25);
if (this.clientSocket != null) {
try {
this.clientSocket.close();
Logger.getLogger(NumericClientThread_20102018.class.getName()).log(Level.SEVERE,
(String)null, var24);
4.3
package tmp;
import control.Final_NumericServer;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.ObjectOutputStream;
import java.net.Socket;
import java.net.SocketException;
import java.util.Random;
import java.util.logging.Level;
import java.util.logging.Logger;
import model.Answer;
import model.Student;
Socket clientSocket;
Final_NumericServer serverControl;
DataInputStream is;
DataOutputStream os;
ObjectOutputStream ooS;
int numOperator = 0;
int intAnswer = 0;
this.clientSocket = s;
this.serverControl = serverControl;
this.answer = this.serverControl.getAnswer(this.student);
if (this.answer == null) {
System.out.println("Answer is null");
} else {
this.answer.setStudent(this.student);
switch(code) {
case 1:
} else {
break;
case 2:
} else {
break;
case 3:
if (this.operatorCode == 1) {
this.sortASC(this.intAnswers);
} else {
this.sortDES(this.intAnswers);
if (this.is.readInt() != this.intAnswers[i]) {
isRight = false;
break;
if (isRight) {
this.serverControl.updateAnswerList(this.answer);
this.serverControl.updateView(this.student);
this.os.writeInt(tmp);
this.intAnswers[i] = tmp;
try {
super.run();
this.initiateStudentAnswer();
this.os.writeInt(this.operatorCode);
this.sendQuestion(2);
this.checkResponse(this.operatorCode);
this.sendQuestion(2);
this.checkResponse(this.operatorCode == 1 ? 2 : 1);
this.os.writeInt(this.numOperator);
this.sendQuestion(this.numOperator);
this.checkResponse(3);
this.ooS.writeObject(this.answer);
var31.printStackTrace();
if (this.clientSocket != null) {
try {
this.clientSocket.close();
Logger.getLogger(NumericClientThread_25102018.class.getName()).log(Level.SEVERE,
(String)null, var30);
var32.printStackTrace();
try {
this.is.close();
this.os.close();
} catch (IOException var29) {
Logger.getLogger(NumericClientThread_25102018.class.getName()).log(Level.SEVERE,
(String)null, var29);
if (this.clientSocket != null) {
try {
this.clientSocket.close();
Logger.getLogger(NumericClientThread_25102018.class.getName()).log(Level.SEVERE,
(String)null, var28);
var33.printStackTrace();
try {
this.is.close();
this.os.close();
Logger.getLogger(NumericClientThread_25102018.class.getName()).log(Level.SEVERE,
(String)null, var27);
if (this.clientSocket != null) {
try {
this.clientSocket.close();
Logger.getLogger(NumericClientThread_25102018.class.getName()).log(Level.SEVERE,
(String)null, var26);
} finally {
try {
this.is.close();
this.os.close();
Logger.getLogger(NumericClientThread_25102018.class.getName()).log(Level.SEVERE,
(String)null, var25);
if (this.clientSocket != null) {
try {
this.clientSocket.close();
Logger.getLogger(NumericClientThread_25102018.class.getName()).log(Level.SEVERE,
(String)null, var24);
}
private int USCLN(int a, int b) {
temp = arr[j];
arr[j] = arr[i];
arr[i] = temp;
}
}
temp = arr[j];
arr[j] = arr[i];
arr[i] = temp;
temp = arr[j];
arr[j] = arr[i];
arr[i] = temp;
}
}
temp = arr[j];
arr[j] = arr[i];
arr[i] = temp;
Object o1 = arr[i];
Object o2 = arr1[i];
if (o1 != o2) {
return false;
}
return true;
} else {
return false;
tempArr[i] = arr[arrIndex--];
} else if (!inserted) {
tempArr[i] = k;
inserted = true;
} else {
tempArr[i] = arr[arrIndex--];
return tempArr;
4.4
package tmp;
import control.ObjectServer;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.net.Socket;
import java.net.SocketException;
import java.util.logging.Level;
import java.util.logging.Logger;
import model.Answer;
import model.Student;
Socket clientSocket;
ObjectServer serverControl;
ObjectInputStream is;
ObjectOutputStream os;
this.clientSocket = s;
this.serverControl = serverControl;
try {
this.student = (Student)this.is.readObject();
if (this.student.getMaSV() == null) {
return;
this.serverControl.addStudent(this.student);
this.answer = this.serverControl.getAnswer(this.student);
if (this.answer == null) {
this.answer.setAlreadyRegistration(true);
} else {
this.answer.setStudent(this.student);
this.answer.setAlreadyRegistration(true);
this.serverControl.updateAnswerList(this.answer);
this.serverControl.updateView(this.student);
var7.printStackTrace();
try {
this.is.close();
this.os.close();
Logger.getLogger(NumericClientThread_20102018.class.getName()).log(Level.SEVERE,
(String)null, var6);
}
if (this.clientSocket != null) {
try {
this.clientSocket.close();
Logger.getLogger(NumericClientThread_20102018.class.getName()).log(Level.SEVERE,
(String)null, var5);
var8.printStackTrace();
try {
this.is.close();
this.os.close();
Logger.getLogger(NumericClientThread_20102018.class.getName()).log(Level.SEVERE,
(String)null, var8);
if (this.clientSocket != null) {
try {
this.clientSocket.close();
Logger.getLogger(NumericClientThread_20102018.class.getName()).log(Level.SEVERE,
(String)null, var8);
}
}
super.run();
try {
this.initiateStudentAnswer();
this.os.writeObject(this.answer);
var31.printStackTrace();
if (this.clientSocket != null) {
try {
this.clientSocket.close();
Logger.getLogger(NumericClientThread_20102018.class.getName()).log(Level.SEVERE,
(String)null, var30);
var32.printStackTrace();
if (this.is != null && this.os != null) {
try {
this.is.close();
this.os.close();
Logger.getLogger(NumericClientThread_20102018.class.getName()).log(Level.SEVERE,
(String)null, var29);
if (this.clientSocket != null) {
try {
this.clientSocket.close();
Logger.getLogger(NumericClientThread_20102018.class.getName()).log(Level.SEVERE,
(String)null, var28);
var33.printStackTrace();
try {
this.is.close();
this.os.close();
Logger.getLogger(NumericClientThread_20102018.class.getName()).log(Level.SEVERE,
(String)null, var27);
}
}
if (this.clientSocket != null) {
try {
this.clientSocket.close();
Logger.getLogger(NumericClientThread_20102018.class.getName()).log(Level.SEVERE,
(String)null, var26);
} finally {
try {
this.is.close();
this.os.close();
Logger.getLogger(NumericClientThread_20102018.class.getName()).log(Level.SEVERE,
(String)null, var25);
if (this.clientSocket != null) {
try {
this.clientSocket.close();
Logger.getLogger(NumericClientThread_20102018.class.getName()).log(Level.SEVERE,
(String)null, var24);
}
}
4.5
package tmp;
import control.StringServer;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.ObjectOutputStream;
import java.net.Socket;
import java.net.SocketException;
import java.util.Random;
import java.util.logging.Level;
import java.util.logging.Logger;
import model.Answer;
import model.StringExam;
import model.Student;
Socket clientSocket;
StringServer serverControl;
DataInputStream is;
DataOutputStream os;
ObjectOutputStream objectStream;
StringExam stringExam;
Answer answer = null;
this.clientSocket = s;
this.serverControl = serverControl;
this.answer = this.serverControl.getAnswer(this.student);
if (this.answer == null) {
System.out.println("Answer is null");
} else {
this.answer.setStudent(this.student);
switch(this.stringExam.getCode()) {
case 1:
this.stringExam.setNumericAnswer(this.is.readInt());
if (this.stringExam.getNumericAnswer() == this.stringExam.getStringOrg().length()) {
this.os.writeUTF("Dap an Dung");
} else {
this.answer.updateAnswer(0, this.stringExam.getNumericAnswer(),
this.stringExam.isRightAnswer());
break;
case 2:
this.stringExam.setStringAnswer(this.is.readUTF());
if (this.stringExam.isRightAnswer()) {
this.os.writeUTF("Dap an dung");
} else {
this.os.writeUTF("Dap an Sai");
break;
case 3:
this.stringExam.setStringAnswer(this.is.readUTF());
System.out.println(this.stringExam.getStringAnswer());
break;
case 4:
this.stringExam.setNumericAnswer(this.is.readInt());
System.out.println(this.stringExam.getNumericAnswer());
break;
case 5:
this.stringExam.setNumericAnswer(this.is.readInt());
System.out.println(this.stringExam.getNumericAnswer());
try {
super.run();
this.initiateStudentAnswer();
this.os.writeInt(this.stringExam.getCode());
this.os.writeUTF(this.stringExam.getStringOrg());
this.checkResponse();
this.serverControl.updateAnswerList(this.answer);
this.serverControl.updateView(this.student);
var31.printStackTrace();
if (this.clientSocket != null) {
try {
this.clientSocket.close();
var32.printStackTrace();
try {
this.is.close();
this.os.close();
if (this.clientSocket != null) {
try {
this.clientSocket.close();
var33.printStackTrace();
try {
this.is.close();
this.os.close();
if (this.clientSocket != null) {
try {
this.clientSocket.close();
} finally {
try {
this.is.close();
this.os.close();
if (this.clientSocket != null) {
try {
this.clientSocket.close();
4.6
package tmp;
import control.StringServer;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.ObjectOutputStream;
import java.net.Socket;
import java.net.SocketException;
import java.util.Random;
import java.util.logging.Level;
import java.util.logging.Logger;
import model.Answer;
import model.StringExam;
import model.Student;
Socket clientSocket;
StringServer serverControl;
DataInputStream is;
DataOutputStream os;
ObjectOutputStream objectStream;
StringExam stringExam;
this.clientSocket = s;
this.serverControl = serverControl;
this.answer = this.serverControl.getAnswer(this.student);
if (this.answer == null) {
System.out.println("Answer is null");
} else {
this.answer.setStudent(this.student);
switch(this.stringExam.getCode()) {
case 1:
this.stringExam.setNumericAnswer(this.is.readInt());
System.out.println("Ket qua nhan duoc la :" + this.stringExam.getNumericAnswer());
this.answer.updateAnswer(0, this.stringExam.getNumericAnswer(),
this.stringExam.isRightAnswer());
break;
case 2:
this.stringExam.setStringAnswer(this.is.readUTF());
break;
case 3:
this.stringExam.setStringAnswer(this.is.readUTF());
System.out.println(this.stringExam.getStringAnswer());
case 4:
case 7:
default:
break;
case 5:
this.stringExam.setNumericAnswer(this.is.readInt());
System.out.println(this.stringExam.getNumericAnswer());
break;
case 6:
this.stringExam.setNumericAnswer(this.is.readInt());
this.stringExam.setStringAnswer(this.is.readUTF());
System.out.println(this.stringExam.getNumericAnswer());
break;
case 8:
this.stringExam.setStringAnswer(this.is.readUTF());
break;
case 9:
this.stringExam.setNumericAnswer(this.is.readInt());
this.stringExam.setStringAnswer(this.is.readUTF());
try {
super.run();
this.initiateStudentAnswer();
int code = (Integer.valueOf(this.student.getMaSV().charAt(this.student.getMaSV().length() - 1)) +
Integer.valueOf(this.student.getMaSV().charAt(this.student.getMaSV().length() - 2)) +
Integer.valueOf(this.student.getMaSV().charAt(this.student.getMaSV().length() - 2))) % 2;
this.os.writeInt(code);
StringBuilder subStringBuilder;
int i;
int countRespond;
int character;
StringBuilder longStringBuilder;
if (code == 0) {
this.stringExam.stringGenerate(9);
this.os.writeUTF(this.stringExam.getStringOrg());
this.checkResponse();
countRespond = (int)(Math.random() *
(double)"AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZ".length());
subStringBuilder.append("AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZ".charAt(coun
tRespond));
countRespond = 0;
while(true) {
this.os.writeUTF(subStringBuilder.toString());
countRespond = this.is.readInt();
break;
character = (int)(Math.random() *
(double)"AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZ".length());
longStringBuilder.append(subStringBuilder.toString());
longStringBuilder.append("AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZ".charAt(char
acter));
++countRespond;
} else {
countRespond = (int)(Math.random() *
(double)"AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZ".length());
subStringBuilder.append("AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZ".charAt(coun
tRespond));
longStringBuilder.append(subStringBuilder.toString());
longStringBuilder.append("AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZ".charAt(char
acter));
this.os.writeUTF(longStringBuilder.toString());
this.os.writeUTF(subStringBuilder.toString());
countRespond = this.is.readInt();
this.stringExam.stringGenerate(9);
this.os.writeUTF(this.stringExam.getStringOrg());
this.checkResponse();
this.serverControl.updateAnswerList(this.answer);
this.serverControl.updateView(this.student);
this.objectStream.writeObject(this.answer);
var34.printStackTrace();
if (this.clientSocket != null) {
try {
this.clientSocket.close();
var35.printStackTrace();
try {
this.is.close();
this.os.close();
Logger.getLogger(StringClientThread_06112018.class.getName()).log(Level.SEVERE, (String)null,
var32);
if (this.clientSocket != null) {
try {
this.clientSocket.close();
Logger.getLogger(StringClientThread_06112018.class.getName()).log(Level.SEVERE, (String)null,
var31);
var36.printStackTrace();
if (this.is != null && this.os != null) {
try {
this.is.close();
this.os.close();
Logger.getLogger(StringClientThread_06112018.class.getName()).log(Level.SEVERE, (String)null,
var30);
if (this.clientSocket != null) {
try {
this.clientSocket.close();
Logger.getLogger(StringClientThread_06112018.class.getName()).log(Level.SEVERE, (String)null,
var29);
} finally {
try {
this.is.close();
this.os.close();
Logger.getLogger(StringClientThread_06112018.class.getName()).log(Level.SEVERE, (String)null,
var28);
}
if (this.clientSocket != null) {
try {
this.clientSocket.close();
Logger.getLogger(StringClientThread_06112018.class.getName()).log(Level.SEVERE, (String)null,
var27);
4.7.
package tmp;
import control.StringServer;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.ObjectOutputStream;
import java.net.Socket;
import java.net.SocketException;
import java.util.Random;
import java.util.logging.Level;
import java.util.logging.Logger;
import model.Answer;
import model.StringExam;
import model.Student;
public class StringClientThread_06112018_1 extends Thread {
Socket clientSocket;
StringServer serverControl;
DataInputStream is;
DataOutputStream os;
ObjectOutputStream objectStream;
StringExam stringExam;
this.clientSocket = s;
this.serverControl = serverControl;
this.answer = this.serverControl.getAnswer(this.student);
if (this.answer == null) {
System.out.println("Answer is null");
} else {
this.answer.setStudent(this.student);
}
}
switch(this.stringExam.getCode()) {
case 1:
this.stringExam.setNumericAnswer(this.is.readInt());
this.answer.updateAnswer(0, this.stringExam.getNumericAnswer(),
this.stringExam.isRightAnswer());
break;
case 2:
this.stringExam.setStringAnswer(this.is.readUTF());
break;
case 3:
this.stringExam.setStringAnswer(this.is.readUTF());
System.out.println(this.stringExam.getStringAnswer());
case 4:
case 7:
default:
break;
case 5:
this.stringExam.setNumericAnswer(this.is.readInt());
System.out.println(this.stringExam.getNumericAnswer());
break;
case 6:
this.stringExam.setNumericAnswer(this.is.readInt());
this.stringExam.setStringAnswer(this.is.readUTF());
System.out.println(this.stringExam.getNumericAnswer());
break;
case 8:
this.stringExam.setStringAnswer(this.is.readUTF());
break;
case 9:
this.stringExam.setNumericAnswer(this.is.readInt());
this.stringExam.setStringAnswer(this.is.readUTF());
try {
super.run();
this.is = new DataInputStream(this.clientSocket.getInputStream());
this.initiateStudentAnswer();
this.os.writeInt(code);
StringBuilder subStringBuilder;
int i;
int countRespond;
int character;
StringBuilder longStringBuilder;
if (code == 0) {
this.stringExam.stringGenerate(2);
this.os.writeUTF(this.stringExam.getStringOrg());
this.checkResponse();
countRespond = (int)(Math.random() *
(double)"AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZ".length());
subStringBuilder.append("AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZ".charAt(coun
tRespond));
countRespond = 0;
while(true) {
this.os.writeUTF(longStringBuilder.toString());
this.os.writeUTF(subStringBuilder.toString());
countRespond = this.is.readInt();
break;
character = (int)(Math.random() *
(double)"AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZ".length());
longStringBuilder.append(subStringBuilder.toString());
longStringBuilder.append("AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZ".charAt(char
acter));
++countRespond;
} else {
countRespond = (int)(Math.random() *
(double)"AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZ".length());
subStringBuilder.append("AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZ".charAt(coun
tRespond));
}
System.out.println("Sub-String: " + subStringBuilder.toString());
character = (int)(Math.random() *
(double)"AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZ".length());
longStringBuilder.append(subStringBuilder.toString());
longStringBuilder.append("AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZ".charAt(char
acter));
this.os.writeUTF(longStringBuilder.toString());
this.os.writeUTF(subStringBuilder.toString());
countRespond = this.is.readInt();
this.stringExam.stringGenerate(2);
this.os.writeUTF(this.stringExam.getStringOrg());
this.checkResponse();
this.serverControl.updateAnswerList(this.answer);
this.serverControl.updateView(this.student);
this.objectStream.writeObject(this.answer);
var34.printStackTrace();
if (this.clientSocket != null) {
try {
this.clientSocket.close();
Logger.getLogger(StringClientThread_06112018_1.class.getName()).log(Level.SEVERE,
(String)null, var33);
var35.printStackTrace();
try {
this.is.close();
this.os.close();
Logger.getLogger(StringClientThread_06112018_1.class.getName()).log(Level.SEVERE,
(String)null, var32);
if (this.clientSocket != null) {
try {
this.clientSocket.close();
Logger.getLogger(StringClientThread_06112018_1.class.getName()).log(Level.SEVERE,
(String)null, var31);
}
} catch (Exception var36) {
var36.printStackTrace();
try {
this.is.close();
this.os.close();
Logger.getLogger(StringClientThread_06112018_1.class.getName()).log(Level.SEVERE,
(String)null, var30);
if (this.clientSocket != null) {
try {
this.clientSocket.close();
Logger.getLogger(StringClientThread_06112018_1.class.getName()).log(Level.SEVERE,
(String)null, var29);
} finally {
try {
this.is.close();
this.os.close();
if (this.clientSocket != null) {
try {
this.clientSocket.close();
Logger.getLogger(StringClientThread_06112018_1.class.getName()).log(Level.SEVERE,
(String)null, var27);
4.8
package tmp;
import control.StringServer;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.ObjectOutputStream;
import java.net.Socket;
import java.net.SocketException;
import java.util.Random;
import java.util.logging.Level;
import java.util.logging.Logger;
import model.Answer;
import model.StringExam;
import model.Student;
Socket clientSocket;
StringServer serverControl;
DataInputStream is;
DataOutputStream os;
ObjectOutputStream objectStream;
StringExam stringExam;
this.clientSocket = s;
this.serverControl = serverControl;
this.answer = this.serverControl.getAnswer(this.student);
if (this.answer == null) {
System.out.println("Answer is null");
this.answer = new Answer(this.student);
} else {
this.answer.setStudent(this.student);
switch(this.stringExam.getCode()) {
case 1:
this.stringExam.setNumericAnswer(this.is.readInt());
this.answer.updateAnswer(0, this.stringExam.getNumericAnswer(),
this.stringExam.isRightAnswer());
break;
case 2:
this.stringExam.setStringAnswer(this.is.readUTF());
break;
case 3:
this.stringExam.setStringAnswer(this.is.readUTF());
System.out.println(this.stringExam.getStringAnswer());
case 4:
default:
break;
case 5:
this.stringExam.setNumericAnswer(this.is.readInt());
System.out.println(this.stringExam.getNumericAnswer());
break;
case 6:
this.stringExam.setNumericAnswer(this.is.readInt());
this.stringExam.setStringAnswer(this.is.readUTF());
System.out.println(this.stringExam.getNumericAnswer());
try {
super.run();
this.initiateStudentAnswer();
this.os.writeInt(code);
StringBuilder subStringBuilder;
int i;
int countRespond;
int character;
StringBuilder longStringBuilder;
if (!code1) {
this.stringExam.stringGenerate(6);
this.os.writeUTF(this.stringExam.getStringOrg());
this.checkResponse();
countRespond = (int)(Math.random() *
(double)"AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZ".length());
subStringBuilder.append("AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZ".charAt(coun
tRespond));
this.os.writeUTF(subStringBuilder.toString());
countRespond = 0;
while(true) {
this.os.writeUTF(longStringBuilder.toString());
countRespond = this.is.readInt();
character = (int)(Math.random() *
(double)"AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZ".length());
longStringBuilder.append(subStringBuilder.toString());
longStringBuilder.append("AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZ".charAt(char
acter));
++countRespond;
} else {
countRespond = (int)(Math.random() *
(double)"AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZ".length());
subStringBuilder.append("AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZ".charAt(coun
tRespond));
this.os.writeUTF(subStringBuilder.toString());
character = (int)(Math.random() *
(double)"AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZ".length());
longStringBuilder.append(subStringBuilder.toString());
longStringBuilder.append("AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZ".charAt(char
acter));
this.os.writeUTF(longStringBuilder.toString());
countRespond = this.is.readInt();
this.serverControl.updateAnswerList(this.answer);
this.serverControl.updateView(this.student);
this.objectStream.writeObject(this.answer);
var34.printStackTrace();
if (this.clientSocket != null) {
try {
this.clientSocket.close();
Logger.getLogger(StringClientThread_20102018.class.getName()).log(Level.SEVERE, (String)null,
var33);
try {
this.is.close();
this.os.close();
Logger.getLogger(StringClientThread_20102018.class.getName()).log(Level.SEVERE, (String)null,
var32);
if (this.clientSocket != null) {
try {
this.clientSocket.close();
Logger.getLogger(StringClientThread_20102018.class.getName()).log(Level.SEVERE, (String)null,
var31);
var36.printStackTrace();
try {
this.is.close();
this.os.close();
Logger.getLogger(StringClientThread_20102018.class.getName()).log(Level.SEVERE, (String)null,
var30);
}
if (this.clientSocket != null) {
try {
this.clientSocket.close();
Logger.getLogger(StringClientThread_20102018.class.getName()).log(Level.SEVERE, (String)null,
var29);
} finally {
try {
this.is.close();
this.os.close();
Logger.getLogger(StringClientThread_20102018.class.getName()).log(Level.SEVERE, (String)null,
var28);
if (this.clientSocket != null) {
try {
this.clientSocket.close();
Logger.getLogger(StringClientThread_20102018.class.getName()).log(Level.SEVERE, (String)null,
var27);
}
}
4.9
package tmp;
import control.StringServer;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.ObjectOutputStream;
import java.net.Socket;
import java.net.SocketException;
import java.util.Random;
import java.util.logging.Level;
import java.util.logging.Logger;
import model.Answer;
import model.StringExam;
import model.Student;
Socket clientSocket;
StringServer serverControl;
DataInputStream is;
DataOutputStream os;
ObjectOutputStream objectStream;
StringExam stringExam;
this.clientSocket = s;
this.serverControl = serverControl;
this.answer = this.serverControl.getAnswer(this.student);
if (this.answer == null) {
System.out.println("Answer is null");
} else {
this.answer.setStudent(this.student);
switch(this.stringExam.getCode()) {
case 1:
this.stringExam.setNumericAnswer(this.is.readInt());
this.answer.updateAnswer(0, this.stringExam.getNumericAnswer(),
this.stringExam.isRightAnswer());
break;
case 2:
this.stringExam.setStringAnswer(this.is.readUTF());
break;
case 3:
this.stringExam.setStringAnswer(this.is.readUTF());
System.out.println(this.stringExam.getStringAnswer());
case 4:
case 7:
default:
break;
case 5:
this.stringExam.setNumericAnswer(this.is.readInt());
System.out.println(this.stringExam.getNumericAnswer());
break;
case 6:
this.stringExam.setNumericAnswer(this.is.readInt());
this.stringExam.setStringAnswer(this.is.readUTF());
break;
case 8:
this.stringExam.setStringAnswer(this.is.readUTF());
try {
super.run();
this.initiateStudentAnswer();
this.os.writeInt(code);
StringBuilder subStringBuilder;
int i;
int countRespond;
int character;
StringBuilder longStringBuilder;
if (code == 0) {
this.stringExam.stringGenerate(8);
this.os.writeUTF(this.stringExam.getStringOrg());
this.checkResponse();
countRespond = (int)(Math.random() *
(double)"AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZ".length());
subStringBuilder.append("AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZ".charAt(coun
tRespond));
this.os.writeUTF(subStringBuilder.toString());
countRespond = 0;
while(true) {
this.os.writeUTF(longStringBuilder.toString());
countRespond = this.is.readInt();
break;
character = (int)(Math.random() *
(double)"AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZ".length());
longStringBuilder.append(subStringBuilder.toString());
longStringBuilder.append("AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZ".charAt(char
acter));
++countRespond;
} else {
countRespond = (int)(Math.random() *
(double)"AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZ".length());
subStringBuilder.append("AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZ".charAt(coun
tRespond));
this.os.writeUTF(subStringBuilder.toString());
character = (int)(Math.random() *
(double)"AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZ".length());
longStringBuilder.append(subStringBuilder.toString());
longStringBuilder.append("AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZ".charAt(char
acter));
this.os.writeUTF(longStringBuilder.toString());
countRespond = this.is.readInt();
this.answer.updateAnswer(1, countRespond, countRespond ==
this.stringExam.countSubstring(subStringBuilder.toString(), longStringBuilder.toString()));
this.stringExam.stringGenerate(8);
this.os.writeUTF(this.stringExam.getStringOrg());
this.checkResponse();
this.serverControl.updateAnswerList(this.answer);
this.serverControl.updateView(this.student);
this.objectStream.writeObject(this.answer);
var34.printStackTrace();
if (this.clientSocket != null) {
try {
this.clientSocket.close();
Logger.getLogger(StringClientThread_25102018.class.getName()).log(Level.SEVERE, (String)null,
var33);
var35.printStackTrace();
try {
this.is.close();
this.os.close();
Logger.getLogger(StringClientThread_25102018.class.getName()).log(Level.SEVERE, (String)null,
var32);
if (this.clientSocket != null) {
try {
this.clientSocket.close();
Logger.getLogger(StringClientThread_25102018.class.getName()).log(Level.SEVERE, (String)null,
var31);
var36.printStackTrace();
try {
this.is.close();
this.os.close();
Logger.getLogger(StringClientThread_25102018.class.getName()).log(Level.SEVERE, (String)null,
var30);
if (this.clientSocket != null) {
try {
this.clientSocket.close();
Logger.getLogger(StringClientThread_25102018.class.getName()).log(Level.SEVERE, (String)null,
var29);
} finally {
try {
this.is.close();
this.os.close();
Logger.getLogger(StringClientThread_25102018.class.getName()).log(Level.SEVERE, (String)null,
var28);
if (this.clientSocket != null) {
try {
this.clientSocket.close();
Logger.getLogger(StringClientThread_25102018.class.getName()).log(Level.SEVERE, (String)null,
var27);
}
}
5.
package view;
import java.awt.EventQueue;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Iterator;
import java.util.Vector;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.GroupLayout;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;
import javax.swing.GroupLayout.Alignment;
import javax.swing.UIManager.LookAndFeelInfo;
import javax.swing.table.DefaultTableModel;
import model.Answer;
import model.Student;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.CreationHelper;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
DefaultTableModel model;
private String[] columnNames = new String[]{"Số TT", "Mã SV", "Họ và Tên", "IP", "Nhóm", "Đăng ký",
"CAESAR", "SecondChar", "-", "USCLN", "Prime"};
public ClientList() {
this.initComponents();
this.jTabClientList.setModel(this.model);
}
public void addNewRow(Student sv) {
if (this.model.getRowCount() == 0) {
this.addNewRows(answer);
} else {
Iterator it = rows.iterator();
int rowPos = 0;
while(it.hasNext()) {
++rowPos;
break;
if (!isUpdate) {
this.addNewRows(answer);
this.jMenu1.setText("jMenu1");
this.setDefaultCloseOperation(3);
this.addWindowListener(new WindowAdapter() {
ClientList.this.windowClosing(evt);
});
this.jScrollPane1.setViewportView(this.jTabClientList);
this.jMenu2.setText("Export Excel");
this.jMenuItem1.setText("Save Excel");
this.jMenuItem1.addActionListener(new ActionListener() {
ClientList.this.jMenuItem1ActionPerformed(evt);
});
this.jMenu2.add(this.jMenuItem1);
this.jMenuBar1.add(this.jMenu2);
this.setJMenuBar(this.jMenuBar1);
this.getContentPane().setLayout(layout);
layout.setHorizontalGroup(layout.createParallelGroup(Alignment.LEADING).addGroup(layout.createSeq
uentialGroup().addContainerGap().addComponent(this.jScrollPane1, -1, 507,
32767).addContainerGap()));
layout.setVerticalGroup(layout.createParallelGroup(Alignment.LEADING).addGroup(layout.createSeque
ntialGroup().addContainerGap().addComponent(this.jScrollPane1, -1, 339, 32767).addContainerGap()));
this.pack();
firstRow.createCell(j).setCellValue(this.columnNames[j]);
cell = row.createCell(j);
cell.setCellValue(String.valueOf(this.model.getValueAt(i, j)));
try {
formatter.format(currentTime);
out.close();
try {
if ("Nimbus".equals(info.getName())) {
UIManager.setLookAndFeel(info.getClassName());
break;
EventQueue.invokeLater(new Runnable() {
client.setVisible(true);
client.addNewRow((Student)null);
});