返回值

时间:2017-02-25 17:16:48

标签: java

我是Java的新手,我想学习如何编码,但我坚持这个问题:

返回的值是多少?

  int s = 2;
  int w = "QCR".hashCode() % 3000;
  int k = "KHF".hashCode() % 3000;
  for (int y = 0; y <= k; y++)
     s = (s ^ y) % w;
  return s;

有人可以帮助我吗?如果你有答案,可以解释一下吗?谢谢。

1 个答案:

答案 0 :(得分:0)

答案是1955年,see on ideone。 如果您在运行此代码时遇到问题,请尝试使用ideone等在线编辑器。

对正在发生的事情的一些解释:

.hashCode()

是bultin方法,用于计算给定对象的hash值(字符串&#34; QCR&#34;在此示例中)。

x % 3000

计算x modulo 3000

a ^ b

这是xor b,它是bitwise operation

BTW,很难说这个代码只是通过查看它会输出什么,因为哈希函数是非常随机的(并且没有人记住字符串&#34; QCR&#34;)的哈希值。 如果您正在尝试学习编程测试并且经常使用代码(但是您自己)。如果您在运行或编译时遇到问题,请在此处询问,但请尽量寻找答案。