Martin Fowler 有一个Money类,有一个货币分配程序.该例程根据给定的比率列表分配资金,而不会通过舍入而损失任何价值.它会将任何余数值传播到结果上.
例如,由"比率"(1,1,1)分配的100美元将产生(34美元,33美元,33美元).
这是allocate功能:
public long[] allocate(long amount, long[] ratios) {
long total = 0;
for (int i = 0; i < ratios.length; i++) total += ratios[i];
long remainder = amount;
long[] results = new long[ratios.length];
for (int i = 0; i < results.length; i++) {
results[i] = amount * ratios[i] / total;
remainder -= results[i];
}
for (int i = 0; i < remainder; i++) {
results[i]++;
}
return results;
}
Run Code Online (Sandbox Code Playgroud)
(为了这个问题,为了简单起见,我冒昧地用long取代Money类型.)
问题是,我怎么知道它是正确的?除了最终的for-loop之外,这一切似乎都是不言而喻的.我认为,为了证明函数是正确的,在最终的for循环中证明以下关系是正确的就足够了:
remainder < …Run Code Online (Sandbox Code Playgroud) 我有以下会话作用域bean:
@ManagedBean
@Component
@Scope(proxyMode= ScopedProxyMode.TARGET_CLASS, value="session")
public class SessionData implements Serializable {}
Run Code Online (Sandbox Code Playgroud)
我将tomcat会话存储在数据库中.问题是,当应用程序尝试反序列化存储的会话时,我收到以下错误:
org.apache.catalina.session.PersistentManagerBase.swapIn Error deserializing Session EE913D2ACAD49EB55EDA657A54DFA2CB: {1}
java.lang.ClassNotFoundException: de.myproject.SessionData$$EnhancerBySpringCGLIB$$768b59b9
Run Code Online (Sandbox Code Playgroud)
它似乎实际上序列化了整个Spring上下文,显然de.myproject.SessionData$$EnhancerBySpringCGLIB$$768b59b9在服务器重启后没有这样的类,所以我收到了上述异常.
有没有办法避免这种情况,以便会话范围的bean正确序列化?
更新:有一个问题关于这个标记为没有评论的解决,但我仍然面对它.
我的问题是,是否可以使用ajax(jquery)将图像上传到服务器
下面是我的ajax脚本,无需重新加载页面即可发送文本
$(function() {
//this submits a form
$('#post_submit').click(function(event) {
event.preventDefault();
var great_id = $("#post_container_supreme:first").attr("class");
var poster = $("#poster").val() ;
$.ajax({
type: "POST",
url: "my php file",
data: 'poster='+ poster + '&great_id=' + great_id,
beforeSend: function() {
$("#loader_ic").show();
$('#loader_ic').fadeIn(400).html('<img src="data_cardz_loader.gif" />').fadeIn("slow");
},
success: function(data) {
$("#loader_ic").hide();
$("#new_post").prepend(data);
$("#poster").val('');
}
})
})
})
Run Code Online (Sandbox Code Playgroud)
是否可以修改它以发送图像?
拥有以下代码:
@RequestMapping(value = "/system/login", method = RequestMethod.GET)
public void login(@RequestBody Login login) {
if(login.username == "test" && login.password == "test") {
//return HTTP 200
}
else {
//return HTTP 400
}
}
Run Code Online (Sandbox Code Playgroud)
我想根据我的逻辑返回两种不同的HTTP状态.实现这一目标的最佳方法是什么?
我有一个关于DDD分层架构的依赖关系的问题.如果Repository实现位于基础结构层中,则意味着基础结构层依赖于域层,因为实体将在Repository实现中引用.
另一方面,如果在域中使用基础结构服务,则Domain层可以引用基础结构层.
这不会创建循环引用吗?
我想使用ant来执行如下命令:
<exec executable="echo ptc@123 | sudo -S /app/Windchill_10.0/Apache/bin/apachectl -k stop">
</exec>
Run Code Online (Sandbox Code Playgroud)
但是它回复了一个错误说
'可执行文件和参数周围的字符不是命令的一部分.
背景是:我想使用ant来停止apache服务器但是我没有安装它运行命令的同一个用户.
有人可以帮忙或给我一些线索吗?
提前致谢
我想申请板球直播.我想知道以下事情:
目前,我已经实现了网页,但我正在寻找其他替代方案.
以下是我的代码:
link1 = (RelativeLayout) findViewById(R.id.link1);
link2 = (RelativeLayout) findViewById(R.id.link2);
link3 = (RelativeLayout) findViewById(R.id.link3);
link4 = (RelativeLayout) findViewById(R.id.link4);
link5 = (RelativeLayout) findViewById(R.id.link5);
link6 = (RelativeLayout) findViewById(R.id.link6);
link7 = (RelativeLayout) findViewById(R.id.link7);
link1.setOnClickListener(this);
link2.setOnClickListener(this);
link3.setOnClickListener(this);
link4.setOnClickListener(this);
link5.setOnClickListener(this);
link6.setOnClickListener(this);
link7.setOnClickListener(this);
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
switch (v.getId()) {
case R.id.link1:
linkFunction("http://changevssame.blogspot.com/2014/03/willow-cricket-hd-live-streaming.html");
break;
case R.id.link2:
linkFunction("http://changevssame.blogspot.com/2014/03/foxsports-live-streaming.html");
break;
case R.id.link3:
linkFunction("http://changevssame.blogspot.com/2014/03/sky-sports-live-streaming.html");
break;
case R.id.link4:
linkFunction("http://changevssame.blogspot.com/2014/03/ten-sports-live-streaming.html");
break;
case R.id.link5:
linkFunction("http://changevssame.blogspot.com/2014/03/star-cricket.html");
break;
case R.id.link6:
linkFunction("http://changevssame.blogspot.com/2014/03/icc-t20-world-cup-2014-live-streaming.html");
break; …Run Code Online (Sandbox Code Playgroud) 为什么这段代码不起作用?我正在使用FF.
<head>
<script type="text/javascript">
document.getElementById("someID").onclick = function(){
alert("Yahooo");
}
</script>
</head>
<body>
<a href="#" id="someID">someID</a>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
我得到javascript错误getElementById等于null.
我正在开始一个使用Hibernate和标准MVC架构的新Java Web Project.我刚刚开始布局项目结构,在这样做的时候,我开始环顾四周,看看这个区域是否有任何标准,关于控制器应该去哪里以及通常是最好的方法.但是我还没有找到任何指导方针.
所以我很想知道的是
我有一个Java项目,我正在使用Apache Maven.我一直在使用Maven Java编译器插件,参数source = 1.5和target = 1.5在pom.xml文件中定义.自从我将它更改为source = 1.6和target = 1.6后,我收到以下错误:
XXXXXXXX.java:[54,27]用于编码UTF-8的不可映射字符
我一直在测试不同的配置,并且我将showWarnings设置为true,因此我可以看到源和目标的值为1.5,这是一个警告,而不是错误.
无论如何,我需要更改Java编译器配置.有没有人知道为什么会这样,如何在不编辑所有Java源文件的情况下解决这个问题(现在有数百个文件存在此问题)?