我一直试图从每个字符串中逐列获取每个字符,但我只获取每个字符串的第一个字符,我希望从每个字符串中逐列获取每个字符。
例如:
我有三个字符串来自ArrayList的字符串:
芝加哥
略图
美国犹他州
在从字符串中逐列获取每个字符后,我希望发生的事情必须是这样的:
俱乐部
hlt公司
输入输出
很长时间以来,我当前的源代码只获取前两个字符串的前两个字符,即'cl',下面是我当前的源代码:
List<String> New_Strings = new ArrayList<String>();
int Column_Place = 0;
for (String temp_str : Strings) {
try{ //For StringIndexOutOfBoundsException (handle last String)
if(Column_Place >= temp_str.length()){
Current_Character = temp_str.charAt(Column_Place);
New_Strings.add(Character.toString(Current_Character));
break;
}else if (Column_Place < temp_str.length()){
Current_Character = temp_str.charAt(Column_Place);
New_Strings.add(Character.toString(Current_Character));
}
}catch(Exception e){
continue;
}
Column_Place++;
}
最佳答案
将单个字符的字符串表示形式添加到结果字符串中相反,您应该将这些字符累积到结果字符串中。例如。:
int numStrings = strings.size();
List<String> result = new ArrayList<>(numStrings);
for (int i = 0; i < numStrings; ++i) {
StringBuilder sb = new StringBuilder();
for (String s : strings) {
if (i < s.length) {
sb.append(s.charAt(i));
}
}
result.add(sb.toString());
}