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);
これは私のサーブレットです。空白の空の配列をフィルタリングするにはどうすればよいですか?
Sha256は値をハッシュし、16進文字列を[] [] []に返します。
出力の一部である:
データ:S
ハッシュ:d6d824abba4afde81129c71dea75b8100e96338da5f416d2f69088f1960cb091データ:H
ハッシュ:ad48ff99415b2f007dc35b7eb553fd1eb35ebfa2f2f308acd9488eeb86f71fa8データ:
ハッシュ:ad48ff99415b2f007dc35b7eb553fd1eb35ebfa2f2f308acd9488eeb86f71fa8
変数plaint [] [] []には、ハッシュされるために送信される空の値もあります。私はこれらの空の値をフィルタリングすることができません。それには空白があるようですが、システムはこれを空白とみなしません。値もnullとはみなされません。
Split [] []はplaint [] [] []から派生したものと同じ問題を抱えています。それはユーザーによって入力された値と残りのインデックス値として文字 ''を持っています
どのようにフィルタリングしますか?
デバッガを使用して、デバッガが持つ値を調べます。それが空白であることが確かであれば、Character.isWhitespaceメソッドを試してください。 – agilob
それを試してみてください。デバッガはvalueを ''として表示します。 Character.isWhitespaceはfalseを返します。 – user2329435
それから値はありません、配列は空です、 'array.length!= 0'を試してください – agilob