【问题标题】:Java conditional with arrays带有数组的Java条件
【发布时间】:2018-09-20 12:49:42
【问题描述】:
int[] d = {97, 98, 71, 50, 82};
        if(d<=60){
        System.out.println(x.length);
        }

这段代码的目的是打印通过这门课的学生人数(打印值为 60 及以上)。在我们的例子中,输出应该打印“4”,但我不知道如何实现这一点。我尝试了一个条件语句,但这对于涉及的数组来说似乎相当困难。

有什么想法吗?我应该尝试 ArrayList 吗?

【问题讨论】:

  • 这里为什么要输出5?
  • 已编辑,应该是 4。
  • 天哪..这肯定有帮助...
  • Arrays.stream(d).filter(x -&gt; x &gt;= 60).toArray().length(); 应该可以工作
  • 如果你上课不专心,你将不会被计入这个程序的结果中......这个问题基本上没有尝试。你只是从有一个数组跳到“这就是我的结果应该是”

标签: java arrays for-loop iteration operators


【解决方案1】:

到目前为止,您只是检查了数组d 的值是否小于或等于60,而不是检查d 中有多少值大于或等于60。所以第一个问题是当你真正想要&gt;时使用&lt;,所以一定要检查你的操作符是否正确。

您需要遍历Array 并将每个值与通过标记进行比较以确定它们是否通过。每次他们通过你应该添加一个计数器,当你检查每个值时,输出通过计数器值。

int numberPassed = 0; // counter to keep track of who passes
for (int score : d) {
    if (score >= 60) {
        numberPassed++; // pass score met so add one to counter
    }
}

System.out.println("Passed=" + numberPassed);

【讨论】:

  • 谢谢,我会试试这个,如果成功了会通知你。
  • 是的,它奏效了。你是对的,迭代是关键。谢谢你:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-04-23
  • 2022-10-31
  • 1970-01-01
  • 2021-04-10
  • 1970-01-01
  • 1970-01-01
  • 2018-01-05
相关资源
最近更新 更多