- PR -

jspの条件式について

投稿者投稿内容
いちじ
会議室デビュー日: 2004/05/21
投稿数: 15
投稿日時: 2004-05-24 14:42
条件式で、セレクトボタンから点数と出欠を読み取り、80点以上がA,70点〜79点までがB,60点〜69点までがC,それ以下がEで、出席が15回あって、二回欠席すると80点以上がB,70点〜79点までがC,それ以下がEになり、3回欠席すると80点以上がC,それ以下がEになり、4回欠席すると全員Eになるプログラムをつくりたいのですが本などを探しても見つかりませんでした。おしえていただけませんか?
ちなみに遅刻2回で欠席1となります。
Edosson
ぬし
会議室デビュー日: 2004/04/30
投稿数: 675
投稿日時: 2004-05-24 15:56
「(「JSPから」とつくのでしょうか)条件式で、セレクトボタンから点数と出欠を読み取り、」
以外の部分は、判定と分岐の組み合わせで、どのような言語ででも作成できるものです。
というか、こういうことは、まず一人でできなければお話にならないのでは?

本を探しても見つからなかったとは、どのような探し方をしたのでしょうか。
そのものズバリのコードを探した、というのであれば、的はずれもいいところです。
まずは、腰を据えて、勉強しましょうよ。
いちじ
会議室デビュー日: 2004/05/21
投稿数: 15
投稿日時: 2004-05-24 16:21
15個分の出欠や点数のセレクトボタンで選択したものをどうやって条件式に用いるかがをかりません!ふつうの条件式なら簡単なのですが…。本はそのもののプログラムなんか見つかるわけないのでそのようには調べていないです…。
Edosson
ぬし
会議室デビュー日: 2004/04/30
投稿数: 675
投稿日時: 2004-05-24 16:29
引用:

15個分の出欠や点数のセレクトボタンで選択したものをどうやって条件式に用いるかがをかりません!



最初から15個、なんてのは、我々凡人は考えなくていいんです。
雲の上の人に任せておきましょう。

引用:

ふつうの条件式なら簡単なのですが…。


条件がひとつだったら簡単にできるんですよね。
じゃ、それで、ちゃんと動くコードを書きましょう。
動いたら、条件をひとつ増やして2にして、ちゃんと動くコードを書きましょう。
動いたら、・・・(略)
動いたら、条件をひとつ増やして15にして、ちゃんと動くコードを書きましょう。

簡単でしょ?

<追記>
「簡単でしょ?」はイヤミでした。申し訳ありません。

で、誰でも、難しい問題はまず単純にして、
少しずつ複雑にしていく、ということをやってるわけです。
がんばってください。

[ メッセージ編集済み 編集者: Edosson 編集日時 2004-05-24 16:32 ]
いちじ
会議室デビュー日: 2004/05/21
投稿数: 15
投稿日時: 2004-05-26 16:22
評価のプログラムを作ってみましたが、下のようなエラーが出てしまいました。
JSPファイル: /jsp/nakagawa/mihon1.jsp の中の行: 148でエラーが発生しました

生成されたサーブレットのエラーです:
C:\Program Files\Apache Group\Tomcat 4.1\work\Standalone\localhost\examples\jsp\nakagawa\mihon1_jsp.java:317: 互換性のない型
検出値 : char
期待値 : java.lang.String[]
hyouka = 'B';

