import java.util.ArrayList; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); ArrayList<String[]> matrix = new ArrayList<>(); while (sc.hasNextLine()) { String line = sc.nextLine(); if ("".equals(line)) { System.out.println(getResult(matrix)); break; } else { matrix.add(line.split(" ")); } } }翻译成C++
时间: 2024-04-17 16:26:37 浏览: 213
以下是将给定的 Java 代码翻译成 C++ 的版本:
```cpp
#include <iostream>
#include <vector>
#include <sstream>
std::string getResult(const std::vector<std::vector<std::string>>& matrix) {
// 在这里实现获取结果的逻辑
// ...
return ""; // 返回结果字符串
}
int main() {
std::vector<std::vector<std::string>> matrix;
std::string line;
while (std::getline(std::cin, line)) {
if (line.empty()) {
std::cout << getResult(matrix) << std::endl;
break;
} else {
std::istringstream iss(line);
std::vector<std::string> row;
std::string word;
while (iss >> word) {
row.push_back(word);
}
matrix.push_back(row);
}
}
return 0;
}
```
在这个 C++ 版本中,我们使用了 `std::vector` 来替代 Java 中的 `ArrayList`,并且使用 `std::string` 来替代 Java 中的 `String`。在 `getResult` 函数中,你可以实现获取结果的逻辑,并返回一个结果字符串。
在 `main` 函数中,我们使用 `std::getline` 来逐行读取输入,并使用 `std::istringstream` 来将每行按空格分割为单词,并将它们存储在一个二维 `std::vector<std::string>` 中。
希望这个翻译对你有帮助!如果还有其他问题,请随时提问。
阅读全文