所以我正在使用string.split,因为我需要获取字符串的某些部分,然后打印第一部分。零件大小可能会有所不同,因此我不能使用子字符串或数学公式。我试图将所需的所有内容存储在字符串数组中,然后根据位置有选择地打印所需的内容,这是我可以控制的。但是,我不确定该怎么做,因为我知道进行拆分时会占用两个部分并将它们存储在数组中。但是,有一种情况我需要数组中的该值保持不变。恐怕我愿意
format[0] = rename
它将覆盖该值并弄乱整个数组。我的问题是,当我不知道其他人的头寸时,如何为该值分配头寸?我是否需要抢先分配一个值或为它提供数组中最后一个可能的值?我已经附上了一段处理我的问题的代码。我唯一可以添加的是,这是一个更大的循环,重命名的值在每次迭代时都会更改。不要过多地关注注释,这些注释更多地提醒我要做什么而不是代码要做什么。任何指示,技巧和帮助都将不胜感激。
String format[];
rename = workbook.getSheet(sheet).getCell(column,row).getContents();
for(int i = 0; i < rename.length(); i++) {
//may need to add[i] so it has somewhere to go and store
if(rename.charAt(i) == '/') {
format = rename.split("/");
}
else if(rename.charAt(i) == '.') {
if(rename.charAt(0) == 0) {
//just put that value in the array
format = rename;
} else {
//round it to the tenths place and then put it into the array
format = rename.split("\\.");
}
} else if(rename.charAt(i) == '%') {
//space between number and percentage
format = rename.split(" ");
}
}
答案 0 :(得分:0)
无论何时分配变量,它都会被覆盖
format[0] = rename
将覆盖此字符串数组的第一个索引。
在您的示例中,for循环的每次迭代都覆盖了'format'数组。循环完成后,“格式”将仅包含最新拆分的值。
我建议您考虑使用ArrayList,它们比传统数组更易于管理,您可以简单地遍历拆分值并将其附加在末尾。