CCFJson查询之Java实现代码
来源:互联网 发布:绥化学院教务管理网络 编辑:程序博客网 时间:2024/05/18 03:08
首先声明这份代码在提交时显示运行错误但是能在自己的平台上通过给出的测试用例,所以我就很想不明白,CCF第三题这种的,如果能在自己的平台上得到指定的答案,说明程序主体是没有问题的,就算没有考虑全面但至少也能通过部分案例,这样直接显示运行错误而且输入输出都很符合要求真的让我无法接受。。。毕竟花了一个下午敲出来的心态崩了
所以哪位路过的大神能看来哪里不合题意请一定不吝赐教!
题目如下:
代码如下:
package CCF;import java.util.HashMap;import java.util.Scanner;public class Json1709_03 {public static String str_tag=""; //用来标记值第n层对象的前缀public static HashMap<String,String> json; public static void deal(String s) {int len=s.length();if(len==2) {str_tag=str_tag.substring(0, str_tag.length()-1); //去掉最后一个黑点if(str_tag.contains(".")) {int index=str_tag.lastIndexOf(".");str_tag=str_tag.substring(0, index);}elsestr_tag="";}else {String []ss=s.split(" ");//表明该处对应的的是一个对象if(ss[1].equals("{")){ss[0]=solve(ss[0]);str_tag=str_tag+ss[0]+".";json.put(str_tag.substring(0,str_tag.length()-1), "OBJECT");}else {//如果只是一个普通的字符串ss[0]=solve(ss[0]);ss[1]=solve(ss[1]);json.put(str_tag+ss[0],"STRING "+ss[1]);}}}public static String solve(String s) {int len=s.length();if(s.charAt(len-1)==':'||s.charAt(len-1)==',')s=s.substring(1, len-2);elses=s.substring(1, len-1);s=dealback(s);return s;}public static String dealback(String s) {StringBuffer sb=new StringBuffer();int len=s.length();for(int i=0;i<len;i++) {if(s.charAt(i)=='\\')i++;sb.append(s.charAt(i));}s=sb.toString();return s;}public static void main(String args[]) {Scanner scan=new Scanner(System.in);String []str=scan.nextLine().split(" ");int n=Integer.parseInt(str[0]); //数据行数int m=Integer.parseInt(str[1]); //查询指令个数json=new HashMap<String,String>();for(int i=0;i<n;i++) {String s=scan.nextLine();if(s.length()!=1)deal(s);}for(int i=0;i<m;i++) {String s=scan.nextLine();if(json.containsKey(s))System.out.println(json.get(s));elseSystem.out.println("NOTEXIST");}}}
在提交时该去的中文都去了,Main函数也改了,而且显示的是运行错误不是编译错误,但是自己平台上测试用例是合格的。
就算没分也记录一下吧,思路还是可取的。。
阅读全文
0 0
- CCFJson查询之Java实现代码
- lucene查询之 queryparser查询;及代码示例;代码实现;及查询语法解析
- JAVA学习之 实现分页查询
- 冒泡,选择,二分查询之java实现
- 有序表查询之二:java实现插值查询
- 组合查询实现代码
- 协会网站代码review之SQL实现模糊查询
- 用java代码实现查询每个字母的次数
- Java代码实现二叉搜索树-----查询(二)
- 通过Java代码实现手机号归属地查询
- 数据库的分页查询及java代码如何实现
- 如何在java代码中实现分批查询
- Java代码查询网站
- Java代码查询网站
- Java代码查询站点
- Java代码查询站点
- Java代码查询网站
- Java代码查询网站
- Visual Studio Code之常备快捷键
- 分支预测(Branch Prediction)
- retain 和 assign 的区别使用
- JAVA【多线程一】
- GAN之根据文本描述生成图像
- CCFJson查询之Java实现代码
- tornado_5_异步web服务
- 在jsp里面简单分页
- hdu
- Qt信号和槽机制
- git权威指南总结七:git merge冲突解决
- Java练习题18 JPanel面板
- js实现倒计时
- Spark概念理解