我需要一个Timer基本上每t秒做一些事情.但我希望能够修改计时器重复任务的计时器周期.我写了这样的东西:
public Bot() {
timer = new Timer();
timer.schedule(new Task(), 1000, moveTime = 1000);
}
public class Task extends TimerTask {
@Override
public void run() {
System.out.println("Time Passed from last repeat:" + movetime)
moveTime += 1000;
}
Run Code Online (Sandbox Code Playgroud)
因此,在1000ms延迟后,定时器启动并重复每moveTimems.问题是即使我增加movetime1000,计时器总是以初始延迟(1000)运行,但movetime每次定时器调用时增加值(2000,3000,4000等)run().
我错过了什么或者我有什么选择,每隔't'秒重复一次任务,'t'是可变的?
谢谢.
我有以下sql让我所有的根forumpost的子孙.
with recursive all_posts (id, parentid, root_id) as
(
select t1.id,
t1.parent_forum_post_id as parentid,
t1.id as root_id
from forumposts t1
union all
select c1.id,
c1.parent_forum_post_id as parentid,
p.root_id
from forumposts
c1
join all_posts p on p.id = c1.parent_forum_post_id
)
select fp.id
from forumposts fp inner join all_posts ap
on fp.id=ap.id
where
root_id=1349
group by fp.id
Run Code Online (Sandbox Code Playgroud)
我想要删除选中的记录.像从forumposts fp中删除的东西,其中fp.id =(最后从上面的代码中选择),但这不起作用(我在"DELETE"或附近得到语法错误).这是我第一次使用递归,我必须遗漏一些东西.任何帮助表示赞赏.
我有一个 formGroup,我在编辑模式下打开它并使用正确的数据进行初始化。我还将这个初始数据保存在 editForm 中。
对其进行更改后,我想将所有更改重置为初始值,例如:
this.formGroup.reset(this.staffToEdit);
Run Code Online (Sandbox Code Playgroud)
但这一切所做的一切只是在每个领域都留有空白。我发现的唯一解决方法是做类似的事情
this.formGroup.reset({field1 : this.editForm.field1});
...
Run Code Online (Sandbox Code Playgroud)
问题是我需要一些更通用的东西,将所有字段重置为其初始值,而不必遍历每个 formControl。
这可以吗?
数据库:在PostgreSQL
我有一个表location_type,其中包含2列id,name.我想删除列名并添加2个其他列:county,city.但是我得到错误,我无法弄清楚为什么.这是我试过的:
ALTER TABLE location_type
DROP COLUMN name;
ALTER TABLE location_type
ADD (county character varying(255) NOT NULL,
city character varying(255) NOT NULL);
Run Code Online (Sandbox Code Playgroud)
也许有人可以看到我做错了什么.任何建议表示赞赏.谢谢.
我有以下表结构:

所以每个论坛帖子都有一个父母,父母也有父母(根帖除外)等等.我需要的是获得一个孩子的总数,包括他孩子的孩子,孙子女的孩子等等.
现在我有一个简单的选择返回直接的孩子:
select count(*) as child_count
from forumposts
where parent_forum_post_id = $criteria.fid
Run Code Online (Sandbox Code Playgroud)
我甚至不确定这是否可以通过sql,但我是SQL的初学者,所以我想也许有人可以给出一些想法.
任何帮助表示赞赏.谢谢.
所以我到了一个网站,它说Integers不允许用它计算,+ - */%^等.
但我试过了
Integer n=new Integer(8);
n+=2;
Integer m=new Integer(10);
System.out.println(n+m);
Run Code Online (Sandbox Code Playgroud)
它打印出来20.所以我有点困惑.我知道这是一个菜鸟问题,但我真的想得到这个,我不知道我错过了什么.那么这实际上是什么意思"整数不允许用它来计算"
谢谢.
编辑:@people请求:网站提供准确的信息?