如何扫描数组并将输入与数组元素进行比较

时间:2017-03-18 00:21:09

标签: java arrays eclipse

我试图制作一个十进制到二进制的转换器,这部分代码只是一个测试样本。在这个测试程序中,我想打印出数组的每个元素,我似乎无法让程序做到这一点。

这是我目前的代码:

class VC1: UIViewController {
    let coreDataObjects = [NSManagedObject]() //At this moment, this array is empty
    func viewWillAppear {
        fetchRequestThatFillsTheArray() //Here, the array is filled
    }
    fetchRequestThatFillsTheArray() {
        //calling NSFetchRequest
    }
}

class VC2: UIViewController {
    let vc1 = VC1()
    vc1.coreDataObjects //Empty array
}

这是我得到的输出:

int[] nums = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15};
    int dec;
    int out = 0;
    Scanner scan = new Scanner(System.in);

    System.out.println("Type decimal number.");
    dec = scan.nextInt();

    for( nums[out] = nums[out] ; out < 16 ; out++ );
    {
            System.out.println(out + "\n");//I want to print each element just to test my code .
    }

我应该得到这个:

16

有人可以告诉我我做错了吗?

2 个答案:

答案 0 :(得分:2)

你只得到16,因为在for循环结束时有一个;

  

for(nums [out] = nums [out]; out&lt; 16; out ++);

如果你删除它,你的代码将应该工作。顺便说一下,你应该考虑改变PNS建议的代码。

答案 1 :(得分:0)

如果要打印nums数组的内容,只需初始化out循环中的for参数:

for (int out = 0; out < nums.length ; out++);
{
   System.out.println(nums[out] + "\n");
}

如果您想打印通过Scanner读取的号码,请直接执行此操作:

System.out.println(dec + "\n");

当然,上述内容并没有做任何转换,也没有进行任何比较,所以如果需要这样的话,那么需要澄清这个问题。