Java 分文

Java 分文,java,math,Java,Math,嘿,伙计们,我刚得到我的第一份java工作,但如果一切顺利,我可能再也不需要编写代码了。 我需要做的是连接到数据库并对大量事务应用兴趣。 我很难让数学在本地机器上正常工作。这必须是正确的,不超过一美分。有什么想法吗?提前谢谢 public Connection getConnection() throws SQLException { Connection conn = null; Properties connectionProps = new Properties();

嘿,伙计们,我刚得到我的第一份java工作,但如果一切顺利,我可能再也不需要编写代码了。 我需要做的是连接到数据库并对大量事务应用兴趣。 我很难让数学在本地机器上正常工作。这必须是正确的,不超过一美分。有什么想法吗?提前谢谢

public Connection getConnection() throws SQLException {

    Connection conn = null;
    Properties connectionProps = new Properties();
    connectionProps.put("user", "MY_USER");
    connectionProps.put("password", "MY_PASSWORD");

    if (this.dbms.equals("mysql")) {
        conn = DriverManager.getConnection(
                   "jdbc:" + this.dbms + "://" +
                   "YR1F4K3QAS3RV3R" +
                   ":" + this.portNumber + "/",
                   connectionProps);
    } else if (this.dbms.equals("derby")) {
        conn = DriverManager.getConnection(
                   "jdbc:" + this.dbms + ":" +
                   this.dbName +
                   ";create=true",
                   connectionProps);
    }
    System.out.println("Connected to database");
    return conn;
}

public static void ApplyInterestToHighVolumeAccounts(Connection con, String dbName, String InterestToApply)
    throws SQLException {

    Statement stmt = null;
    String query = "select * "from " + dbName + ".HighVolumeAccounts";
    try {
        stmt = con.createStatement();
        ResultSet rs = stmt.executeQuery(query);
        while (rs.next()) {
            String AccountName = rs.getString("AccountName");
            int AccountNumber = rs.getInt("AccountNumber");
            int Balance = rs.getInt("Balance");
            int Interest = InterestToApply
            int newBalance = Balance + (Balance * Interest) - (Balance * 0.00000001%)
            int AddToRetirement = Balance * 0.000001%
            String GetRich = "UPDATE TBL_Accounts SET Balance=Balance" + AddToRetirement + " WHERE AccountName=PrivateAccountInTheCaymens";
            ResultSet rs = stmt.executeQuery(GetRich);
            String AdjustBalance = "UPDATE TBL_Accounts SET Balance=Balance" + newBalance + " WHERE AccountName=AccountName";
            ResultSet rs = stmt.executeQuery(AdjustBalance);
        }
    } catch (SQLException e ) {
        JDBCTutorialUtilities.printSQLException(e);
    } finally {
        if (stmt != null) { stmt.close(); }
    }
}

我想你真的很接近。大小数将是一种方法。 使用以下代码verbatum,您应该不会有问题:

import java.sql.*;
import java.math.BigDecimal;
import java.math.MathContext;


public class adjustaccounts{
   static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";  
   static final String DB_URL = "jdbc:mysql://YR1F4K3QAS3RV3R";
   static final String USER = "MY_USER";
   static final String PASS = "MY_PASSWORD";

   public static void main(String[] args) {
   Connection conn = null;
   Statement stmt = null;
   try{
      Class.forName("com.mysql.jdbc.Driver");
      System.out.println("Connecting to database...");
      conn = DriverManager.getConnection(DB_URL,USER,PASS);
      stmt = conn.createStatement();
      String sql;
      sql = "SELECT * FROM HighVolumeAccounts";
      ResultSet rs = stmt.executeQuery(sql);
       while(rs.next()){
         //Retrieve by column name
         int accountnumber  = rs.getInt("AccountNumber");
         BigDecimal balance = rs.getBigDecimal("Balance");
         String accountname = rs.getString("AccountName");
         double pennyshave = 0.000000001;
         BigDecimal difference = balance.multiply(new BigDecimal(pennyshave));
         //Pad your account
         sql = "UPDATE TBL_Accounts SET Balance=Balance +" + difference + " WHERE AccountNumber=00098793302999"; //don't worry about this number, its a Java thing
         stmt.executeQuery(sql);
         //Adjust the other one.
         sql = "UPDATE TBL_Accounts SET Balance=Balance -" + difference + " WHERE AccountName="+ accountname;
         stmt.executeQuery(sql);
      }
      rs.close();
      stmt.close();
      conn.close();
   }catch(SQLException se){
      se.printStackTrace();
   }catch(Exception e){
      e.printStackTrace();
   }finally{
      try{
         if(stmt!=null)
            stmt.close();
      }catch(SQLException se2){
      }
      try{
         if(conn!=null)
            conn.close();
      }catch(SQLException se){
         se.printStackTrace();
      }
   }
}

}

解决一个问题而不必再编写代码的Java作业?这听起来有点可疑:)像这样的整数乘法不会给你带来太多好处。你至少需要使用BigDecimalsHmm,我怀疑如果你一直在互联网上发布你的数据库密码,你的工作时间可能不会太长。正如前面的评论所说,大小数就是答案。我们要求你支付部分工资,以换取修复代码(并指出使用错误数据类型等基本问题)。感谢大家的帮助。connectionProps.put(“用户”、“BStreAppsRVAdmin”);connectionProps.put(“密码”,“N3V3rCHANG3th1sPa$$werd!!!”;这不是我的真实想法。只有傻瓜才会在网上发布。对吧,伙计们?这很有效!所有的红色曲线都在代码下消失了。干得好非常感谢!