使用 if 语句查找绝对值
Finding absolute value with if statement
我有 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)};
尝试 abs()
,它以任何类型的数字作为参数,returns 它的绝对值,在同一类型中。
abs(-3.1) == 3.1
所以你可以这样写:
int getTime = abs(yourfloor - elefloor);
三元运算符怎么样?
//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)
总是 执行。另外,你需要使用*=
而不是*
,因为如果你只是乘它,它不会对结果做任何事情,而*=
是[=18=的缩写: ], 这会将其分配回 getTime
.
或者你当然可以使用 Math.abs()
...
我有 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)};
尝试 abs()
,它以任何类型的数字作为参数,returns 它的绝对值,在同一类型中。
abs(-3.1) == 3.1
所以你可以这样写:
int getTime = abs(yourfloor - elefloor);
三元运算符怎么样?
//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)
总是 执行。另外,你需要使用*=
而不是*
,因为如果你只是乘它,它不会对结果做任何事情,而*=
是[=18=的缩写: ], 这会将其分配回 getTime
.
或者你当然可以使用 Math.abs()
...