偶然间看到的一些题
2018-03-15 19:57
337 查看
1.一个map中存有类似如下的数据:
key value
"a" "afasfwaeqwfwa(b)eqwgewgrqgq"
"b" "frgwegqgg(c)fqf(d)dqf"
"c" "fqfgrfwgrw"
"d" "gwrgwergqwg"
现在写一个函数,将"b"的value中的“(c)”和“(d)”分别用"c”和"d"的value替换,然后将"a"的value中的“(b)”用"b"的value替换。注:上面的map只是一个例子而己,实际情况可能更复杂。
我的代码:
import java.util.HashMap;
import java.util.Map;
public class Main{
private static Map<String, String> map = new HashMap<String, String>();
public static void initMap() {
String a = "asdasdfbsv(b)";
String b = "aadsd(cd)asfwczqw(c)";
String c = "huang";
String d = "tiancheng";
map.put("a", a);
map.put("b", b);
map.put("c", c);
map.put("d", d);
}
public static void mapClean() {
int n = 2;
while (n > 0) {
for (String key : map.keySet()) {
StringBuffer tempstr = new StringBuffer();
boolean point = true;
for (int i = 0; i < map.get(key).length(); i++) {
char t = map.get(key).charAt(i);
if (t == '(') {
point = false;
continue;
}
if (t == ')') {
point = true;
continue;
}
if (point) {
tempstr.append(t);
} else {
tempstr.append(map.get(String.valueOf(t)));
}
}
String str = String.valueOf(tempstr);
map.put(key, str);
}
n--;
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Coding.initMap();
Coding.mapClean();
System.out.println(map);
}
}
key value
"a" "afasfwaeqwfwa(b)eqwgewgrqgq"
"b" "frgwegqgg(c)fqf(d)dqf"
"c" "fqfgrfwgrw"
"d" "gwrgwergqwg"
现在写一个函数,将"b"的value中的“(c)”和“(d)”分别用"c”和"d"的value替换,然后将"a"的value中的“(b)”用"b"的value替换。注:上面的map只是一个例子而己,实际情况可能更复杂。
我的代码:
import java.util.HashMap;
import java.util.Map;
public class Main{
private static Map<String, String> map = new HashMap<String, String>();
public static void initMap() {
String a = "asdasdfbsv(b)";
String b = "aadsd(cd)asfwczqw(c)";
String c = "huang";
String d = "tiancheng";
map.put("a", a);
map.put("b", b);
map.put("c", c);
map.put("d", d);
}
public static void mapClean() {
int n = 2;
while (n > 0) {
for (String key : map.keySet()) {
StringBuffer tempstr = new StringBuffer();
boolean point = true;
for (int i = 0; i < map.get(key).length(); i++) {
char t = map.get(key).charAt(i);
if (t == '(') {
point = false;
continue;
}
if (t == ')') {
point = true;
continue;
}
if (point) {
tempstr.append(t);
} else {
tempstr.append(map.get(String.valueOf(t)));
}
}
String str = String.valueOf(tempstr);
map.put(key, str);
}
n--;
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Coding.initMap();
Coding.mapClean();
System.out.println(map);
}
}
相关文章推荐
- 偶然看到一个博客里分享的一些话觉得很经典记录下来三省吾身
- 从网上看到一些文章,自己再总结一下,在学习编程中一些要点
- 又看到一个不错的贴,关于一些postgresql的异常问题
- 最近看到的一些JAVA方面的参考书,有时间下载回来看
- 自己在看到网上一些table数据导出excel,自己为自己记录一下以免以后需要
- 看到一篇集合了一些api的博客 mark一下。
- 偶然看到的SIGCHLD和waitpid的使用
- 偶然看到的jquery选择器性能问题
- 偶然看到了几句话在这里分享下~~
- 网上看到的一些好的资源
- 从百度统计看到的一些有意思的事情
- 偶然看到的,35岁之前对职业生涯有帮助的10条,简短但颇有启发意义
- 今天看到的一些好文章链接
- 在别处看到的如何提升编程技巧的一些方法和建议
- 偶然在网上看到的题目,jQuery功底如何一测便知晓!!!!!!
- 不错的C#代码库,偶然看到,分享一下
- 再说流性布局 display:flex ,以及看到的其他一些css 细节
- mysql -- 一些最近看到的写的很好的博客 以及自己的总结
- 让人郁闷了好久的问题,终于解决了,之前网上也看到一些解决方法,但大多没有解决问题,所以记录下来,以供参考之用(ADO Could Not Find The Specified Provider)
- 关于如何坚持目标,网上偶然看到的,转载一下