我在班级calRoomCharges(int cusID)
public class transactions extends javax.swing.JFrame
的方法
然后我将这个类导入到名为public class AddReservation extends javax.swing.JFrame
我按如下方式导入了该类。
import myhotel.FrontOffice.transactions;
这两个类都在同一个项目中。
但是当我打算在calRoomCharges(int cusID)
课程中调用方法AddReservation
时,它会说没有这样的方法。
我是在netbeans中做到的。
那么我应该导入该类并使用我在另一个类中创建的方法吗?
这是我创建的方法
public double calRoomCharges(int cusId)
{
double tot=0.0;
try
{
//Get Rates
String sql="SELECT nights FROM reservation where cus_id ='"+cusId+"'";
pst=conn.prepareStatement(sql);
rs=pst.executeQuery();
int nights = 0;
if(!rs.next())
{
//handle no result
}
else
{
nights = rs.getInt("nights") ;
}
//Get number of rooms
String sql2="SELECT no_of_rooms FROM reservation where cus_id ='"+cusId+"'";
pst=conn.prepareStatement(sql2);
rs=pst.executeQuery();
int rooms =0;
if(!rs.next())
{
//handle no result
}
else
{
rooms = rs.getInt("no_of_rooms") ;
}
//Get rates
String sql3="SELECT rates from room_type a,rooms b ,reservation r where a.type=b.type AND b.room_no=r.room_no AND r.cus_id='"+cusId+"' group by r.cus_id";
pst=conn.prepareStatement(sql3);
rs=pst.executeQuery();
double roomRates =0.0;
if(!rs.next())
{
//handle no result
}
else
{
roomRates = rs.getDouble("rates") ;
}
//Calculate room charges
tot =roomRates * rooms * nights;
}
catch(Exception e){}
return tot;
}
这就是我称之为
的方式private void EmpnamefieldMouseClicked(java.awt.event.MouseEvent evt) {
int cusNo =Integer.parseInt(cusID.getText());
double roomCharges = calRoomCharges(cusNo);
}
答案 0 :(得分:0)
您有两种调用calRoomCharges方法的可能性:
该方法是一种静态方法,您可以通过以下方法调用它:
transactions.calRoomCharges(123);
该方法是一种对象方法,因此您必须首先创建一个对象:
transactions obj = new transactions();
obj.calRoomCharges(123);
答案 1 :(得分:0)
您只需要使方法静态或通过对象
调用它public static double calRoomCharges(int cusId)
{
// ...
}
并称之为:
double roomCharges = transactions.calRoomCharges(cusNo);
或通过创建的对象调用它:
transactions t = new transactions();
double roomCharges = t.calRoomCharges(cusNo);
一个好处是用第一个大写字母命名类,这样你就有了类事务