問題J03004の解答例と解説 Java Lv.3

パスワードの安全性(30分)


<解答例 1>
F11キーでフルスクリーンモード、Escキーで元に戻ります。

この解答はASCII(アスキー)コードの生の値を利用しているよ。Java の String 型は charAt メソッドで1文字ずつを char 型として取得できるんだ(22行目)。char 型のサイズは 2byteで、UNICODE(UTF-16)という文字コードで格納するんだけど、0~65535までの文字が割り当てられているんだ。そして UNICODE(UTF-16)では最初の0~127 はASCIIコードという半角文字が割り当てられているんだ。

0 NUL 16 DLE 32 SP 48 0 64 @ 80 P 96 ` 112p
1 SOH 17 DC1 33 ! 49 1 65 A 81 Q 97 a 113q
2 STX 18 DC2 34 " 50 2 66 B 82 R 98 b 114r
3 ETX 19 DC3 35 # 51 3 67 C 83 S 99 c 115s
4 EOT 20 DC4 36 $ 52 4 68 D 84 T 100d 116t
5 ENQ 21 NAK 37 % 53 5 69 E 85 U 101e 117u
6 ACK 22 SYN 38 & 54 6 70 F 86 V 102f 118v
7 BEL 23 ETB 39 ' 55 7 71 G 87 W 103g 119w
8 BS 24 CAN 40 ( 56 8 72 H 88 X 104h 120x
9 HT 25 EM 41 ) 57 9 73 I 89 Y 105i 121y
10 LF 26 SUB 42 * 58 : 74 J 90 Z 106j 122z
11 VT 27 ESC 43 + 59 ; 75 K 91 [ 107k 123{
12 FF 28 FS 44 , 60 < 76 L 92 \ 108l 124|
13 CR 29 GS 45 - 61 = 77 M 93 ] 109m 125}
14 SO 30 RS 46 . 62 > 78 N 94 ^ 110n 126~
15 SI 31 US 47 / 63 ? 79 O 95 _ 111o 127DEL

0~32と127は制御文字というもので、例えば10のLF は改行(Line Feed)のことだよ。33~126は記号、数字、アルファベットだよ。詳しいことは教科書やwebで調べてみよう。


<解答例 2>
F11キーでフルスクリーンモード、Escキーで元に戻ります。

解答例1ほどASCIIコードの生の値を使わずに、Character クラスのメソッドを使った例だよ。


<解答例 3>
F11キーでフルスクリーンモード、Escキーで元に戻ります。

これは正規表現を使った例だよ。




初めての方へ:このページは、このサイトで用意しているプログラミング問題の解答と解説のページです。このサイトではブラウザ上からプログラミングができます。会員登録(無料)して、プログラミングしてみませんか?
新規登録



ログイン
メールアドレス:

パスワード:



パスワード紛失

新規登録