我一直试图从每个字符串中逐列获取每个字符,但我只获取每个字符串的第一个字符,我希望从每个字符串中逐列获取每个字符。
例如:
我有三个字符串来自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());
}

10-07 13:19
查看更多