【问题标题】:How would I show the result of the boolean我将如何显示布尔值的结果
【发布时间】:2015-12-07 18:02:33
【问题描述】:

我应该拿阵列并检查阵列是否上升,但我不明白我接下来应该做什么。有2个不同的文件..

public class ArrayFunHouseTwo
{
 public static boolean goingUp(int[] numArray)
 {
   for(int i = 0; i < numArray.length - 1; i++)
   {
 if(numArray[i] < numArray[i + 1])
   return true;
   }
 }
}

和..

public class ArrayFunHouseTwoRunner
{
 public static void main( String args[] )
 {
   //arrays
   int[] numArray = {1,2,3,4,5,6,7,8,9,10};   
   System.out.println(Arrays.toString(numArray) + "\nis going Up ?");
 }
}

当我编译它时,它看起来像:

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
is going Up ?

但它应该看起来像

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 
is going Up ?  true 

我应该如何让“真实”出现?

【问题讨论】:

  • 你忘记打电话给goingUp...
  • 另外goingUp() 有错误。如果前两个元素按升序排列,它将返回true,忽略数组的其余部分。
  • 您还应该考虑这是否“上升”:{1,2,3,3,4}(顺便说一下,术语是“增加”或“单调增加;你的集合是单调增加,而我的增加但不是单调增加)

标签: java arrays boolean


【解决方案1】:

你忘记调用你的方法了。

System.out.println(Arrays.toString(numArray) + "\nIs going up? " +  
    ArrayFunHouseTwo.goingUp(numArray));

但这并不能解决它,因为每当其中有 2 个相邻元素增加时,您的方法都会返回 true。您应该检查彼此相邻的两个元素是否下降,然后在这种情况下返回 false,在所有其他情况下返回 true:

public static boolean goingUp(int[] numArray)
{
    for(int i = 0; i < numArray.length - 1; i++)
    {
        if(numArray[i] >= numArray[i + 1])
            return false;
    }
    return true;
}

这样你就会知道你的数组是否真的只包含递增的元素。

【讨论】:

    猜你喜欢
    • 2019-06-11
    • 1970-01-01
    • 1970-01-01
    • 2015-06-17
    • 2020-08-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-05
    相关资源
    最近更新 更多