求帮忙把JAVA代码转成C++代码,在线等 50

packagetest3;importjava.io.BufferedReader;importjava.io.File;importjava.io.FileReader... package test3;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;

public class JiaGong {

public static Map<String, List<String>> tSplit(File file1) throws IOException {

// 输入流
BufferedReader br = new BufferedReader(new FileReader(file1));

// 游标
String line = null;

// key--表名 value--表数据
Map<String, String> map = new HashMap<>();

// name = 表名
String name = "";

// 确定表数据范围的标识
boolean createBoolean = false;

// 开始按行读取
while ((line = br.readLine()) != null) {

// 确定是否起始边界 是--改变标识
String str = line;
String strarr[] = str.split("\\s+");
for (int i = 0; i < strarr.length; i++) {
if ("create".equals(strarr[i])) {
// 已确定包含create行 长度超过1 否则进行长度判断
if (strarr[i + 1].equals("table")) {
name = strarr[i + 2];
createBoolean = true;
}
}
}

// 确定是否结束边界 是-跳出进行下次,改变标识
if (line.matches("\\)\\;")) {
createBoolean = false;
continue;
}

if (createBoolean == true) {
// 边界--无效数据
boolean a = line.matches("\\)\\;");
// 无效数据
boolean b = line.matches("\\(");
// 无效数据
boolean c = line.matches("^$");

if (!a && !c && !b) {
// 将数据按照一定格式放到value中
if (map.get(name) != null) {
map.put(name, map.get(name) + line + "\r\n");
} else {
map.put(name, "class " + name + "\r\n");
}
}
}
}
br.close();

// 把数据以list的形式封装到map的value里面
Map<String, List<String>> newmap = new HashMap<>();

List<String> list = null;

Set<Map.Entry<String, String>> entrySet = map.entrySet();
Iterator<Map.Entry<String, String>> it = entrySet.iterator();
while (it.hasNext()) {
list = new ArrayList<>();
Map.Entry<String, String> entry = it.next();
String key = entry.getKey();
String value = entry.getValue();

String[] split = value.split("\\\r\\\n");

for (int i = 0; i < split.length; i++) {
list.add(split[i]);
}

newmap.put(key, list);

}

// 处理map里面的list的数据

return newmap;

}
展开
 我来答
丿打酱油的
2018-12-25 · TA获得超过256个赞
知道小有建树答主
回答量:1134
采纳率:78%
帮助的人:145万
展开全部
这个你自己铅伍正就可以转啊橘搭,两者的代码逻辑差不多,改下import的包路径,槐悔类的定义格式,变量的定义,网上找一找两者的差异,对应着改呗
追问
细节差不少呢
司马刀剑
高粉答主

2018-12-25 · 每个回答都超有意思的
知道顶级答主
回答量:4.6万
采纳率:93%
帮助的人:7417万
展开全部
package test; import java.util.Scanner; class Zhuanhuan { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n,i,sum,t; t = sc.nextInt(); while(t>0) { sum=0; n = sc.nextInt(); int[] a=new int[n]; for(i=0; i<茄指毁n; i++) { a[i]=sc.nextInt(); sum+=a[i]; } System.out.println(sum); if(t>0) System.out.println("颤备逗乱"); t--; } sc.close(); }}
追问
你以为我看不懂呢
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式