Java 如何将负整数转换为正整数

Java 如何将负整数转换为正整数,java,netbeans,wampserver,Java,Netbeans,Wampserver,此代码在我的数据库中显示负立方米列,即使jLabel\u PREVIOUS\u READ.getText小于jLabel\u PRESENT\u READ.getText,也希望有正立方米。听起来您可能在寻找: 返回整数值的绝对值。如果参数不是负数,则返回参数。如果参数是否定的,则返回参数的否定 也有其他类型的版本-长,浮动,双 有一个重要的警告: 请注意,如果参数等于Integer.MIN_value(最负的可表示int值)的值,则结果是相同的值,即负值 你能用这个吗 String v1 =

此代码在我的数据库中显示负立方米列,即使jLabel\u PREVIOUS\u READ.getText小于jLabel\u PRESENT\u READ.getText,也希望有正立方米。

听起来您可能在寻找:

返回整数值的绝对值。如果参数不是负数,则返回参数。如果参数是否定的,则返回参数的否定

也有其他类型的版本-长,浮动,双

有一个重要的警告:

请注意,如果参数等于Integer.MIN_value(最负的可表示int值)的值,则结果是相同的值,即负值

你能用这个吗

String v1 = lbl_READING_NUMBER.getText();


int a = Integer.parseInt(jLabel_PREVIOUS_READ.getText());

int b = Integer.parseInt(jLabel_PRESENT_READ.getText());

int cm = a-b;

try{

    String sql = "UPDATE reading SET Cubic_meter=' "+cm+" ' WHERE Reading_Number=' "+v1+"' ";

    ps = conn.prepareStatement(sql);

    rs=ps.executeUpdate();
}
catch(Exception e){

    JOptionPane.showMessageDialog(null, e);

}
您还可以设置一个条件,使用if语句(例如)检查值是否为负值

 value=value*-1; //simply multiply by -1. 

像T.J.Crowder建议的那样做数学,但也要做

分析输入时捕获NumberFormatException

将SQL语句更改为使用绑定变量,如下所示

 if(value<0)
   value=value*-1; //simply multiply by -1. 
使用绑定变量是防止SQL注入的良好做法。

尝试以下方法:

    String sql = "UPDATE reading SET Cubic_meter=? WHERE Reading_Number= ?";
    ps = conn.prepareStatement(sql);
    ps.setInt(1, cm); // assuming always positive
    ps.setInt(2, v1);

请告诉我如何将其插入代码。谢谢你的回答。@jhaezjohn:int cm=Math.absa-b;?Crowder先生提供的解决方案非常好,而且实施时间更短。可以将其用作value=Math.absvalue;。先生,我遵从您的建议,但知道出现了一个异常情况:没有为参数1指定值字符串sql=更新读数集立方米=?其中读数_数=?;ps=conn.prepareStatementsql;执行更新;ps.setInt1,cm;ps.setInt2,v1;您需要将executeUpdate设置为Last如何解析代码中的NumberFormatException sirI使用NumberFormatException时代码出错:ps=conn.prepareStatementsql;ps.setInt1,cm;ps.setInt2,v1;执行更新;与您的肯定/否定问题无关,但正如ChoChoPK指出的,最好使用参数化查询,而不是字符串连接。原因如下:如果下面的答案中有一个回答了你的问题,那么你就会想接受这个答案。细节:但前提是它真的得到了回答。
int cm = a-b;
int cm2 = cm*(-1);

try{

    String sql = "UPDATE reading SET Cubic_meter=' "+cm2+" ' WHERE Reading_Number=' "+v1+"' ";

    ps = conn.prepareStatement(sql);

    rs=ps.executeUpdate();
}
catch(Exception e){

    JOptionPane.showMessageDialog(null, e);

}