-1

メインプログラム

package esss;
// Add
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import esss.DBI;
import esss.Shared;
import esss.Control;



public class deduction extends esss.Control {
protected DBI dbi;

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
  HttpSession session = request.getSession();
  esss.Shared bean = (esss.Shared)session.getAttribute("shared");

  //String[] checked = request.getParameter("deduction");// needs parameter
  String type = request.getParameter("deduction");// needs parameter
  String amount = request.getParameter("amount");

  addDeduction(bean, type, amount);
  gotoPage("/mainPage.jsp", request, response);
}

public void addDeduction(esss.Shared bean,String type, String amount) throws ServletException{
  try {
    dbi = new esss.DBI();
    if(dbi.connect()) {
      String payment ="";
      if(type.equals("Parking Lot A")) {
        payment="10";
      }
      else if(type.equals("Parking Lot B")) {
        payment="5";
      }
      else if(type.equals("Extra Life Insurance(Age<35, 50,000)")) {
        payment="5";
      }
      else if(type.equals("Extra Life Insurance(Age 35-55, 25,000)")) {
        payment="17";
      }
      else if(type.equals("Extra Life Insurance(Age>55, 10,000)")) {
        payment="35";
      }

      if(!(type.equals("none"))) {
        String empId= bean.getEmpId();
        String dedDate = bean.getCurrentDate();
        //String dedId = bean.getdedId();
        //String dedname = bean.getdedName();
        //String dedAmount = bean.getAmount();
        dbi.updateDeduction(empId,dedId, dedName, type,dedDate);
        bean.setMessage("Deduction Added");
      }
      else {
        bean.setMessage("Please make sure you perfrom deduction");
      }
      dbi.close();
    }
    }catch(Exception e) {
      e.printStackTrace();
      bean.setMessage("Exception caught : " + e);
      bean.setError("The database could not be connected");
    }
  }
}

コンパイラ エラー

compile:
[javac] Compiling 22 source files to /home/student/mcintron/cps4931/maricarmen/build/WEB-INF/classes
[javac] /home/student/mcintron/cps4931/maricarmen/src/deduction.java:71: cannot find symbol
[javac] symbol  : variable dedId
[javac] location: class esss.deduction
[javac]                     dbi.updateDeduction(empId,dedId, dedName, type,dedDate);
[javac]                                               ^
[javac] /home/student/mcintron/cps4931/maricarmen/src/deduction.java:71: cannot find symbol
[javac] symbol  : variable dedName
[javac] location: class esss.deduction
[javac]                     dbi.updateDeduction(empId,dedId, dedName, type,dedDate);
[javac]                                                      ^
[javac] 2 errors

BUILD FAILED

これがメイン コードであり、コンパイラを使用してコンパイルすると、エラーが発生します。なぜこのエラーが表示されるのか理解できませんでした。

4

2 に答える 2

0

dedIdは宣言されておらず、コメントで以下の行を見つけることができました。コードのコメントを外すか、以下の行がコンパイルされる可能性があります。

  //String dedId = bean.getdedId();
  //String dedname = bean.getdedName();

これを交換

//String dedId = bean.getdedId();
//String dedname = bean.getdedName();

これで

 String dedId = bean.getdedId();
 String dedname = bean.getdedName();
于 2013-01-11T05:26:42.897 に答える
0

これら 2 つの変数を宣言していませんよね?

行で:

 dbi.updateDeduction(empId,dedId, dedName, type,dedDate);

両方dedIddedName

したがって、それらのコメントを解除する必要があります...上を注意深く見てください。別の問題があるかもしれないと思いますが。一般に、XYZ が見つからないという場合は、宣言さえされていないことを意味します。

于 2013-01-11T05:25:07.577 に答える