• 締切済み

入力された文字の種類の判別方法

 JDK5.0でウィンドウ型アプリケーションを作成しているのですがTextFieldに入力された文字列が ・カタカナと数字のみ ・数字のみ などの判別をさせたりするには、どのようにすればいいか教えていただけないでしょうか。よろしくお願いします。

みんなの回答

  • ssr-y6
  • ベストアンサー率71% (5/7)
回答No.3

 以下のプログラムは、テキストフィールドに任意の文字列を入力して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)
回答No.2

数字の場合は、 java.lang.Character.isDigit(int) を使って、文字列を走査すればいいと思う。 カナと数字の場合は、 java.util.regex パッケージを使って正規表現でマッチさせるといいんじゃないかな。

回答No.1

↓ここを見れば一発ですよ!  がんばって下さい。

参考URL:
http://allabout.co.jp/internet/hpcreate/closeup/CU20050620A/index.htm

関連するQ&A