プログラムは下に示しました。何かお気づきの点がありましたらアドバイスをよろしくお願いします。
try {
Statement st = conn.createStatement();
String sql = "SELECT * FROM kadai";
ResultSet rs = st.executeQuery(sql);
rs.next();
String[] shukketu =request.getParameterValues("shukketu") ;
String[] shukketu2 =request.getParameterValues("shukketu2");
String[] shukketu3 =request.getParameterValues("shukketu3");
String[] shukketu4 =request.getParameterValues("shukketu4");
String[] shukketu5 =request.getParameterValues("shukketu5");
String[] shukketu6 =request.getParameterValues("shukketu6");
String[] shukketu7 =request.getParameterValues("shukketu7");
String[] shukketu8 =request.getParameterValues("shukketu8");
String[] shukketu9 =request.getParameterValues("shukketu9");
String[] shukketu10 =request.getParameterValues("shukketu10");
String[] shukketu11 =request.getParameterValues("shukketu11");
String[] shukketu12 =request.getParameterValues("shukketu12");
String[] shukketu13 =request.getParameterValues("shukketu13");
String[] shukketu14 =request.getParameterValues("shukketu14");
String[] shukketu15 =request.getParameterValues("shukketu15");
String[] ten = request.getParameterValues("ten");
String[] hyouka =request.getParameterValues("hyouka");
st=conn.createStatement();
st.executeUpdate(sql);
int v;
String n = Integer.toString(v);
for (int k = 2; k <= 15; k++) {
n = shukketu + shukketu[k];
}
v = Integer.parseInt(n);
int ten1 = Integer.parseInt(ten);
if (ten1 >=80) {
if ( v < 4) {
hyouka = 'A' ;
}
else if ( v < 6) {
hyouka = 'B';
}
else if ( v < {
hyouka = 'C';
}
else {
hyouka = 'E';
}
}
else if (ten1 >=70) {
if ( v < 4) {
hyouka = 'B';
}
else if ( v < 6) {
hyouka = 'C';
}
else {
hyouka = 'E';
}
}
else if (ten1 >=60) {
if ( v < 4) {
hyouka = 'C';
}
else {
hyouka = 'E';
}
}
else {
hyouka = 'E';
}
out.println("<td>" + rs.getString("hyouka") + "</td>");
}

catch (Exception e) {
out.println("<p>追加エラー");
}
}
Edosson
ぬし
会議室デビュー日: 2004/04/30
投稿数: 675
投稿日時: 2004-05-26 16:31
エラーメッセージに出ているとおりですが。

引用:

生成されたサーブレットのエラーです:
C:Program FilesApache GroupTomcat 4.1workStandalonelocalhostexamplesjspnakagawamihon1_jsp.java:317: 互換性のない型
検出値 : char
期待値 : java.lang.String[]

(略)
String[] hyouka =request.getParameterValues("hyouka");
(略)
hyouka = 'B';
(略)



String型の配列に、charを代入することはできませんよ。
いちじ
会議室デビュー日: 2004/05/21
投稿数: 15
投稿日時: 2004-05-26 16:47
(略)
char[] hyouka =request.getParameterValues("hyouka");
(略)
hyouka = 'B';
(略)

とやってみたのですが今度はこのようにでました。
生成されたサーブレットのエラーです:
C:Program FilesApache GroupTomcat 4.1workStandalonelocalhostexamplesjspnakagawamihon1_jsp.java:317: 互換性のない型
検出値 : java.lang.String[]

期待値 : char

いっきゅう
大ベテラン
会議室デビュー日: 2004/04/04
投稿数: 153
お住まい・勤務地: 兵庫
投稿日時: 2004-05-26 16:51
つっこみどころ満載でどっから手をつければいいのか、、
1.
SELECTでResultSet取得した後、UPDATEを発行して取得していた
ResultSetのデータを表示しているけど正しいの?
> out.println("<td>" + rs.getString("hyouka") + "</td>");
ここのとこだけどResultSetからでなく条件式で判定した結果を
そのまま書けばいいんじゃないですか。

2.
> int v;
> String n = Integer.toString(v);
> for (int k = 2; k <= 15; k++) {
> n = shukketu + shukketu[k];
> }
> v = Integer.parseInt(n);

何がしたいか意味不明?
String配列とStringを連結して(ここがまずおかしい)、
intに変換してるけどその文字数字ですか?

前の話から予測するに出席回数でもカウントしているんかいな?

3.
Edossonさんの指摘の配列にStringをそのまま格納しようとしてる。
配列の位置をちゃんと書きましょうよ、、

> プログラムは下に示しました。
> 何かお気づきの点がありましたらアドバイスをよろしくお願いします。

以上です^^

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