求帮忙把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;
} 展开
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;
} 展开
展开全部
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(); }}
追问
你以为我看不懂呢
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询