我似乎无法弄清楚这一点。我觉得这很容易,以至于我想念它。我不断收到一条错误消息,指出类型不完整并指向 ?我做错了什么?
使用条件表达式,编写一个语句,如果
numUsers
为 1,则递增 updateDirection
,否则递减 numUsers
。
例如:如果 numUsers
是 8 并且 updateDirection
是 1,那么 numUsers
就变成 9;如果updateDirection
为0,numUsers
变为7.
提示:以“
numUsers = ...
”开头。
import java.util.Scanner;
public class UpdateNumberOfUsers {
public static void main (String [] args) {
Scanner scnr = new Scanner(System.in);
int numUsers;
int updateDirection;
numUsers = scnr.nextInt();
updateDirection = scnr.nextInt();
String condStr;
condStr = (numUsers < 8) ? +1 : -1;
System.out.println("New value is: " + numUsers);
}
}
谢谢你们给我的帮助和建议。我能够完成作业!这是我输入的内容,一切都完美输出。谢谢 jhamon 没有给我答案,让我动用我的大脑和你提供的指南。
if (updateDirection >= 1) {
numUsers += 1;
}
else {
numUsers -= 1;
}
我只给你指导,而不是完整的答案,因为它看起来像一个练习,最好自己做。
尝试在没有三元运算符的情况下编写同一行:
if (numUsers < 8) {
condStr = +1;
} else {
condStr = -1;
}
此代码:
numUsers
updateDirection
递增/递减运算符:
myVar++;
myVar--;
等价(注意运算符的顺序):
myVar += 1;
myVar -= 1;
完整的表格:
myVar = myVar + 1;
myVar = myVar - 1;
现在您需要使用这些运算符根据值
numUsers
(您需要使用numUsers++;
条件或三元条件的变量)来递增/递减numUsers--;
(所以updateDirection
或if
) .
您的代码中不需要condStr
。
numUsers = (updateDirection == 1) ?用户数 + 1 : 用户数 - 1;