本文目錄一覽:
- 1、java中如何實現字符與數字加減運算
- 2、java加減乘除是什麼類
- 3、java的加減乘除運算
- 4、用JAVA接受用戶輸入兩個數字,進行加減運算
- 5、java時間加減
- 6、怎麼用JAVA做加減混合運算?
java中如何實現字符與數字加減運算
將字符串轉換成數字:
有兩種方法:
第一種:
比如說;a=”123″,b=2,那麼int num = Integer.parseInt(a);
然後與另外數字加減;
第二種:
運用BigDecimal num = new BigDecimal(a);
BigDecimal num2 = new BigDecimal(b);
BigDecimal result = num.add(num2);
或者減法:BigDecimal result = num.subtract(num2);
通過調用BigDecimal的各種方法即可以實現加減乘除。
兩種方法比較:
第一種只可以實現整數轉換;
第二種可以實現任何類型的轉換,而且計算精度高。
java加減乘除是什麼類
java中實現加減乘除的類是java.math.BigDecimal類. BigDecimal 類提供以下操作:算術、標度操作、舍入、比較、哈希算法和格式轉換。
加法運算:調用BigDecimal類的add方法即可
BigDecimal b1 = new BigDecimal(“1”);
BigDecimal b2 = new BigDecimal(“2”);
BigDecimal result = b1.add(b2);//加法
System.out.println(result);
減法運算:調用BigDecimal類的subtract方法即可
BigDecimal b1 = new BigDecimal(3.2);
BigDecimal b2 = new BigDecimal(1.6);
BigDecimal result = b1.subtract(b2);//減法
System.out.println(result);
乘法運算:調用BigDecimal類的multiply方法即可
BigDecimal b1 = new BigDecimal(9);
BigDecimal b2 = new BigDecimal(8.2);
BigDecimal result = b1.multiply(b2);//乘法
System.out.println(result);
除法運算:調用BigDecimal類的divide方法即可。
注意: 除法運算存在除不盡的情況,比如1.0/3=0.333333.. 我們需要指定小數點後面的長度,以及有效的舍入模式(例如四捨五入模式).
BigDecimal b1 = new BigDecimal(“1”);
BigDecimal b2 = new BigDecimal(“3”);
int scale = 5;//scale 指定小數點後面的位數為5位
double result = b1.divide(b2, scale, BigDecimal.ROUND_HALF_UP).doubleValue();// 除法
// BigDecimal.ROUND_HALF_UP 表示四捨五入
System.out.println(result);
備註:
1:BigDecimal的構造參數有很多,但浮點類型建議轉換成字符串類型, 避免精度的丟失.
double d1 =0.001;//浮點類型
String s1 = Double.toString(d1);//轉成字符串
BigDecimal b1 = new BigDecimal(s1);//使用字符串作為構造參數
2:BigDecimal類, 內存佔用比基本類型多,並且為了計算的精度,速度比double慢一點.所以,只有在需要精確計算的情況下,才使用BigDecimal類進行. 普通運算,還是多使用+-*/運算符,位運算符等.
java的加減乘除運算
使用BigDecimal並且一定要用String來夠造。
實現方法如下:
import java.math.BigDecimal;
/**
* 由於Java的簡單類型不能夠精確的對浮點數進行運算,這個工具類提供精
* 確的浮點數運算,包括加減乘除和四捨五入。
*/
public class Arith{
//默認除法運算精度
private static final int DEF_DIV_SCALE = 10;
//這個類不能實例化
private Arith(){
}
/**
* 提供精確的加法運算。
* @param v1 被加數
* @param v2 加數
* @return 兩個參數的和
*/
public static double add(double v1,double v2){
BigDecimal b1 = new BigDecimal(Double.toString(v1));
BigDecimal b2 = new BigDecimal(Double.toString(v2));
return b1.add(b2).doubleValue();
}
/**
* 提供精確的減法運算。
* @param v1 被減數
* @param v2 減數
* @return 兩個參數的差
*/
public static double sub(double v1,double v2){
BigDecimal b1 = new BigDecimal(Double.toString(v1));
BigDecimal b2 = new BigDecimal(Double.toString(v2));
return b1.subtract(b2).doubleValue();
}
/**
* 提供精確的乘法運算。
* @param v1 被乘數
* @param v2 乘數
* @return 兩個參數的積
*/
public static double mul(double v1,double v2){
BigDecimal b1 = new BigDecimal(Double.toString(v1));
BigDecimal b2 = new BigDecimal(Double.toString(v2));
return b1.multiply(b2).doubleValue();
}
/**
* 提供(相對)精確的除法運算,當發生除不盡的情況時,精確到
* 小數點以後10位,以後的數字四捨五入。
* @param v1 被除數
* @param v2 除數
* @return 兩個參數的商
*/
public static double div(double v1,double v2){
return div(v1,v2,DEF_DIV_SCALE);
}
/**
* 提供(相對)精確的除法運算。當發生除不盡的情況時,由scale參數指
* 定精度,以後的數字四捨五入。
* @param v1 被除數
* @param v2 除數
* @param scale 表示表示需要精確到小數點以後幾位。
* @return 兩個參數的商
*/
public static double div(double v1,double v2,int scale){
if(scale0){
throw new IllegalArgumentException(
“The scale must be a positive integer or zero”);
}
BigDecimal b1 = new BigDecimal(Double.toString(v1));
BigDecimal b2 = new BigDecimal(Double.toString(v2));
return b1.divide(b2,scale,BigDecimal.ROUND_HALF_UP).doubleValue();
}
/**
* 提供精確的小數位四捨五入處理。
* @param v 需要四捨五入的數字
* @param scale 小數點後保留幾位
* @return 四捨五入後的結果
*/
public static double round(double v,int scale){
if(scale0){
throw new IllegalArgumentException(
“The scale must be a positive integer or zero”);
}
BigDecimal b = new BigDecimal(Double.toString(v));
BigDecimal one = new BigDecimal(“1”);
return b.divide(one,scale,BigDecimal.ROUND_HALF_UP).doubleValue();
}
};
用JAVA接受用戶輸入兩個數字,進行加減運算
那要看你是用什麼IDE來編程的啦,運行java程序要必須首先安裝JDK。
1.如果你是用記事本編輯的話。「運行」–「notepad」
輸入:
public class Add
{
public static void main(String args[])
{
int a;
int b;
int result;
a=Integer.parseInt(args[0]);
b=Integer.parseInt(args[1]);
result=a+b;
System.out.println(result);
}
}
保存為「Add.java」
「運行」-「CMD」-進入剛才保存的目錄
使用「javac(空格)Add.java」編譯成class文件
使用「java(空格)Add(空格)2(空格)1」運行
結果:3
還記得public static void main(String[] args)嗎?這裡的args就是你的啟動參數。
在運行時你輸入java package1.class1 -arg1 -arg2,args中就會有兩個String,一個是arg1,另一個是arg2。
2.如果你是用eclipse3.1.2的話。麻煩點,因為它自帶控制台。所以代碼在運行時要進行設置:
同樣是上面的代碼
在eclipse3.1.2中,右擊類名「Add.java」在彈出菜單中選擇「run as」–「run……」–彈出對話框–在「java application」中,你會看到剛創建的「Add.java」如果沒有在左下方,點擊「new」–在右面的「(x)=arguments」選項卡中的「program arguments」中輸入「1(空格)2」–「apply」–「run」
在下面的「console」即可看到「3」
java時間加減
附上代碼:
Date date = new Date(“2014/1/10 18:20”);
Date date2 = new Date(“2014/1/11 3:5”);
long temp = date2.getTime() – date.getTime(); //相差毫秒數
long hours = temp / 1000 / 3600; //相差小時數
long temp2 = temp % (1000 * 3600);
long mins = temp2 / 1000 / 60; //相差分鐘數
System.out.println(“date2 與 date 相差” + hours + “小時”+ mins + “分鐘”);
****************************************希望能夠幫助到你!************************************************
如果我的回答對你有幫助,
別忘了點擊我的回答下方【選為滿意答案】按鈕。
謝謝!
怎麼用JAVA做加減混合運算?
import java.util.Scanner;
public class HybridOperation {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println(“輸入一個表達式:”);
String s = input.nextLine().trim();
int n = s.length();
int sum = 0;
int p = -1;
char a = ‘+’;
for (int i = 1; i n; i++) {
char ch = s.charAt(i);
if (ch == ‘+’ || ch == ‘-‘) {
if (a == ‘+’) {
sum += Integer.parseInt(s.substring(p + 1, i));
a = ch;
p = i;
} else if (a == ‘-‘) {
sum -= Integer.parseInt(s.substring(p + 1, i));
a = ch;
p = i;
}
}
}
if (a == ‘+’) {
sum += Integer.parseInt(s.substring(p + 1));
}
if (a == ‘-‘) {
sum -= Integer.parseInt(s.substring(p + 1));
}
System.out.println(s+” = “+sum);
}
}
可以實現任意次數的加減,
如:1+2+3-2
原創文章,作者:MNWM,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/144695.html