如何从用户输入获取食谱并创建对应的对象?
时间: 2024-10-18 15:11:03 浏览: 22
从用户输入获取食谱并创建对应的`Recipe`对象通常涉及到解析用户的文本输入,并提取出必要的信息如食物名称、类别、制作方法和视频链接。以下是一个简化版的流程示例:
1. **设计数据验证**:首先,你需要定义一个函数来检查用户输入的数据格式,比如检查名字和类别是否合法,视频URL是否有效。
```java
private boolean isValidInput(String name, String category, String method, URL videoURL) {
// 添加实际的验证逻辑
return !name.isEmpty() && !category.isEmpty() && method != null && videoURL.isAbsolute();
}
```
2. **获取用户输入**:你可以使用`Scanner`或者其他输入处理工具来获取用户输入。
```java
import java.util.Scanner;
public Recipe createRecipeFromUserInput() {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入食物名称:");
String name = scanner.nextLine();
System.out.println("请输入食物类别:");
String category = scanner.nextLine();
System.out.println("请输入制作方法:");
String method = scanner.nextLine();
// 用户可能需要提供一个url,这里仅作示例,实际应用可能需要网络请求库
System.out.println("请输入视频链接 (示例: https://example.com/video):");
String urlStr = scanner.nextLine();
URL videoURL;
try {
videoURL = new URL(urlStr);
} catch (MalformedURLException e) {
throw new IllegalArgumentException("无效的视频URL", e);
}
if (isValidInput(name, category, method, videoURL)) {
return new Recipe(name, category, method, videoURL);
} else {
System.out.println("输入的信息无效,请重新输入.");
return null;
}
}
```
3. **实例化并使用**:一旦获得了有效的输入,就创建一个新的`Recipe`对象并将其用于后续的操作,如保存到数据库或显示给用户。
```java
Recipe recipe = createRecipeFromUserInput();
if (recipe != null) {
// 存储或显示食谱
System.out.println(recipe);
}
```
阅读全文