我正在尝试使用Park-Miller-Carta PRNG随机数生成器的Java实现.
下面是在ActionScript 3的随机函数的实现从这里.
return (_currentSeed = (_currentSeed * 16807) % 2147483647) / 0x7FFFFFFF
+ 0.000000000233;
Run Code Online (Sandbox Code Playgroud)
我没有太多运气在Java中工作:
int seed = 20; //for example.
public double random() {
seed = (seed * 16807) % 2147483647;
return seed / 0x7FFFFFFF + 0.000000000233;
}
Run Code Online (Sandbox Code Playgroud)
这总是会回来的2.33E-10.我在Java中做错了什么想法?(AS3代码返回0.0001565276181885122,然后返回0.6307557630963248前两个带有种子的响应20).
在objective-c和cocoa中检查理智的首选方法是什么?
如果给我一串字母'abcd',我想将其转换为数字向量V = [1,2,3,4],对应于字母表中字母的位置,我该怎么做?
参考Brian Goetz的文章是否所有状态Web应用程序都被破坏了?对于IBM developerWorks,我想参考这段代码
HttpSession session = request.getSession(true);
ShoppingCart cart = (ShoppingCart)session.getAttribute("shoppingCart");
if (cart == null) {
cart = new ShoppingCart(...);
session.setAttribute("shoppingCart", cart);
}
doSomethingWith(cart);
Run Code Online (Sandbox Code Playgroud)
根据我的理解,这段代码不是线程安全的,因为它使用了check-then-act模式.但我有一个疑问:
是不是HttpSession在第一行完全原子的创建或检索?原子,我的意思是如果两个线程调用request.getSession(),一个将阻止.虽然两者都会返回相同的HttpSession实例.因此,如果客户端(移动/ Web浏览器)制作两个或调用相同的Servlet(执行上面的代码片段),您将永远不会遇到不同线程看到不同值的情况cart.
假设我确信它不是线程安全的,那么如何使这个线程安全?会AtomicReference有效吗?例如:
HttpSession session = request.getSession(true);
AtomicReference<ShoppingCart> cartRef =
(<AtomicReference<ShoppingCart>)session.getAttribute("shoppingCart");
ShoppingCart cart = cartRef.get();
if (cart == null) {
cart = new ShoppingCart(...);
session.setAttribute("shoppingCart",
new AtomicReference<ShoppingCart>(cart));
}
doSomethingWith(cart);
Run Code Online (Sandbox Code Playgroud)
留言Merci!
我正在学校的计算机上编写一个简单的脚本,并将更改提交给Git(在我的pendrive中的repo中,从我家里的计算机克隆).几次提交后,我意识到我正在以root用户身份提交东西.
有没有办法将这些提交的作者改成我的名字?
我知道如何"隐藏"它们.我知道FreeConsole(); 然后找到句柄并更改它的属性.然而,使用这些方法,窗口仍然弹出一秒钟而不是消失.如何阻止它完全显示?
我查看了一些代码并发现惯例是将指针类型转换为
SomeStruct*
Run Code Online (Sandbox Code Playgroud)
成
typedef SomeStruct* pSomeStruct;
Run Code Online (Sandbox Code Playgroud)
这有什么好处吗?
如何将XDocument中的XML转换为MemoryStream,而不将任何内容保存到磁盘?
我正在创建一个viewController的实例,然后尝试设置它的属性文本,UILabel.
BoyController *boyViewController = [[BoyController alloc] initWithNibName:@"BoyView" bundle:nil];
NSString *newText = [astrology getSignWithMonth:month withDay:day];
boyViewController.sign.text = newText;
NSLog(@" the boyviewcontroller.sign.text is now set to: %@", boyViewController.sign.text);
[newText release];
Run Code Online (Sandbox Code Playgroud)
我尝试过这个,但它不起作用......
所以我尝试了以下方法:
BoyController *boyViewController = [[BoyController alloc] initWithNibName:@"BoyView" bundle:nil];
UILabel *newUILabel = [[UILabel alloc] init];
newUILabel.text = [astrology getSignWithMonth:month withDay:day];
boyViewController.sign = newUILabel;
NSLog(@" the boyviewcontroller.sign.text is now set to: %@", newUILabel.text);
[newUILabel release];
Run Code Online (Sandbox Code Playgroud)
但无济于事..
我不知道为什么我不能在boyViewController中设置UILabel"sign"的text属性.
没有什么比你生命中的第43天用于追踪由于CR/LF,不同斜杠类型或Big Endian与Little Endian错误导致的问题.这些问题已有20年历史,它们让我感觉好像人类仍然是穴居人.我们是否只是将这些旧问题替换为新问题?XML有帮助,但这些问题不是公司花费数百万美元的时间,金钱和精力吗?这是一个促进供应商锁定的阴谋吗?
c++ ×2
java ×2
objective-c ×2
.net ×1
c ×1
c# ×1
cocoa ×1
cocoa-touch ×1
concurrency ×1
conventions ×1
directory ×1
endianness ×1
git ×1
linq-to-xml ×1
matlab ×1
pointers ×1
properties ×1
random ×1
servlets ×1
string ×1
typedef ×1
vector ×1
xml ×1