AI编程助手(下)

📅 2026/7/10 19:58:19
AI编程助手(下)
前言上一篇文章我们已经介绍了AI编程助手的一部分内容那么这一篇我们介绍一下AI编程助手的另一部分内容。正文我们来介绍一下codeCheck方法代码如下publicvoidcodeCheck(Stringpath)throwsException{FilefilenewFile(path);BufferedReaderbrnewBufferedReader(newFileReader(file));StringBuildercodeStringBuildernewStringBuilder();Stringlinenull;while((linebr.readLine())!null){codeStringBuilder.append(line).append(\r\n);}StringcodePrompt 你是专业代码检查器检查以下代码是否有错误 1. 语法错误 2. 逻辑错误 3. 运行异常风险 4. 格式问题 代码 %s 请清晰列出错误没有错误就说【代码无明显错误】 .formatted(codeStringBuilder);StringcodeRespchat(codePrompt);System.out.println(代码提示:codeResp);System.out.println(AI:是否需要帮你修改错误代码:(Y/N));ScannerscannewScanner(System.in);Stringsscan.nextLine();if(s.equals(Y)){Stringcode 严格遵守以下规则 1. 只输出纯代码不要任何解释 2. 不要输出java 等标记 3. 不要输出省略号... 4. 不要输出任何多余字符 5. 直接输出可编译的完整代码 修复以下代码: %s .formatted(codeStringBuilder);StringcodeResponsechat(code);System.out.println(code:codeResponse);FileOutputStreamfosnewFileOutputStream(file);fos.write(codeResponse.getBytes());fos.flush();}}这串代码的作用是实现ICodeCheck接口的codeCheck方法首先我们创建File对象表示目标文件然后创建缓冲读取器读取文件接下来创建stringBuilder存储代码内容然后初始化变量接下来循环每一行代码直到文件介绍然后将每行追加到stringBuilder存储代码内容然后使用文本块定义代码检查提示在文本块末尾出插入代码内容然后调用chat方法获取代码检查结果然后输出代码提示并询问用户是否需要修改代码接下来创建新的扫描器然后读取用户选择如果用户选择“是”那么开始定义修复代码的提示模板文本块末尾插入代码内容然后获取修复后的代码并将它输出接下来创建文件输出流将修复后的代码写入文件最后刷新输出流。接下来我们介绍一下chat方法代码如下publicStringchat(Stringprompt)throwsException{HashMapString,ObjectmapnewHashMap();map.put(model,deepseek-v4-pro);ListHashMapString,StringlistnewArrayList();HashMapString,StringmsgMapnewHashMap();msgMap.put(role,user);msgMap.put(content,prompt);list.add(msgMap);map.put(messages,list);ObjectMapperomnewObjectMapper();Stringjsonom.writeValueAsString(map);HttpClientclientHttpClient.newHttpClient();HttpRequestrequestHttpRequest.newBuilder().uri(URI.create(URL)).header(Authorization,Bearer API_KEY).header(Content-Type,application/json).POST(HttpRequest.BodyPublishers.ofString(json)).build();HttpResponseStringresponseclient.send(request,HttpResponse.BodyHandlers.ofString());JsonNodejnom.readTree(response.body());Stringmsgjn.path(choices).get(0).path(message).path(content).asText();returnmsg;}}这串代码的作用是实现IChat接口的chat方法首先我们创建HashMap存储请求数据然后设置AI模型名称这里用的是deepseek-v4-pro然后创建消息列表和消息映射接下来设置消息角色为用户和设置消息内容为提示然后将消息列表添加到列表和将消息列表添加到请求映射接下来创建对象映射器并将映射转换为JSON字符串接下来创建HTTP客户端和HTTP请求构建器然后请求URI接下来设置授权头和内容类型头并且设置POST方法和请求体并构建请求接下来发送请求和获取响应将响应体解析为JSON节点并提取AI回复内容最后返回AI回复内容。以上就是AI编程助手的全部内容。