首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在不使用math.abs函数JAVA的情况下求出两个数的差值和答案的绝对值

如何在不使用math.abs函数JAVA的情况下求出两个数的差值和答案的绝对值
EN

Stack Overflow用户
提问于 2018-09-22 10:31:28
回答 3查看 10.7K关注 0票数 -1

怎样才能求出两个数之差的绝对值?(初学者)

也就是说,我的程序将计算|a-b| (按此顺序),而不使用math.abs。

这就是我到目前为止所拥有的:

代码语言:javascript
复制
public static void main(String[] args) {
    Scanner in = new Scanner(System.in);
    double a = in.nextDouble();
    double b = in.nextDouble();
    double value = a - b;

    System.out.println("Enter a: ");
    a = in.nextDouble();

    System.out.println("Enter b: ");
    b = in.nextDouble();

    //If value is negative...make it a positive number.
    value = (value < 0) ? -value : value;

    System.out.println(a + "-" + b + "=" + (a - b));
    System.out.println(b + "-" + a + "=" + (b - a));

}

}

请帮帮忙,我是个初学者!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-09-22 10:44:01

更多的格式化代码。

代码语言:javascript
复制
import java.util.Scanner;
class A {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        double a;
        double b;
        System.out.println("Enter a: ");
        a = in.nextDouble();

        System.out.println("Enter b: ");
        b = in.nextDouble();
        double value = a - b;



        //If value is negative...make it a positive number.
        value = (value < 0) ? -value : value;
            System.out.println("|"+a + "-" + b +"|" + " =" + value);  // value should be printed here instead of (a-b) or (b-a)
        System.out.println("|"+b + "-" + a +"|" + " =" + value);

    }
}
票数 3
EN

Stack Overflow用户

发布于 2018-09-22 10:41:29

首先,你在没有任何理由的情况下使用了两次扫描仪

代码语言:javascript
复制
public static void main(String[] args) {
        Scanner in = new Scanner(System.in);


        System.out.println("Enter a: ");
        double a = in.nextDouble();

        System.out.println("Enter b: ");
        double b = in.nextDouble();

double value = a - b;
double value2 = b - a;

//If value is negative...make it a positive number.
        value = (value < 0) ? -value : value;
        value2 = (value2 < 0) ? -value2 : value2;

        System.out.println(a + "-" + b + "=" + value); //chaged to value
            System.out.println(b + "-" + a + "=" + value2); //changed to value

        }
票数 0
EN

Stack Overflow用户

发布于 2018-09-22 10:42:16

若要为您的

代码语言:javascript
复制
value

您可以像下面这样添加if条件

代码语言:javascript
复制
if (value < 0) {
   value = value * -1;
} 

因此,否定答案(差)将始终转换为正(绝对)值。

如果该值大于0,则不需要,因为它已经是一个正数。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52452999

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档