- 締切済み
入力された文字の種類の判別方法
JDK5.0でウィンドウ型アプリケーションを作成しているのですがTextFieldに入力された文字列が ・カタカナと数字のみ ・数字のみ などの判別をさせたりするには、どのようにすればいいか教えていただけないでしょうか。よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- ssr-y6
- ベストアンサー率71% (5/7)
以下のプログラムは、テキストフィールドに任意の文字列を入力してCheckボタンを押すと、 使われているキャラクタ(数値のみ/数値とカタカナのみ/それ以外を含む)に応じたメッセージをラベルに書き出すサンプルです。 import java.awt.*; import java.awt.event.*; class chartest { Button BN; Label LB; TextField TF; public chartest(Frame p) { p.add(TF = new TextField(), BorderLayout.NORTH); p.add(BN = new Button("Check"), BorderLayout.CENTER); p.add(LB = new Label("Start"), BorderLayout.SOUTH); BN.addActionListener(new checkaction()); }; class checkaction implements ActionListener { public void actionPerformed(ActionEvent ae) { String s = new String(TF.getText()); if (s.matches("[[0-9][0-9]]*")) LB.setText("数値のみ"); else if (s.matches("[[0-9][0-9][ヲ-ン][ァ-ヶ]]*")) LB.setText("数値とカタカナ"); else LB.setText("数値/カタカナ以外を含む"); }; } } public class charcheck { public static void main(String args[]) { Frame MF = new Frame("Character Check"); MF.setSize(320,120); MF.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(0); }; }); new chartest(MF); MF.setVisible(true); }; }
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
数字の場合は、 java.lang.Character.isDigit(int) を使って、文字列を走査すればいいと思う。 カナと数字の場合は、 java.util.regex パッケージを使って正規表現でマッチさせるといいんじゃないかな。
- javatea_1985
- ベストアンサー率0% (0/2)
↓ここを見れば一発ですよ! がんばって下さい。