【发布时间】:2019-09-19 17:01:02
【问题描述】:
所以我很困惑那些 if 括号中的内容,代码工作正常但我不明白?
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int a = scanner.nextInt();
int b = scanner.nextInt();
int c = scanner.nextInt();
if(b < a) {
a = b; //This part is confusing to me
}
if(c < a) {
c = a;
}
System.out.println("Smallest number is " + a);
}
【问题讨论】:
-
该行只是一个常规任务。有什么让你困惑的?
-
@resueman 我认为任务发生在那个特定位置的事实让他们感到困惑。从可读性的角度来看,这确实令人困惑。
-
我当然不会指责这种方法清晰或富有表现力。 “聪明”浮现在脑海中,“聪明”的代码虽然写起来很有趣,但通常很难支持。但是对于这样一个小程序,请考虑这是一次通过各种输入一次单步执行逻辑的机会。提出几组测试输入并遍历逻辑。它有什么作用?然后你明白它为什么这样做了吗?
-
比“聪明”还要糟糕,也是错误的。如果
c是最小的初始值,则输出a和b中较小的一个。 -
好消息@azurefrog。
c = a;行完全有一个错误。
标签: java if-statement int java.util.scanner