我在Java中的数学方法似乎只是偶尔工作,但在一个重复的模式。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我在Java中的数学方法似乎只是偶尔工作,但在一个重复的模式。相关的知识,希望对你有一定的参考价值。
我有这个代码,我想让它工作。在大多数情况下,数字出来的是-127,低于他们应该是什么,然而,偶尔数字出来的是正确的。数学在计算器中可以正常工作。
我看不到任何韵律或原因,因为它似乎是随机的。有人看到任何可能导致这种情况吗?
它似乎是发生在解码阶段。
每次运行时,似乎都在重现相同的结果。(也就是说,每次我运行时,"第十三 "的数字总是正确的,而其他的数字则是127,然后他们应该是) 。
希望得到任何帮助! 谢谢你!如果有更多的信息,请告诉我。
public static String encode(long seed, String str) {
Random r = new Random(seed);
StringBuilder sb = new StringBuilder();
for (int i = 0; i < str.length(); i++) {
char c = str.charAt(i);
int rr = r.nextInt(1000);
int num = (c + rr) % 127;
sb.append((char) num);
}
return sb.toString();
}
public static String decode(long seed, String str) {
Random r = new Random(seed);
StringBuilder sb = new StringBuilder();
for (int i = 0; i < str.length(); i++) {
char c = str.charAt(i);
int rr = r.nextInt(1000);
int num = (c - rr) % 127; //This is the line in question
sb.append((char) num);
}
return sb.toString();
}
如果需要更多信息,请告诉我!
以上是关于我在Java中的数学方法似乎只是偶尔工作,但在一个重复的模式。的主要内容,如果未能解决你的问题,请参考以下文章
为啥这个基本链表可以在 MacOS 上工作,但在 Linux 上会出现段错误
Javascript未在在线网站上加载,但在本地加载xampp
Telnet Java 代码在 Windows 中工作,但在 Unix 中不工作