对象练习
-
通过输入学号,打印学生信息
package wu.Demo01; import java.util.Scanner; public class Server { public static void main(String[] args) { Student s1 = new Student(); Student s2 = new Student(); Student s3 = new Student(); Student s4 = new Student(); s1.student(180110,"张三",85,90); s2.student(180111,"李四",80,91); s3.student(180112,"王五",82,92); s4.student(180113,"刘立群",75,95); System.out.println("请输入学号:"); Scanner scanner = new Scanner(System.in); int sum = scanner.nextInt(); if (sum == 180110) { System.out.print("学号:" + s1.id + "\n姓名:" + s1.name + "\n英语:" + s1.english + "\n数学:" + s1.math); }else if(sum == 180111) { System.out.print("学号:" + s2.id + "\n姓名:" + s2.name + "\n英语:" + s2.english + "\n数学:" + s2.math); }else if(sum == 180112) { System.out.print("学号:" + s3.id + "\n姓名:" + s3.name + "\n英语:" + s3.english + "\n数学:" + s3.math); }else { System.out.print("学号:" + s4.id + "\n姓名:" + s4.name + "\n英语:" + s4.english + "\n数学:" + s4.math); } } } class Student{ int id; String name; int english; int math; public void student(){ } public void student(int id, String name, int english,int math){ this.id = id; this.name = name; this.english = english; this.math = math; } }
-
师生咨询
package Talk.wu;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetSocketAddress;
import java.net.SocketException;
public class TalkSend implements Runnable {
DatagramSocket socket = null;
BufferedReader reader = null;
private int fromPort;
private String toIP;
private int toPort;
public TalkSend(int fromPort, String toIP, int toPort) {
this.fromPort = fromPort;
this.toIP = toIP;
this.toPort = toPort;
try {
socket = new DatagramSocket(fromPort);
reader = new BufferedReader(new InputStreamReader(System.in));
} catch (SocketException e) {
e.printStackTrace();
}
}
@Override
public void run() {
while (true) {
try {
String data = reader.readLine();
final byte[] datas = data.getBytes();
DatagramPacket packet = new DatagramPacket(datas, 0, datas.length,
new InetSocketAddress(this.toIP,this.toPort));
socket.send(packet);
if (data.equals("bye")){
break;
}
} catch (IOException e) {
e.printStackTrace();
}
}
socket.close();
}
}
package Talk.wu;
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.SocketException;
public class TalkReceive implements Runnable {
DatagramSocket socket = null;
private int port;
private String msgFrom;
public TalkReceive(int port,String msgFrom) {
this.port = port;
this.msgFrom = msgFrom;
try {
socket = new DatagramSocket(port);
} catch (SocketException e) {
e.printStackTrace();
}
}
@Override
public void run() {
while (true) {
try {
byte[] container = new byte[1024];
DatagramPacket packet = new DatagramPacket(container, 0, container.length);
socket.receive(packet);
byte[] data = packet.getData();
String reveiveData = new String(data, 0, data.length);
System.out.println(msgFrom + ":" + reveiveData);
if (reveiveData.equals("bye")){
break;
}
socket.receive(packet);
} catch (IOException e) {
e.printStackTrace();
}
}
socket.close();
}
}
package Talk.wu;
public class Student {
public static void main(String[] args) {
new Thread(new TalkSend(6666,"localhost",8888)).start();
new Thread(new TalkReceive(7777,"老师")).start();
}
}
package Talk.wu;
public class Teacher {
public static void main(String[] args) {
new Thread(new TalkSend(5555,"localhost",7777)).start();
new Thread(new TalkReceive(8888,"学生")).start();
}
}