2016-03-28 52 views
-1
private void btnSaveActionPerformed(java.awt.event.ActionEvent evt) {           
     try 
     { 
      DVD dvd = new DVD(txtTitle.getText(), 
        Integer.parseInt(txtYear.getText()), 
        true); 

      if(collection.addDVD(dvd)) 
       JOptionPane.showMessageDialog(this, "dvd added successfully"); 

基本上我需要在关闭时保存我的dvd集合,但if语句给了我无效的错误无法转换为布尔值。如果声明错误,无法将void无法转换为布尔型

这是addDvd方法

public void addDVD(DVD inDVD) 
    { 
     dvds.add(inDVD); 
     inDVD.setID(nextID); 
     nextID++; 
    } 

因为它是从我的老师给出的空隙addDvd方法不能被改变......

+0

如果你想显示的消息?需要吗? – Basilevs

+0

如果方法是'void',那么它不能返回一个值。 –

+0

这就是为什么 要创建一个DVD,我们必须点击添加按钮,当我们添加一个子框架弹出,然后它有它需要填充的细节......然后需要保存,当我们点击保存按钮 但是,我们需要确保年份是数字,否则它将是一个错误,如果相同的DVD已经存在,那么我们不能添加它,因为它已经存在? –

回答

-1

你为什么想测试的addDVD()返回结果?你可以这样做:

collection.addDVD(dvd); 
JOptionPane.showMessageDialog(this, "dvd added successfully"); 
+0

这就是为什么 要创建一个DVD,我们必须点击添加按钮,当我们添加一个子框架弹出,然后它有它需要填充的细节......然后需要保存,当我们点击保存按钮 但是,我们需要确保年份是数字,否则它将是一个错误,如果相同的DVD已经存在,那么我们不能添加它,因为它已经存在? –

+0

那么你需要将这些检查添加到'addDVD()'并让它返回'boolean'。 –

-1

试试这个:

try { 
// do all the work as above 
// remove if statement 
collection.addDVD(dvd); 
JOptionPane.showMessageDialog(this, "dvd added successfully"); 
} 
catch { 
// catch the error here 
JOptionPane.showMessageDialog(this, "dvd not added successfully"); 
} 
+0

这就是为什么 要创建一个DVD,我们必须点击添加按钮,当我们添加一个子框架弹出,然后它有它需要填充的细节......然后需要保存,当我们点击保存按钮 但是,我们需要确保年份是数字,否则它将是一个错误,如果相同的DVD已经存在,那么我们不能添加它,因为它已经存在? –

+0

您可以创建一个函数来检查dvd是否已经存在。例如。当你添加新的DVD时,你可以使用hashmap 。另一个用于检查DVD是否已经添加并使该函数返回布尔值的函数 – Want2bExpert

相关问题