提示用户输入自己的名宇、年龄、身高,并将该用户信息以JSON 格式保存在文件中。再写一个程序读取刚刚保存的 ISON 文件,恢复用户输入的信息。用python回答
时间: 2023-11-22 18:54:52 浏览: 26
保存用户信息到JSON文件的代码:
```python
import json
# 提示用户输入信息
name = input("请输入您的名字:")
age = input("请输入您的年龄:")
height = input("请输入您的身高:")
# 将用户信息保存为字典
user_info = {
"name": name,
"age": age,
"height": height
}
# 将字典转换为JSON格式并保存到文件
with open("user.json", "w") as f:
json.dump(user_info, f)
```
读取刚刚保存的JSON文件并恢复用户信息的代码:
```python
import json
# 从文件中读取JSON格式的数据
with open("user.json", "r") as f:
user_info = json.load(f)
# 输出用户信息
print("姓名:", user_info["name"])
print("年龄:", user_info["age"])
print("身高:", user_info["height"])
```
运行上述代码,将会提示您输入姓名、年龄、身高,并将该用户信息保存到当前目录下的 `user.json` 文件中。接着,读取刚刚保存的JSON文件并恢复用户信息,并输出到控制台上。
相关问题
用java写一个登录与注册程序,读写的文件以json形式保存在本地
好的,这个问题我可以回答。下面是一个简单的Java登录与注册程序,我们将使用JSON文件来保存用户信息。
首先,我们需要创建一个名为 "User" 的类,该类将保存用户的用户名和密码信息。
```java
import java.io.Serializable;
public class User implements Serializable {
private String username;
private String password;
public User(String username, String password) {
this.username = username;
this.password = password;
}
public String getUsername() {
return username;
}
public String getPassword() {
return password;
}
}
```
接下来,我们创建一个名为 "UserManager" 的类,该类将负责读取和写入用户信息的JSON文件,并提供注册和登录方法。
```java
import java.io.*;
import java.util.ArrayList;
import java.util.List;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
public class UserManager {
private static final String FILENAME = "users.json";
private List<User> users;
public UserManager() {
// 从文件读取用户信息
try (BufferedReader br = new BufferedReader(new FileReader(FILENAME))) {
Gson gson = new Gson();
users = gson.fromJson(br, new TypeToken<List<User>>(){}.getType());
} catch (FileNotFoundException e) {
users = new ArrayList<>();
} catch (IOException e) {
e.printStackTrace();
}
}
public boolean register(String username, String password) {
// 检查用户名是否已存在
for (User user : users) {
if (user.getUsername().equals(username)) {
return false;
}
}
// 添加新用户
User newUser = new User(username, password);
users.add(newUser);
// 保存用户信息到文件
try (BufferedWriter bw = new BufferedWriter(new FileWriter(FILENAME))) {
Gson gson = new Gson();
gson.toJson(users, bw);
} catch (IOException e) {
e.printStackTrace();
}
return true;
}
public boolean login(String username, String password) {
// 检查用户名和密码是否匹配
for (User user : users) {
if (user.getUsername().equals(username) && user.getPassword().equals(password)) {
return true;
}
}
return false;
}
}
```
现在我们已经完成了登录和注册的核心逻辑,接下来我们编写一个简单的控制台应用程序来测试它们。
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
UserManager userManager = new UserManager();
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();
scanner.nextLine(); // 读取换行符
switch (choice) {
case 1:
System.out.print("请输入用户名:");
String username = scanner.nextLine();
System.out.print("请输入密码:");
String password = scanner.nextLine();
if (userManager.register(username, password)) {
System.out.println("注册成功!");
} else {
System.out.println("用户名已存在!");
}
break;
case 2:
System.out.print("请输入用户名:");
username = scanner.nextLine();
System.out.print("请输入密码:");
password = scanner.nextLine();
if (userManager.login(username, password)) {
System.out.println("登录成功!");
} else {
System.out.println("用户名或密码错误!");
}
break;
case 3:
System.out.println("退出程序!");
System.exit(0);
break;
default:
System.out.println("输入错误,请重新输入!");
break;
}
}
}
}
```
现在,当您运行此应用程序时,您将能够注册新用户,登录并检查用户名和密码是否正确。注册和登录信息将被保存在名为 "users.json" 的JSON文件中。
用java Swing写一个 登录注册界面,要求使用MVC架构,操作的数据以json格式储存在文件中
好的,我可以为您介绍一下如何使用Java Swing实现登录注册界面,并使用MVC架构模式和JSON文件进行数据操作。
首先,您需要了解MVC架构模式。MVC模式指的是Model-View-Controller(模型-视图-控制器)模式,是一种软件设计模式,它将软件应用程序分为三个核心部分:模型(应用程序核心数据和业务逻辑),视图(用户界面)和控制器(处理用户输入并更新模型和视图)。MVC模式使应用程序易于维护和扩展。
接下来,您需要了解JSON格式。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于阅读和编写。它使用键值对的方式来表示数据,可以用于在客户端和服务器之间传递数据。
现在,我们来看一下如何使用Java Swing实现登录注册界面,并使用MVC架构模式和JSON文件进行数据操作:
1. 创建一个MVC模式的Java项目,其中包含三个包:model、view和controller。
2. 在model包中,创建一个User类,用于表示用户信息。该类应该包含用户的用户名和密码属性,以及用于读取和写入JSON文件的方法。
3. 在view包中,创建一个LoginView类和一个RegisterView类,分别用于显示登录和注册界面。这些视图应该包含用户名和密码的文本框,以及登录或注册按钮。
4. 在controller包中,创建一个LoginController类和一个RegisterController类,分别用于处理登录和注册操作。这些控制器应该监听登录或注册按钮的点击事件,并调用模型中的方法来读取或写入JSON文件。
5. 在主程序中,创建一个Main类,用于启动应用程序。在Main类中,创建一个LoginView对象和一个LoginController对象,用于显示和处理登录界面。
6. 在LoginController类中,当用户点击“注册”按钮时,创建一个RegisterView对象和一个RegisterController对象,用于显示和处理注册界面。
7. 在RegisterController类中,当用户点击“注册”按钮时,将用户信息写入JSON文件,并返回到登录界面。
这样,您就可以使用Java Swing实现一个简单的登录注册界面,并使用MVC架构模式和JSON文件进行数据操作了。当然,在实际应用程序中,可能需要更复杂的数据操作和界面设计。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)