Queue of strings to single string
我对编程有点陌生,如果这是愚蠢的,那么很抱歉。
我有一个字符串队列,我想将其转换为一个空格分隔的字符串。
例如,{"a","b","c"}应变为"a b c"。
我该怎么做呢?(我在谷歌上搜索过,但没有找到太多:/)
- 我们能看到某种尝试吗?
- 为什么你需要排队?你是说阵列吗?
我不知道你所说的"队列"是什么意思,但是我假设它是一个数组,我的答案是基于这个假设得出的。
要组合它们,请尝试执行此操作。
1 2 3 4 5 6 7 8 9
| String[] myStringArray = new String[]{"a", "b", "c"};
String myNewString ="";
for (int i = 0; i < myStringArray. length; i ++) {
if (i != 0) {
myNewString +="" + myStringArray [i ];
} else {
myNewString += myStringArray [i ];
}
} |
现在,EDOCX1[2]的值等于EDOCX1[3]
编辑:
为了不使用每个循环的if,请使用以下方法:
1 2 3 4 5
| String[] myStringArray = new String[]{"a", "b", "c"};
String myNewString = myStringArray [0];
for (int i = 1; i < myStringArray. length; i ++) {
myNewString +="" + myStringArray [i ];
} |
- 您如何改进您的解决方案,使(an)if只评估一次?
- @索提里奥斯德利马诺利斯在一个补丁中编辑
- 就这样,但别忘了空间。最好先检查尺寸。
- @你应该是一个CS老师…D
我将使用apache StringUtils类的join方法(http://commons.apache.org/proper/commons lang/javadocs/api-2.6/org/apache/commons/lang/stringutils.html)。
1 2 3 4 5
| String[] strings = {"a", "b", "c" };
String result ="";
for (int i = 0; i < strings. length; i ++) {
result += strings [i ] + ((i < strings. length - 1) ?"" :"");
} |
结果是"a b c"。
这个代码可能不起作用,我没有测试它,但是您应该理解逻辑。
1 2 3 4 5 6 7 8 9
| //This string is your queue
String[] strings = new String[];
//This is your finished String
String string ="";
for(int i = 0; i < strings. length; i ++) {
string = string +"" + strings [i ];
} |
- 你的代码甚至不能编译。
- 哈!你说得对,@drogba。我修正了五个错误中的四个,但错过了第一个。也许你能修好这个?
您还可以使用以下基本逻辑:
1 2 3 4 5
| StringBuilder builder = new StringBuilder ();
for(String inStr : arrInData ) {
builder. append(inStr +"");
}
return builder. toString(); |