- ベストアンサー
時間の取得
失礼致します。よろしくお願いします。 今、現在の時間を取得しようとしています。 Date today=new Date(); SimpleDateFormat dateForm=new SimpleDateFormat("yyyy-MM-dd"); Calendar calendar = new GregorianCalendar(); Date NowTime = new Date(); calendar.setTime(NowTime); //☆ int year=calendar.get(Calendar.YEAR); // 年の取得 String stryear = Integer.toString(year); int month=calendar.get(Calendar.MONTH)+1; // 月の取得 String strmonth = Integer.toString(month); という流れで年月日をとりました。 しかし☆の所で「トークン "NowTime" に構文エラーがあります。このトークンの後には VariableDeclaratorId を指定する必要があります。」「トークンに構文エラーがあります。構成の位置が間違っています。」とでます。 他のソースではうまくいったのにどうして駄目なのか分かりません。 importもしてますし、{}等の間違いもないはずです。 何が悪いのでしょうか?よろしくお願いします。m(__)m
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
解決されたと思いますが、 クラス領域に式は記述できません。 もし、このコードを初期化時に行いたいなら、コンストラクタでやるのがいいと思います。
その他の回答 (5)
>回答をされてる皆さん 先入観から、この記述はメソッド内にあると思ってませんか? javatea_1985さん 一部だけではなく、全文を載せてください。
補足
ご回答ありがとうございます。 前文ですとすごく長くなるのですが・・ public class dbsyori01 implements Data { HttpSession session; // 現在日付 Date today=new Date(); SimpleDateFormat dateForm=new SimpleDateFormat("yyyy-MM-dd"); Calendar calendar = new GregorianCalendar(); Date NowTime = new Date(); calendar.setTime(NowTime); int year=calendar.get(Calendar.YEAR); // 年の取得 String stryear = Integer.toString(year); int month=calendar.get(Calendar.MONTH)+1; // 月の取得 String strmonth = Integer.toString(month); if (month < 10) { strmonth = 0 + strmonth; } int day=calendar.get(Calendar.DATE); // 日の取得 String strday = Integer.toString(day); public db(HttpSession session){ this.session = session; } public Vector Info(data) { (以下、ここでは無関係はメソッドが続く) ご指摘のとおり、これはメソッド内にあるのではなく、クラス内の領域に散在しております。 そこが問題なのでしょうか・・? メソッド内に入れてみます。ありがとうございます。 もしよろしければ補足をお願いします。
メソッドはご理解されていますか? ご理解されてないようでしたら、もう一度基礎からやり直したほうがいいでしょう。 >VariableDeclaratorId を指定する必要があります。」 このエラーメッセーじは、インスタンス宣言領域に式を記述したときにでるエラーです。
- process9
- ベストアンサー率29% (81/271)
名前空間の衝突で上手くいかないのかも NowTimeをNowTime1に変更して、 Date や Calendar などにパッケージを追記してやってみたら? (java.util.Date = NowTime = new Date())
お礼
ありがとうございます。 そういう事もエラーの要因としてはよくあることなのですね。 ご回答いただきありがとうございます。m(__)m
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
ウチで試してみたところでは、コンパイル&実行できました。
補足
・・、そうですよね。 他のソースではすんなり通ったのに なぜこのファイルだけ・・ 意味不明なんです。 午前10時15分の誤植ではないですし・・
おそらく、メソッドに記述してないからではないでしょうか?
補足
ご回答ありがとうございます。 あの・・、めどっどに記述していないとは 何がどこに記述してないということなのでしょうか? Date()ですと import java.text.SimpleDateFormat; import java.util.*; のどちらかに入っていると思うのですが・・ よろしくお願いします。(・ ・;))。。
お礼
>クラス領域に式は記述できない 基本的なことを知りませんでした。 ありがとうございます(* ̄∇ ̄*) しかし、あのつたない説明でよく見抜いてくれましたね。 「やり方がわからない」以前に間違っているかどうかを疑うこともない内容だったので、指摘していただきほんと助かりました。ありがとうございますm(__)m