プロが教えるわが家の防犯対策術!

失礼致します。よろしくお願いします。
今、現在の時間を取得しようとしています。

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

A 回答 (6件)

解決されたと思いますが、


クラス領域に式は記述できません。
もし、このコードを初期化時に行いたいなら、コンストラクタでやるのがいいと思います。
    • good
    • 1
この回答へのお礼

>クラス領域に式は記述できない

 基本的なことを知りませんでした。
 ありがとうございます(* ̄∇ ̄*)
 しかし、あのつたない説明でよく見抜いてくれましたね。
 「やり方がわからない」以前に間違っているかどうかを疑うこともない内容だったので、指摘していただきほんと助かりました。ありがとうございますm(__)m

お礼日時:2006/08/11 14:11

>回答をされてる皆さん


先入観から、この記述はメソッド内にあると思ってませんか?


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) {
(以下、ここでは無関係はメソッドが続く)

ご指摘のとおり、これはメソッド内にあるのではなく、クラス内の領域に散在しております。
そこが問題なのでしょうか・・?
メソッド内に入れてみます。ありがとうございます。
もしよろしければ補足をお願いします。

補足日時:2006/08/11 12:04
    • good
    • 0

メソッドはご理解されていますか?


ご理解されてないようでしたら、もう一度基礎からやり直したほうがいいでしょう。


>VariableDeclaratorId を指定する必要があります。」
このエラーメッセーじは、インスタンス宣言領域に式を記述したときにでるエラーです。
    • good
    • 1

名前空間の衝突で上手くいかないのかも


NowTimeをNowTime1に変更して、
Date や Calendar などにパッケージを追記してやってみたら?
(java.util.Date = NowTime = new Date())
    • good
    • 0
この回答へのお礼

ありがとうございます。
そういう事もエラーの要因としてはよくあることなのですね。
ご回答いただきありがとうございます。m(__)m

お礼日時:2006/08/11 14:18

ウチで試してみたところでは、コンパイル&実行できました。

この回答への補足

・・、そうですよね。
他のソースではすんなり通ったのに
なぜこのファイルだけ・・
意味不明なんです。
午前10時15分の誤植ではないですし・・

補足日時:2006/08/11 11:40
    • good
    • 0

おそらく、メソッドに記述してないからではないでしょうか?

この回答への補足

ご回答ありがとうございます。
あの・・、めどっどに記述していないとは
何がどこに記述してないということなのでしょうか?
Date()ですと
import java.text.SimpleDateFormat;
import java.util.*;
のどちらかに入っていると思うのですが・・
よろしくお願いします。(・ ・;))。。

補足日時:2006/08/11 11:36
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!