- PR -

クラスのインポートについて

投稿者投稿内容
くり
常連さん
会議室デビュー日: 2006/10/30
投稿数: 28
お住まい・勤務地: tokyo
投稿日時: 2006-11-13 18:11
<%@ page import="list.InputCheck" %>
<%
 String id = request.getParameter("i");
 String str = id;

  checkID che = checkID();
if(che != new checkID(str)){
//false
}
//true

%>

checkIDというメソッドをつくったのですが、JSPでインポート宣言しても
サーブレットエラーになります。
どのようにインポートすればよいでしょうか。
checkIDメソッドは、内容は引数が整数か、桁数、数字であるかを調べています。
また当方初心者なため、質問が適切ではないと思いますが、それも含めご指導いただけるとありがたいです。

具体的なエラーです。
checkID cannot be resolved to a type
The method checkID() is undefined for the type update_jsp
checkID cannot be resolved to a type
よろしくお願いします
mio
ぬし
会議室デビュー日: 2005/08/25
投稿数: 734
お住まい・勤務地: 神奈川県
投稿日時: 2006-11-13 18:30
>checkIDというメソッドをつくったのですが、
どこにどのように作ったんでしょうか?
JSPでメソッドを作るには、特別な記述が必要です。

importということは、別のクラスなんですか?
であれば hogehoge.checkID();
になるはずですが…。

>new checkID(str)
名前が同じ…。
らざるす
会議室デビュー日: 2002/11/15
投稿数: 11
投稿日時: 2006-11-13 18:30
返答ではないですが....

> また当方初心者なため、質問が適切ではないと思いますが、
> それも含めご指導いただけるとありがたいです。

ご自分で初心者だと思っているのなら、Eclipse 等のIDEを使用したほうが良いのでは?
IDEならソースを書きながらコンパイルエラーがすぐわかるし、今回のエラーもなぜ
発生するかの理解が早くなると思いますよ。
くり
常連さん
会議室デビュー日: 2006/10/30
投稿数: 28
お住まい・勤務地: tokyo
投稿日時: 2006-11-13 20:43
補足です。
IDEはエクリプスを使ってます。
パッケージlist,クラスInputCheckを
はじめに宣言しています。
別にクラスを作りJSPで呼び出しています。
JSPを表示すると、上記のコンパイルエラー出ます。
山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2006-11-14 00:33
まず、事をシンプルにするため、JSPじゃなくて main メソッドで実行するプログラムを書いてみましょう。
nagise
ぬし
会議室デビュー日: 2006/05/19
投稿数: 1141
投稿日時: 2006-11-14 00:40
引用:

らざるすさんの書き込み (2006-11-13 18:30) より:
ご自分で初心者だと思っているのなら、Eclipse 等のIDEを使用したほうが良いのでは?
IDEならソースを書きながらコンパイルエラーがすぐわかるし、今回のエラーもなぜ
発生するかの理解が早くなると思いますよ。



JSPの場合は間接的にやるから初心者にはキツイものがありますね。
とりあえず動かすには初心者向けなのかもしれませんが、
一旦嵌ると原理を理解するのが大変なだけよけいに深みに嵌る気もします。

「checkIDというメソッドをつくった」とありますが、
コード:
checkID che = checkID();
if(che != new checkID(str)){ 


というコードですからcheckIDってクラスなのでは?
JSPではない普通のJavaだとしてもコンパイルが通りようも無いコードになってますね。
インギさんのおっしゃるようにメソッドの使い方を確認してから
JSPにしたほうがよいのではないでしょうか。

根本的にクラスとメソッドとコンストラクタを正しく理解していないように伺えます。
uk
ぬし
会議室デビュー日: 2003/05/20
投稿数: 1155
お住まい・勤務地: 東京都
投稿日時: 2006-11-14 00:47
引用:

nagiseさんの書き込み (2006-11-14 00:40) より:
というコードですからcheckIDってクラスなのでは?


いや、おそらくInputCheckがクラスでcheckIDがそのメソッドでしょう。
であれば、InputCheckのコードをcheckIDの部分だけでも載せてもらえば、どのように
書けばいいかは回答できると思います。

それはそれとして、まずは基本からキチンと勉強することが必要だと思います。
くり
常連さん
会議室デビュー日: 2006/10/30
投稿数: 28
お住まい・勤務地: tokyo
投稿日時: 2006-11-14 10:29
返信ありがとうございます。

-----------------------------------------------------------
InputCheckID ic = InputCheck(); //コンストラクタの呼び出し
ic.checkID(); //メソッドの呼び出し

if(!ic.checkID(str)){
//false
}
//true
------------------------------------------------------------

まず、コンストラクタの呼び出しをおこなっなかったのは理解でいました。
メソッドと混同してました。

-----------------------------------------------------------
private boolean checkC(String str,int b){ //桁数チェック
int length = str.getBytes().length;
if(length> b) { //最大文字数よりも多かった場合
System.out.println("数値変換エラー");
return false.
}
return true;
}


public boolean checkID(String str){ //IDチェックメソッド

checkA(str);
checkB(str);
checkC(str,2);
return true;
}
checkIDメソッドになります。

スキルアップ/キャリアアップ(JOB@IT)