我遇到了一个奇怪的案子.在给定的数据库中,我得到了一个包含VARCHAR字段的记录,所以在我的实体模型中我添加了这个字段,加上getter和setter.现在是乐趣开始的地方:
下面的字符串实际上是方法的主体.它看起来像这样:
if (score <= 0.7) {return 0;} else if (score <=0.8) {return 1;} else if (score <=0.9) {return 2;} else {return 3}
Run Code Online (Sandbox Code Playgroud)
现在 - 我需要将这个字符串变成一个方法,说实话我不知道如何实现这一点.这个实际的方法需要从我得到一个得分为double,并根据给定的分数返回一个整数值.
任何人?
我知道最简单的方法是不使用这样的解决方案,但这不是我的电话,此外,数据库中有大量这样的记录,每条记录都不同.我们无法解决这个问题.我必须处理这个问题 - 所以请求解决方案的想法,我保证我会做所有的讨厌,并说这是愚蠢的:)
相信我,我,我做,我会抱怨相当一些时间.
如何使用jinja2循环json列表?
我有这个json列表,
[{"first_name":"John","last_name":"Smith","user_id":4,"address":null},{"first_name":"Jane","last_name":"Heart","user_id ":5,"address":null},{"first_name":"Dom","last_name":"Robinsons","user_id":6,"address":null},{"first_name":"Pete", "last_name":"手","user_id":7,"地址":null}]
page.html中,
[
{
"first_name": "John",
"last_name": "Smith",
"user_id": 4,
"address": null
},
{
"first_name": "Jane",
"last_name": "Heart",
"user_id": 5,
"address": null
},
{
"first_name": "Dom",
"last_name": "Robinsons",
"user_id": 6,
"address": null
},
{
"first_name": "Pete",
"last_name": "Hand",
"user_id": 7,
"address": null
}
]
Run Code Online (Sandbox Code Playgroud)
结果,
<table>
{% for user in users %}
<tr><td>{{ user.first_name }}</td></tr>
{% endfor %}
</table>
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
我是编程和java的新手,我正在努力解决以下问题:在二十世纪的第一个月(1901年1月1日至2000年12月31日),有多少个星期日下降?
这是我的代码:
int count, sum = 0;
for (int i = 1901; i < 2001; i++) {
LocalDate test = LocalDate.of(i, 1, 1);
sum += test.lengthOfYear();
}
for (int i = 1; i < sum; i++) {
LocalDate date1 = LocalDate.of(1901, 1, 1);
date1 = date1.plusDays(i);
if (date1.getMonth() == JANUARY && date1.getDayOfWeek() == SUNDAY) {
count++;
}
}
System.out.println(count);
Run Code Online (Sandbox Code Playgroud)
如果我打印结果,它似乎工作正常.
我的结果是443,但正确的答案是171.我做错了什么?
谢谢!
任何人都可以帮助我重新加载属性文件。我有这样的代码
Properties prop = new Properties();
InputStream trackerFileStream =
LoadProperty.class.getClassLoader().getResourceAsStream("sample.properties");
prop.load(trackerFileStream);
Run Code Online (Sandbox Code Playgroud)
通过类加载器加载属性文件后,我修改了属性文件。我无法在同一程序执行中获得最新的修改。
谁能建议我如何在不重新执行程序的情况下重新加载属性文件?
我创建了一个布局(比如my_layout.xml),其中包括两个其他XML布局文件,比如some_layout.xml和another_layout.xml.my_layout.xml是使用绘制的setContentView(R.layout.my_layout).
现在我有一个带ID的复选框some_checkbox,它在some_layout.xml中定义,我想给复选框一个OnCheckedChangeListenerusing setOnCheckedChangeListener(),就像这样:
CheckBox cb = (CheckBox) findViewById(R.id.some_checkbox);
cb.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
...
});
Run Code Online (Sandbox Code Playgroud)
但现在NullPointerException抛出了,因为cb是null.我猜那是因为包含的布局some_checkbox(some_layout)没有加载setContentView(R.layout.some_layout).
R.id.some_checkbox null?some_layout真的是可见的.some_layout变量,就像我在上面的代码片段中尝试过的那样?我终于解决了它,使用以下内容,由stealthjong建议:
一种解决方案可能是初始化
checkedChangeListener,向可扩展列表视图添加侦听器,以及打开可扩展列表视图的子项时,检查您Checkbox是否是其中一个膨胀的子项,并添加checkedchangeListenerif if.
我创建了一个名为的方法setCheckedChangeListenerToElement(int resourceId, OnCheckedChangeListener listener),它保存给定的resourceId(它是附加监听器的元素的ID)和给定的监听器.一旦inflater调用该方法getChildView(int groupPosition, int childPosition, boolean isLastChild, …
我有一个SpannableString对象的问题.
下面是一个简短的例子:
SpannableString spanstr = new SpannableString("Bold please!");
spanstr.setSpan(new StyleSpan(Typeface.BOLD), 0, spanstr.length(), 0);
SpannableStringBuilder sb = new SpannableStringBuilder();
sb.append(spanstr);
sb.append("\n"); // A newline
sb.append("The first line is bold. This one isn't.");
CharSequence cq = sb.subSequence(0, sb.length());
// ^There's no such method to return a SpannableString,
// so I try to return a CharSequence instead.
// And then, at last:
TextView contentView = (TextView) findViewById(R.id.some_id);
contentView.setText(cq);
Run Code Online (Sandbox Code Playgroud)
这个例子试图做的是显示:
请大胆!
第一行是粗体.这个不是.
但问题是:文本的第一行不会以粗体显示.
为什么不这样做呢?
前几天我正在阅读Kernighan和Rob Pike 的编程实践.
在第二章中,在" 搜索"部分,我阅读了一些在我脑海中造成混淆的行.
"没有什么比用于存储静态表格数据的数组更好.编译时初始化使得构造这样的数组变得便宜和容易.(在Java中,初始化发生在运行时,但这是一个不重要的实现细节,除非数组很大. )"
我的问题是,如果用户只在运行时提供数组或变量,并且变量的内存分配在运行时进行,那么在任何语言中如何编译时都可以进行数组或变量的初始化.不知道内存地址如何初始化数组?
在我的servlet中,我使用下面的代码在浏览器中打开PDF文件,但它显示了一个下载对话框.
我做错了什么?
response.setContentType("application/pdf");
out = response.getWriter();
String filepath = "D:/MyFolder/PDF/MyFile.pdf";
response.setHeader("Content-Disposition", "inline; filename=" + filepath + ";");
FileOutputStream fileOut = new FileOutputStream("D:/MyFolder/PDF/MyFile.pdf");
fileOut.close();
out.close();
Run Code Online (Sandbox Code Playgroud) 我有一个EditText字段,用户只能输入六位数字.当EditText聚焦时,它应该提示用户他只能输入六位数字.
想法是以灰色显示剩余的数字,如下所示:
当用户输入一个数字时,它看起来像这样:
(红色垂直条表示光标.)
光标不应位于两个图像中当前位置的后面; 灰色数字应该只是可见的,不应该是可选的.
所以实际上我想设置占位符文本,但在用户输入时保留占位符文本的一部分.
我TextInputLayout从设计支持库中读到了这个类,但我不知道如何实现上述想法.
这该怎么做?
如何对单个流的元素执行多个不相关的操作?
说我有List<String>一个文本组成.列表中的每个字符串可能包含也可能不包含某个单词,表示要执行的操作.让我们说:
List<String>包含所有子字符串的部分当然,我可以这样做:
List<String> strs = ...;
List<Integer> wordsInStr = strs.stream()
.filter(t -> t.contains("of"))
.map(t -> t.split(" ").length)
.collect(Collectors.toList());
List<String> linePortionAfterFor = strs.stream()
.filter(t -> t.contains("for"))
.map(t -> t.substring(t.indexOf("for")))
.collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)
但随后列表将被遍历两次,如果strs包含大量元素,可能会导致性能下降.
是否有可能以某种方式执行这两个操作而不在列表上遍历两次?
java ×6
android ×3
arrays ×1
java-stream ×1
jinja2 ×1
json ×1
layout ×1
python-2.7 ×1
search ×1
servlets ×1