使用c++把String型的数组转换成String,每两个元素之间用顿号隔开。 例如: String str[]={"篮球","排球",乒乓球"","网球”,"冰球"}; 转换成String型数据为:篮球、排球、乒乓球、网球、冰球。 部分程序如下,请在指定位置补全代码,至少使用三种以上的方式实现。public class Utils { public String convert(String strD) {//请在此补全代码}}}
时间: 2023-08-07 10:25:39 浏览: 162
把String型的数组转换成String,每两个元素之间用顿号隔开可以使用以下三种方式实现:
方式一:使用stringstream拼接字符串
```c++
#include <iostream>
#include <sstream>
#include <string>
using namespace std;
string convert(string strArr[], int n) {
stringstream ss;
for (int i = 0; i < n; i++) {
if (i > 0) {
ss << "、"; // 每两个元素之间用顿号隔开
}
ss << strArr[i]; // 拼接元素
}
return ss.str();
}
int main() {
string strArr[] = {"篮球", "排球", "乒乓球", "网球", "冰球"};
int n = sizeof(strArr) / sizeof(strArr[0]);
string res = convert(strArr, n);
cout << res << endl; // 输出结果:篮球、排球、乒乓球、网球、冰球
return 0;
}
```
方式二:使用accumulate和lambda表达式拼接字符串
```c++
#include <iostream>
#include <numeric>
#include <string>
using namespace std;
string convert(string strArr[], int n) {
return accumulate(strArr, strArr + n, string(), [](string a, string b) {
return a.empty() ? b : a + "、" + b; // 每两个元素之间用顿号隔开
});
}
int main() {
string strArr[] = {"篮球", "排球", "乒乓球", "网球", "冰球"};
int n = sizeof(strArr) / sizeof(strArr[0]);
string res = convert(strArr, n);
cout << res << endl; // 输出结果:篮球、排球、乒乓球、网球、冰球
return 0;
}
```
方式三:使用copy和ostream_iterator拼接字符串
```c++
#include <iostream>
#include <algorithm>
#include <iterator>
#include <string>
using namespace std;
string convert(string strArr[], int n) {
ostringstream oss;
copy(strArr, strArr + n, ostream_iterator<string>(oss, "、")); // 每两个元素之间用顿号隔开
string res = oss.str();
res.erase(res.length() - 1); // 去掉最后一个顿号
return res;
}
int main() {
string strArr[] = {"篮球", "排球", "乒乓球", "网球", "冰球"};
int n = sizeof(strArr) / sizeof(strArr[0]);
string res = convert(strArr, n);
cout << res << endl; // 输出结果:篮球、排球、乒乓球、网球、冰球
return 0;
}
```
以上三种方式的调用方式都是一样的,例如:
```c++
int main() {
string strArr[] = {"篮球", "排球", "乒乓球", "网球", "冰球"};
int n = sizeof(strArr) / sizeof(strArr[0]);
string res = convert(strArr, n);
cout << res << endl; // 输出结果:篮球、排球、乒乓球、网球、冰球
return 0;
}
```
希望能够帮助到你!
阅读全文