2

我有 2 个用户需要输入的 int 变量,我需要找到它们差异的绝对值,有没有办法按照我在这段代码中开始的相同原理来做到这一点?

    Scanner scn = new Scanner(System.in);

    int yourfloor, elefloor, desfloor;`enter code here`
    System.out.println("Please enter your current floor");
    yourfloor = scn.nextInt();
    System.out.println("Please enter the elevator current floor(before inviting)");
    elefloor = scn.nextInt();
    System.out.println("Please enter your destination floor");
    desfloor = scn.nextInt();

    int getTime = yourfloor - elefloor;
    if (getTime<0);
    {getTime*(-1)};
4

2 回答 2

0

三元运算符呢?

//ASSIGNMENT   CONDITION             ? WHAT IF TRUE           : WHAT IF FALSE
int getTime = (yourfloor > elefloor) ? (yourfloor - elefloor) : (elefloor-yourfloor);

或者通过更改您的代码来工作:

int getTime = yourfloor - elefloor;
if (getTime<0) {
   getTime *= -1;
}

您完成 if 语句的;末尾if- 所以*(-1)总是执行。此外,您需要使用而不是,因为如果您只是将它相乘,它不会对结果做任何事情,而它是:​​ 的缩写,它将把它分配回.*=**=getTime = getTime * -1getTime

或者因为你可以使用Math.abs()...

于 2015-12-20T08:00:19.600 回答
-1

Tryabs()它将任意类型的数字作为参数,并以相同的类型返回它的绝对值。

abs(-3.1) == 3.1

所以你可以写:

int getTime = abs(yourfloor - elefloor);
于 2015-12-20T07:56:27.197 回答