Java 分文
嘿,伙计们,我刚得到我的第一份java工作,但如果一切顺利,我可能再也不需要编写代码了。 我需要做的是连接到数据库并对大量事务应用兴趣。 我很难让数学在本地机器上正常工作。这必须是正确的,不超过一美分。有什么想法吗?提前谢谢Java 分文,java,math,Java,Math,嘿,伙计们,我刚得到我的第一份java工作,但如果一切顺利,我可能再也不需要编写代码了。 我需要做的是连接到数据库并对大量事务应用兴趣。 我很难让数学在本地机器上正常工作。这必须是正确的,不超过一美分。有什么想法吗?提前谢谢 public Connection getConnection() throws SQLException { Connection conn = null; Properties connectionProps = new Properties();
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!!!”;这不是我的真实想法。只有傻瓜才会在网上发布。对吧,伙计们?这很有效!所有的红色曲线都在代码下消失了。干得好非常感谢!