Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何筛选具有空白的空数组? String[][]a=新字符串[5][5][5]; HttpSession session=request.getSession(); char[][]split=null; split=(char[][])session.getAttribute(“chardata”); int[][]请求=(int[][])session.getAttribute(“根”); int r1=感叹长度; 对于(int i=0;i_Java_Arrays_Hash - Fatal编程技术网

Java 如何筛选具有空白的空数组? String[][]a=新字符串[5][5][5]; HttpSession session=request.getSession(); char[][]split=null; split=(char[][])session.getAttribute(“chardata”); int[][]请求=(int[][])session.getAttribute(“根”); int r1=感叹长度; 对于(int i=0;i

Java 如何筛选具有空白的空数组? String[][]a=新字符串[5][5][5]; HttpSession session=request.getSession(); char[][]split=null; split=(char[][])session.getAttribute(“chardata”); int[][]请求=(int[][])session.getAttribute(“根”); int r1=感叹长度; 对于(int i=0;i,java,arrays,hash,Java,Arrays,Hash,这是我的servlet Sha256对值进行哈希运算,并将十六进制字符串返回到[] 输出的一部分是: 数据:s 散列:d6d824abba4afde81129c71dea75b8100e96338da5f416d2f69088f1960cb091 数据:h 哈希:AD48FF99415B2F007DC35B7EB553FD1EB35EBFA2F2F308ACD9488EEB86F7FA8 数据: 哈希:AD48FF99415B2F007DC35B7EB553FD1EB35EBFA2F2F308A

这是我的servlet

Sha256对值进行哈希运算,并将十六进制字符串返回到[]

输出的一部分是:

数据:s
散列:d6d824abba4afde81129c71dea75b8100e96338da5f416d2f69088f1960cb091

数据:h
哈希:AD48FF99415B2F007DC35B7EB553FD1EB35EBFA2F2F308ACD9488EEB86F7FA8

数据:
哈希:AD48FF99415B2F007DC35B7EB553FD1EB35EBFA2F2F308ACD9488EEB86F7FA8

变量paint[][]也有空值被发送进行散列。我无法过滤掉这些空值。它似乎有一个白色的空间,但系统不认为这是空白。它也不考虑值为空。

拆分[]也有同样的问题,因为它是从原告[][]派生的。它具有用户输入的值和一个字符“”作为剩余索引值


如何将其过滤掉?

具有“”的字符表示它为空(/u0000)。因此,使用:

        String[][][] a=new String[5][5][5];
        HttpSession session = request.getSession();
        char[][] split = null;


        split=(char[][]) session.getAttribute("chardata");
        int[][][] plaint = (int[][][]) session.getAttribute("root");
        int r1=plaint.length;
        for (int i = 0; i < r1; i++) {
            int r2=plaint[i].length;
            for (int j = 0; j < r2; j++) {
                int r3=plaint[i][j].length;
                for (int k = 0; k < r3; k++) {
                    if(plaint[i][j][k]!=0){
                        a[i][j][k]= sha256(Integer.toString(plaint[i][j][k]));
                        out.println("data:"+split[i][j]+" <br> hash:" + a[i][j][k]+"<br>");

                    }
                }
                session.setAttribute("hashed",a);
                out.println(" <br><br>");
            }out.println(" <br>");
        }
        out.println("</body>");
        out.println("</html>");
        RequestDispatcher rd = request.getRequestDispatcher("redirection");
        rd.forward(request,response);

检查它是否为NULL可以解决问题。

使用调试器并找出它的值。如果确定是空白,请尝试Character.isWhitespace方法。尝试。调试器将值显示为“”。Character.isWhitespace返回false。如果没有值,数组为空,请尝试
array.length!=0
数组不是空的。拆分[0][0]=s,拆分[0][1]=h,拆分[0][2]=''。字符的十六进制值是多少?
if(split[i][j]!=0)