梦魇等级 - 花车/弦乐

sil*_*2k7 -3 java class

这是我的课程负责新项目条目,从一开始它就是一个完整的噩梦,我似乎无法解决我面临的问题:

Item中的setStock(float)不能应用于()

物品条目:

private void writeItemRecord()
         {
             // Check to see if we can connect to database table
             if ( DataBaseHandler.makeConnectionToitemDB() == -1)
               {
                   JOptionPane.showMessageDialog (frame, "Unable to connect to database table (Item)");
               }
             else  // Ok, so first read data from the text fields
               {
                   // Read data from form and store data     

                   String Itemname = ItemnameTxtField.getText();
                   String Itemcode = ItemcodeTxtField.getText();
                   String Description = DescriptionTxtField.getText();
                   String Unitprice = UnitpriceTxtField.getText();
                   String Style = StyleTxtField.getText();
                   String Finish = FinishTxtField.getText();
                   String Stock = StockTxtField.getText();



                   // Convert priceStr to a float
                   Float fvar = Float.valueOf(Unitprice);
                   float price = fvar.floatValue();

                   Float svar = Float.valueOf(Stock);
                   float stock = svar.floatValue();

                   // Create a Item oject
                   Item Item = new Item();

                   // Set the attributes for the Item object

                   Item.setItemname (Itemname);
                   Item.setItemcode (Itemcode);
                   Item.setDescription (Description);
                   Item.setUnitprice (price);
                   Item.setStock(stock);
                   Item.setStyle(Style);
                   Item.setFinish(Finish);

                   // Write Item record.  Method writeToItemTable() returns
                   // 0 of OK writing record, -1 if there is a problem.  I store
                   // the returned value in a variable called error.
                   int error = DataBaseHandler.writeToItemTable(Item.getItemname(),
                                                                Item.getItemcode(),
                                                                Item.getDescription(),
                                                                Item.getUnitprice(), 
                                                                Item.setStock(),
                                                                Item.setStyle(Style),
                                                                Item.setFinish(Finish),
                                                                Item.setSuppliercode(Suppliercode),
                                                                Item.setSuppliername(Suppliername),
                                                                Item.setAddress(Address)
                                                                );

                   // Check if there is a problem writing the record, in 
                   // which case error will contain -1                                         
                   if (error == -1)
                     {
                         JOptionPane.showMessageDialog (frame, "Problem writing record to Item Table");
                     }

                  // Clear the form - actual method is coded below
                  clearForm();

                  // Close database connection.  Report an error message
                  // if there is a problem.
                  if ( DataBaseHandler.closeConnection() == -1 )
                     {
                         JOptionPane.showMessageDialog (frame, "Problem closing data   base conection");
                     }
                }

         }  // End
Run Code Online (Sandbox Code Playgroud)

任何帮助深表感谢!

和项目提取:

public void setStock(float StockIn)
  {
      Stock = StockIn;
  }   

public float getStock()
  {
     return Stock;
  }  
Run Code Online (Sandbox Code Playgroud)

Mar*_*nik 5

对于初学者,请遵守Java命名约定.除了类/接口名称之外,不允许使用CamelCase.使用lowerCamelCase.至于你的"问题",你写道

Item.setStock(),
Run Code Online (Sandbox Code Playgroud)

所以很明显它会给你错误.它还为您提供了错误的确切行号,这显然有助于我们诊断您的问题.

解决方案:使用Item.getStock()(我想,这很难说).在那个位置调用Item.setStock(作为方法调用的参数)无论如何都是没有意义的,因为setStock是一个void方法.