帮我写一个QQ的简易java代码
时间: 2023-08-22 07:03:37 浏览: 39
好的,以下是一个简单的 Java 代码,实现了基本的 QQ 功能,包括用户注册、用户登录、添加好友、发送消息等。注意:这仅仅是一个简单的示例代码,实际应用中可能需要更多的功能和安全性措施。
```java
import java.util.ArrayList;
import java.util.Scanner;
public class QQ {
static ArrayList<User> userList = new ArrayList<User>();
static ArrayList<Friendship> friendshipList = new ArrayList<Friendship>();
static ArrayList<Message> messageList = new ArrayList<Message>();
static int userIdCounter = 1;
static int friendshipIdCounter = 1;
static int messageIdCounter = 1;
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while (true) {
System.out.println("请选择操作:");
System.out.println("1. 用户注册");
System.out.println("2. 用户登录");
System.out.println("3. 退出");
int choice = scanner.nextInt();
if (choice == 1) {
registerUser();
} else if (choice == 2) {
User user = loginUser();
if (user != null) {
System.out.println("登录成功!");
while (true) {
System.out.println("请选择操作:");
System.out.println("1. 添加好友");
System.out.println("2. 发送消息");
System.out.println("3. 查看消息");
System.out.println("4. 退出");
int subChoice = scanner.nextInt();
if (subChoice == 1) {
addFriend(user);
} else if (subChoice == 2) {
sendMessage(user);
} else if (subChoice == 3) {
viewMessage(user);
} else if (subChoice == 4) {
break;
}
}
} else {
System.out.println("登录失败,请重试!");
}
} else if (choice == 3) {
System.out.println("再见!");
break;
}
}
}
static void registerUser() {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入用户名:");
String username = scanner.nextLine();
System.out.println("请输入密码:");
String password = scanner.nextLine();
User user = new User(userIdCounter++, username, password);
userList.add(user);
System.out.println("注册成功!");
}
static User loginUser() {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入用户名:");
String username = scanner.nextLine();
System.out.println("请输入密码:");
String password = scanner.nextLine();
for (User user : userList) {
if (user.getUsername().equals(username) && user.getPassword().equals(password)) {
return user;
}
}
return null;
}
static void addFriend(User user) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入好友的用户名:");
String friendUsername = scanner.nextLine();
User friend = null;
for (User u : userList) {
if (u.getUsername().equals(friendUsername)) {
friend = u;
break;
}
}
if (friend == null) {
System.out.println("找不到该用户!");
return;
}
friendshipList.add(new Friendship(friendshipIdCounter++, user.getId(), friend.getId()));
System.out.println("添加好友成功!");
}
static void sendMessage(User user) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入要发送消息的好友的用户名:");
String friendUsername = scanner.nextLine();
User friend = null;
for (User u : userList) {
if (u.getUsername().equals(friendUsername)) {
friend = u;
break;
}
}
if (friend == null) {
System.out.println("找不到该用户!");
return;
}
System.out.println("请输入要发送的消息:");
String content = scanner.nextLine();
messageList.add(new Message(messageIdCounter++, user.getId(), friend.getId(), content));
System.out.println("发送消息成功!");
}
static void viewMessage(User user) {
for (Message message : messageList) {
if (message.getReceiverId() == user.getId()) {
System.out.println("来自 " + getUserById(message.getSenderId()).getUsername() + " 的消息:");
System.out.println(message.getContent());
}
}
}
static User getUserById(int id) {
for (User user : userList) {
if (user.getId() == id) {
return user;
}
}
return null;
}
}
class User {
private int id;
private String username;
private String password;
public User(int id, String username, String password) {
this.id = id;
this.username = username;
this.password = password;
}
public int getId() {
return id;
}
public String getUsername() {
return username;
}
public String getPassword() {
return password;
}
}
class Friendship {
private int id;
private int userId;
private int friendId;
public Friendship(int id, int userId, int friendId) {
this.id = id;
this.userId = userId;
this.friendId = friendId;
}
public int getId() {
return id;
}
public int getUserId() {
return userId;
}
public int getFriendId() {
return friendId;
}
}
class Message {
private int id;
private int senderId;
private int receiverId;
private String content;
public Message(int id, int senderId, int receiverId, String content) {
this.id = id;
this.senderId = senderId;
this.receiverId = receiverId;
this.content = content;
}
public int getId() {
return id;
}
public int getSenderId() {
return senderId;
}
public int getReceiverId() {
return receiverId;
}
public String getContent() {
return content;
}
}
```
这个代码包含了一个简单的用户注册与登录系统,用户可以添加好友并发送消息。你可以根据自己的需求进行修改和扩展。