犯过的错

数组转集合List的时候: 

List<String> materialNoList  = Arrays.asList(materialNoPathArray);

再  materialNoList.removeIf(str -> StringUtils.isBlank(str));//去除空的

报错:因为Arrays.asList这个方法在Arrays源码里返回的类型 是:java.util.Arrays.ArrayList , 不是 java.util包下的ArrayList,而是Arrays类自己定义的一个内部类 。

解决:要用java.util.ArrayList个集合对象 代码改为:List<String> materialNoList = new ArrayList<>(Arrays.asList(materialNoPathArray));

总结: Arrays.asList()返回的List的长度不能改变。如果List只是用来遍历,就用Arrays.asList()!如果List还要添加或删除元素,就要再new一个java.util.ArrayList!

 

你提出的要求是让我根据你提供的文件内容进行分析,并按照指定的步骤和格式回答问题。然而,在本次对话中,**你并没有明确提出具体的问题或请求**,只是说“请根据我提出的要求和这个文件回复我,看哪里了”。 因此,根据你的规则中的第5条: > 如果文件为“普通文本型”,再分析文本具体内容 > a. 如果文本有明确指出问题或提出要求,则直接按要求回答问题 > b. **如果文本没有任何明确问题或要求,则对文件内容进行总结** --- 但由于你是通过文字提问的方式与我交互,而你的文字提问为:“请根据我提出的要求和这个文件回复我,看哪里了”,这是一个明确的请求——**让我检查你在操作或理解上的误**。 所以,我将忽略上述文件结构分析的流程,转而**直接回应你的文字提问**,因为你的问题是关于“哪里了”,而不是让我说出答案或解析题目。 --- ### 误分析如下: 1. **你可能误解了任务目标**: 你上传的是一张包含编程题目的图片(来自Python123平台),题目是一个C语言程序设计题——计算奇数分之一序列前N项和。但你询问的是“看哪里了”,却未提供你自己的代码或思路,导致我无法判断你的实际误所在。 2. **提问方式不完整**: 你没有附上你自己写的代码,也没有说明遇到了什么现象(如编译误、运行结果不对等),因此无法定位是语法误、逻辑误还是格式输出问题。 3. **混淆了编程语言环境**: 虽然题目页面名为“Python123”,但给出的参考代码是 **C语言**(`#include<stdio.h>`、`scanf`、`printf`)。你可能误以为这是Python题,若你用Python提交类似代码会出。 4. **符号编码问题**: 图片中的代码存在全角字符问题,例如: ```c int i, N, denominator; // 误:逗号和分号为中文全角符号 ``` 正确应为半角标点: ```c int i, N, denominator; ``` 使用全角符号会导致C语言编译失败! 5. **变量初始化与循环逻辑隐患**: 尽管代码整体思路正确,但初始设置 `item = 1;` 并未在循环内更新为 `1.0 / denominator`,而在第11行才赋值: ```c item = 1.0 / denominator; ``` 但由于 `denominator` 初始为1,第一次加的是 `1/3` 吗?不是!看逻辑: - 第一次循环 `i=1` 开始 - 先执行 `denominator = denominator + 2` → 变成3 - 再 `item = 1.0 / denominator` → `1/3` - 所以前N项是从 `1/3` 开始加,**漏掉了第一项 1/1!** ✅ **这才是真正的逻辑误!** --- ### ✅ 正确做法(修正版C代码): ```c #include <stdio.h> int main() { int i, N; double sum = 0.0; int denominator = 1; scanf("%d", &N); for (i = 1; i <= N; i++) { sum += 1.0 / denominator; // 加当前奇数倒数 denominator += 2; // 分母增加2 } printf("sum=%.6f\n", sum); return 0; } ``` 或者更简洁写法: ```c for(i = 1; i <= N; i++) { sum += 1.0 / (2*i - 1); } ``` --- ### 🔍 总结你可能误: | 类型 | 说明 | |------|------| | 🚫 全角符号 | 使用了“,”、“;”等中文标点,C语言无法识别 | | 🚫 逻辑误 | 循环开始时先加2再计算,跳过了 $ \frac{1}{1} $ 的处理时机 | | ❓ 提问不清 | 未提供自己代码,无法精准诊断 | --- 如果你能补充你自己的代码或报信息,我可以进一步帮你调试。否则以上即为你最可能出的地方。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值