enum Ok{A,A,月1,月1,_,?}
enum Ng{1月,1月,→,!,☆}
public class Main{public static void main(String[] args){
System.out.println("あああああ");
}}//終わり
このJavaプログラムはエラーになります。何故ですか?
要するに、enumに使える列挙子の法則性に興味があります。「?」は通って「!」はエラーって、コンパイルを試みた後に結果を知ると、色々とムカつきます。 「!」は通って「?」はエラーだと嘘が書物に書いてあると、騙されます。
enumで使える列挙子(要素)のタイプが載ってるサイト、enumの列挙子に使うとエラーになってしまう例が載ってるサイトなどを紹介してくれるとありがたいです。
どんな文字列でもenumに使えて、何でもOKなら親切だと思うのに・・・
No.2ベストアンサー
- 回答日時:
Javaで識別子(クラス名や列挙子名や変数名など)に使える文字は、Java文字とJava数字であり、先頭に限ってはJava文字のみとなっています。
http://docs.oracle.com/javase/specs/jls/se7/html …
先頭にも使える文字(Java文字)かどうかは java.lang.Character.isJavaIdentifierStart(char) で調べられます。
http://docs.oracle.com/javase/jp/7/api/java/lang …
先頭以外には使える文字(Java文字またはJava数字)かどうかは java.lang.Character.isJavaIdentifierPart(char) で調べられます。
http://docs.oracle.com/javase/jp/7/api/java/lang …
例えば、下記の様なコードを実行する事で判別する事が出来るでしょう。
System.out.println(Character.isJavaIdentifierPart('?'));
System.out.println(Character.isJavaIdentifierPart('→'));
System.out.println(Character.isJavaIdentifierStart('!'));// 先頭に使えるか
System.out.println(Character.isJavaIdentifierStart('☆'));// 先頭に使えるか
参考URL:http://www.y-adagio.com/public/standards/tr_java …
No.1
- 回答日時:
ちなみにどんなエラーになったんでしょうか?
この回答への補足
javac Main.java
Main.java:2: エラー: \65297は不正な文字です
enum Ng{1月,1月,→,!,☆}
^
Main.java:2: エラー: '}'がありません
enum Ng{1月,1月,→,!,☆}
^
Main.java:2: エラー: \8594は不正な文字です
enum Ng{1月,1月,→,!,☆}
^
Main.java:2: エラー: \65281は不正な文字です
enum Ng{1月,1月,→,!,☆}
^
Main.java:2: エラー: \9734は不正な文字です
enum Ng{1月,1月,→,!,☆}
^
エラー5個
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C言語初心者 構造体 課題について 2 2023/03/10 19:48
- PHP PHPの構文で間違えが分からない 5 2022/07/11 16:38
- Java Java プログラム public class Main { public static void 3 2023/08/10 23:46
- Java javaでのプログラム(配列)について質問です. 2 2022/10/14 22:27
- Java 直し方について教えて頂きたいです。 4 2022/08/13 02:11
- PHP SQLとPHPの連結方法がわからないのでアドバイスお願い致します 1 2022/07/12 12:16
- その他(コンピューター・テクノロジー) 【Tableau Desktop】文字列から8桁の数字を日付型(yyyyMMdd)として取得 1 2023/07/31 10:17
- Java java 入力 3 4 3 出力 ABC DEFG HIJ このようなプログラムの書き方を教えてくだ 2 2022/07/15 14:18
- Visual Basic(VBA) Vba 配列の中の特定文字列の位置の調べ方 9 2022/05/23 17:46
- Java Java 配列<選挙> 4 2023/07/31 15:07
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Eclipseで、プロジェクト名のと...
-
シンボルが見つかりませんとい...
-
タグが閉じてないというエラー...
-
JAVAでアルファベットを数...
-
tomcat起動時エラー
-
Eclipseで次のエラー箇所にジャ...
-
マイクラでBuildcraftを入れる...
-
Java エスケープ文字
-
JSP内でString型からint型に変...
-
arraylistの呼び出し
-
Eclipseの環境について
-
Javaのエラーについてです
-
jspのファイルでエラーが出る
-
エラー:org.springframeworkが...
-
JSPのコンパイル?
-
eclipseをバージョンアップした...
-
拡張子 class ファイルを開きた...
-
JSP NullPointerException
-
JSPで意味不明のコンパイルエラー
-
コンパイル時にエラーが出てし...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Eclipseで、プロジェクト名のと...
-
タグが閉じてないというエラー...
-
エラー:org.springframeworkが...
-
シンボルが見つかりませんとい...
-
構文エラーのやり直しについて
-
JSP内でString型からint型に変...
-
Javaのエラーについてです
-
tomcat起動時エラー
-
Eclipseで次のエラー箇所にジャ...
-
JSPのIF文を教えて下さい
-
eclipseをバージョンアップした...
-
eclipseでのsvn認証エラー回避方法
-
コンパイル時にエラーが出てし...
-
getParameterについて
-
JAVAでアルファベットを数...
-
「型 ArrayList は総称ではあり...
-
Win32コンソールアプリでnamesp...
-
enum列挙子に使える文字列と使...
-
Eclipseの環境について
-
java eclipse apache tomcat 9....
おすすめ情報