Java中如何比較兩個數的大小
在Java中,經常會進行兩個數之間的比較,當被比較的兩個數均為整數時,按如下程式碼進行比較即可:
int a=2;
int b=5;
System.out.println(a==b);
執行的結果為false。
當兩個數為浮點數時,若直接進行比較,可能會產生錯誤,如下所示:
double a=1.0;
double b=0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1;
System.out.println(a==b);
執行後,會發現輸出的結果為false。這是因為Java在進行浮點數的運算時,並不是精確運算,因此會產生一定的誤差,這個時候,應該如下進行比較:
double a=1.0;
double b=0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1;
System.out.println(Math.abs(a-b)<1e-6);
其中,1e-6表示一個很小的數,可以換成其他的合適的數進行替換。這個時候,輸出的結果就為true了。
相關推薦
Java學習---比較兩個數大小
import javax.swing.JOptionPane; public class Compare{ public static void main(String[] args){ String s1,s2; s1=JOptionPane.show
java中比較兩個double型別值的大小
非整型數,運算由於精度問題,可能會有誤差,建議使用BigDecimal型別,具體 BigDecimal的詳細說明參考jdk開發幫助文件。 import java.math.BigDecimal; public class DoubleCompare { public String co
java中比較兩個double型別的資料大小
double a = 0.001; double b = 0.0011; BigDecimal data1 = new BigDecimal(a); BigDecimal data2 = new BigDecimal(b); data1.compareTo(data2)非整型數,運算由於精度問題,可能會有
位運算之不使用任何比較判斷比較兩個數大小問題
【題目】 對於兩個32位整數a和b,請設計一個演算法返回a和b中較大的。但是不能用任何比較判斷。若兩數相同,返回任意一個。 給定兩個整數a和b,請返回較大的數。 測試樣例: 1,2 返回:2 【分析】 不用分析了,直接給程式碼,我第一次沒有仔細讀題,實際上用了判斷的,解
不用if比較兩個數大小
最近去面試遇到一個很新鮮的題目和大家分享下: 一、題目:有兩個變數a,b,不用“if”,“? :”,switch或者其它判斷語句,找出兩個數中間比較大的? 二、/* 方法1:取平均值法 大的為 ((a+b)+abs(a-b)) / 2 小的為 (a+b - abs(a-b
通過條件運算子比較兩個數大小或比較三個數大小
程式碼如下: #include<stdio.h> int main() { int a,b; int max; scanf("%d %d",&a,&b); max=
Java中比較兩個字串是否相等的問題
Java中,關於比較兩個字串是否相等的問題,經常會出現。下面將分析使用 ==(注意:Java中 = 是賦值運算子,== 是比較是否相等) 和 equals()方法 來比較兩個字串相等的區別: 簡單一句話,==比較的是兩個字串的地址是否為相等(同一個地址),equals()方
比較兩個數大小彙編解析
比較兩個數的大小, 用C語言寫很容易 int compare1(int x, int y) { if (x > y) { return 1; } else if (x == y) { retu
比較兩個數大小
題目要求 寫一個shell指令碼,比較兩個數的大小,支援浮點數,兩個數通過shell引數的形式提供。 參考答案 #!/bin/ba
Java中如何比較兩個數的大小
在Java中,經常會進行兩個數之間的比較,當被比較的兩個數均為整數時,按如下程式碼進行比較即可: int a=2; int b=5; System.out.println(a==b); 執行的結果為false。 當兩個數為浮點數時,若直接進行比較,可能會產
Java對數組的操作(三)—比較兩個數組中的元素是否同樣的最簡單方法
con data println test popu pan equal main spa 呵呵呵,實現Java比較兩個數組中的元素是否同樣的功能你是怎麽做的?看以下最簡單方法: import java.util.Arrays;
Java中對兩個物件進行比較大小
在Java中要想對兩個物件進行比較大小,需要實現Comparable介面或Comparator介面。String型別的值之所以可以比較大小(漢字根據ANSI值的大小進行比較),是因為String類實現了Comparable介面。如果要比較的物件沒有實現Comparable介
【C++】3.比較兩個數的大小
names main return copyright argc right har div ++ // // main.cpp // 2_3 // // Created by T.P on 2018/3/4. // Copyright ? 2018年 T.P. A
#Pyton3中比較多個數的大小並按照從大到小排序
L = [] S = [] d = int(input("請輸入您需要比較的數字的數量")) for i in range(d): a = int(input("請你輸入你要比較的第{}個數字".format(i+1))) L.append(a
Java:比較兩個物件中全部屬性值是否相等
Java:比較兩個物件中全部屬性值是否相等 例如下述Java類: import java.io.Serializable; import java.util.List; public class Bean_Topology implements Serial
C語言函式的呼叫——比較兩個數的大小
今天我們要寫的是用呼叫函式的方法來 比較兩個數字的大小 我們先看看程式的執行效果 一、先寫好框架 #include<stdio.h> void main() { } 二、然後定義我們需要的變數 int i,j;//只有兩個
shell 程式設計入門 比較兩個數的大小
shell 程式設計入門#!/bin/sh #The function used to compare the two numbers vara=$1 varb=$2 if [ -z $vara ] || [ -z $varb ] then echo "please inp
switch比較兩個數的大小
#include <stdio.h> int main(void) { int a,b; printf("please input two number:\n"); scanf("%d %d",&a,&b); swi
Java中比較常用的兩種資料轉化
1 由基本資料型別轉換成String String 類別中已經提供了將基本資料型態轉換成 String 的 static 方法 也就是 String.valueOf() 這個引數多載的方法 String.valueOf(double d)
比較兩個數的大小,交換兩個數的 方法總結
面試寶典中看到的,記錄下來,與大家共勉 1、比較兩個數的大小 /*比較兩個數的大小,不要使用if判斷*/ #include <stdio.h> #include <math.h> int main() { int a, b; pri