数组值输出多个

时间:2017-06-10 06:24:04

标签: java arrays loops conditional-statements linear-search

这是我提出的代码。但是,我希望能够输出:

  • (值)位于插槽x中。
  • (值)位于插槽x中。

两个输出,如果(值)在两个插槽中可用 - 如7。

  • (num)不在数组中。

但不是两者兼而有。 有人可以帮忙吗?

    public static void main(String[] args) {
    int search, counter;
    int num[]={3, 4, 5, 6, 7, 8, 10, 7,  9, 13};

    System.out.print("Array: ");
    for (int count=0; count<num.length; count++)
        System.out.print(+num[count] + " ");

    Scanner in = new Scanner (System.in);
    System.out.print("\nValue to find: ");
    search = in.nextInt();

    for (counter = 0; counter < num.length; counter++ ){
        if (num[counter] == search)
        {
            System.out.println(search + " is in slot " + (counter + 1) + ".");
        }           
    }
    if (counter == num.length)
        {
            System.out.println(search + " is not in the array.");
        }
}
}

2 个答案:

答案 0 :(得分:1)

虽然我觉得你应该在另一个社区提出这样的问题,例如https://codereview.stackexchange.com/我可以提出一个建议:

使用布尔标志检查您之前是否找到过它。像这样:

UIColor.clear

所以你只打印&#34;未找到&#34;在线性遍历数组后无法找到元素的消息...

答案 1 :(得分:0)

您的代码的问题是您检查计数器是否已达到数组长度。总会发生的事情。您应该检查是否找到了值。

这应该可以解决问题:

double mb = Double.parseDouble(editview.getText().toString());
                double val1 = mb*1024;
                tv.setText(String.valueOf(val1));