

No.2ベストアンサー
- 回答日時:
>JAVAで全角カナ文字をチェックし、それ以外の文字であった場合に条件分岐させる
これは、「全角カナ以外の文字があるかどうか」をチェックするということでしょうか。「半角カナが含まれていないか」を調べる、ではないわけですね。(つまり、全角カナ以外の半角カナ、半角英数字、全角漢字、全部あったらチェックする)
時間がないということのようですので、手っ取り早く「総当り」で調べるメソッドをあげておきましょう。ぱっと思いついて書いた程度なので、とてもベタなものです。
もし、「半角カナが混じっているかチェックする」というなら、zenkakuに半角カナのデータを用意して少しアレンジすればできるでしょう。
public class Sample {
public static void main(String[] args) {
System.out.println(isZenkaku("アイウエオ"));
}
// isZenkaku(String)がtrueなら、全部全角カナ。
public static boolean isZenkaku(String str) {
String zenkaku = "アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヲンァィゥェォッャュョ";
boolean result = false;
for (int i = 0; i < str.length(); i++) {
char c1 = str.charAt(i);
boolean flg = false;
for (int j = 0; j < zenkaku.length(); j++) {
char c2 = zenkaku.charAt(j);
if (c1 == c2) {
flg = true;
}
}
result = flg ? true : result;
}
return result;
}
}
>これは、「全角カナ以外の文字があるかどうか」をチェックするということでしょうか。「半角カナが含まれていないか」を調べる、ではないわけですね。(つまり、全角カナ以外の半角カナ、半角英数字、全角漢字、全部あったらチェックする)
まさにおっしゃるとおりです。言葉足らずな質問の趣旨を的確に捉えて頂いてありがとうございます。
ロジックもわかりやすく説明して頂いているので、Kyon2_PaPaさんの書き方を参考に作りたいと思います。
ありがとうございました。
No.4
- 回答日時:
適当な作りですが・・・。
static String KANA = "アイ・・・ン";
private boolean isKana(string strParam){
for (int i = 0; i < strParam.length; i++){
if (KANA.indexOf( strParam.substring( i, i + 1) ) > -1){
return false;
}
}
return true;
}
素早いご返信ありがとうございます。
他の皆様もそうですが、すごく単純に作れるものなんですね。
勉強になりました、参考になります。
ありがとうございました。
No.3
- 回答日時:
私なら以下の様な感じにします。
細かい仕様は修正してください。public static boolean isFurigana(char c) {
switch (c) {
case 0x30A1:// ァ
case 0x30A2:// ア
case 0x30A3:// ィ
case 0x30A4:// イ
case 0x30A5:// ゥ
case 0x30A6:// ウ
case 0x30A7:// ェ
case 0x30A8:// エ
case 0x30A9:// ォ
case 0x30AA:// オ
return true;
default:
return Character.isSpaceChar(c);
}
}
public static void main(String[] args) {
String s = "アイ ウ エオ";
int length = s.length();
int i = 0;
while (i < length && isFurigana(s.charAt(i)))
i++;
System.out.println(s);
System.out.println(i == length);
}
素早いご返信ありがとうございます。
勉強になります。
書き方が色々あることがわかりました。
ただ、基本はカナを格納する変数を作って、
チェックしたいString変数とカナ変数とを比較してチェックするということですね。(上手く説明できないですが、イメージはできました)
参考にします。ありがとうございました。
No.1
- 回答日時:
class ho{
public static void main(String args[]){
String hoge = "あいうえお";
if(hoge.equals("あいうえお")){
System.out.println("Hello");
} else {
System.out.println("World");
}
}
}
参考URL:http://java.sun.com/j2se/1.3/ja/docs/ja/api/java …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
カタカナの小文字を大文字に変...
-
C言語のポインターに関する警告
-
IF関数でEmpty値を設定する方法。
-
ORA-01858: 数値を指定する箇所...
-
ループ処理の際、最後だけ","を...
-
System.err. printlnとSystem.o...
-
System.exit()の値を取得したい
-
動的配列が存在(要素が有る)か...
-
javaで質問です。 文字列2023/2...
-
1~100までの数字を表示したい
-
【C#】ハッシュテーブル(連想...
-
streamで送信されたArrayListを...
-
0dの意味を教えてください
-
VBAで配列の計算
-
[Ljava.lang.Stringってなんですか
-
オブジェクトの中のプロパティ...
-
matchesを否定文として使う方法...
-
flush()とclose()について
-
コンストラクタの引数の中のnew?
-
BCD形式で時刻を!
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
カタカナの小文字を大文字に変...
-
C#の質問
-
改行コードの置換が…
-
JAVA Servlet での全角文字判定
-
C言語のポインターに関する警告
-
System.err. printlnとSystem.o...
-
ORA-01858: 数値を指定する箇所...
-
IF関数でEmpty値を設定する方法。
-
オブジェクトの中のプロパティ...
-
javaで質問です。 文字列2023/2...
-
ループ処理の際、最後だけ","を...
-
JSPやサーブレットでSystem.out...
-
パソコンキーボードで時分秒を...
-
変数を動的に利用するには?
-
Path型をString型へ変換する(Java)
-
eclipseに記述したjavaファイル...
-
0dの意味を教えてください
-
大量のデータを読み込んで表示...
-
flush()とclose()について
-
wsprintf関数の使い方について
おすすめ情報