【发布时间】:2018-12-22 10:26:43
【问题描述】:
我一直在尝试按列从每个字符串中获取每个字符,但我只得到每个字符串的第一个字符,我想从每个字符串中逐列获取每个字符。
例如:
我有来自 ArrayList of Strings 的三个字符串:
- 志
- 喂
- ut
我想发生的事情一定是这样,从字符串中逐列获取每个字符后:
- 俱乐部
- hlt
- io
这么久了,我当前的源代码只获取前两个字符串的第一个字符,即'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++;
}
【问题讨论】:
-
您还需要分享您是如何声明这些变量的。还请遵循 java 命名约定。您的代码几乎无法阅读。
-
我不同意说代码“几乎无法阅读”的帖子;确实,以小写字母开头的变量名称是几乎所有地方都遵循的强约定。我在代码中看到的最大问题是我们不知道
New_Strings是如何声明的。它似乎是某种字符串列表,但会为每个源字符串中的每个字母获取一个新字符串,这与所需的输出不匹配。我认为你想要的是一个字符串列表,并将列 N 中的每个字符附加到字符串 N,但我不确定。
标签: java string algorithm loops loop-invariant