小编n0p*_*0pe的帖子

比较日期的方法似乎根本不起作用

public void display(Date date) {
        for (int i = 0; i < this.position; i++) {
            schedule[i].init();
            while (schedule[i].hasMoreOccurrences()) {
                Date tmp = schedule[i].nextOccurrence();
                if (tmp.compareTo(date) == 0) {
                    System.out.println(schedule[i].toString());
                    schedule[i].init();
                    break;
                }

            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

基本上,上面经历了一系列"事件".每个事件都有一个方法来检查它是否有更多的出现次数以及获取下一次出现的方法(类型为date).

该方法接受日期并遍历数组并检查每个事件.对于每个事件,它会检查是否有更多事件.如果是,则检查该事件是否与指定的日期"相等".如果是,则打印事件并跳出循环并移动到数组中的下一个事件.如果下一次出现不等于给定的日期,只要事件有更多要检查的事件,它就会继续检查.

我知道这个方法是支持打印事件,但我没有错误,没有输出.我一直在玩它一段时间无济于事.

我100%确定我的hasMoreOccurrences()和nextOccurrence()方法正常工作,因为依赖于它们的代码的其他部分非常有用.

我很难过:/感谢您的帮助:)

编辑 我已经打印了tmp和日期,我发现它们都出现在相同的日期但不是同一时间.我不关心时间,只关心日期.有任何想法吗?

java date

4
推荐指数
1
解决办法
1935
查看次数

删除在Java GUI中使用Alt-F4和Alt-TAB的可能性

可能重复:
Java全屏程序(Swing)-Tab/ALT F4

我有一个全屏框架运行,我希望模仿一个Kiosk环境.要做到这一点,我需要"抓住"所有出现的Alt- F4并且Alt- Tab始终按下键盘.这甚至可能吗?我的伪代码:

public void keyPressed(KeyEvent e) {
     //get the keystrokes
     //stop the closing or switching of the window/application  
}
Run Code Online (Sandbox Code Playgroud)

我不确定keyPressed和它的关联(keyReleased和keyTyped)是否是正确的方法,因为从我读过的,它们只处理单个键/字符.

java keyboard user-interface swing

4
推荐指数
1
解决办法
1万
查看次数

在Python中创建和维护几个ssh会话

一旦我的程序启动,它将打开任意数量的ssh会话(用户定义)并无限期地在服务器上运行特定命令(同时为真循环)或直到用户退出.出于效率原因,我想只创建一次会话,然后能够运行命令直到用户退出.

我怎么能在python中这样做?我在另一个帖子中遇到了一个很酷的方法,用来subprocess运行命令并捕获它的STDOUT.如何首先启动会话,然后运行循环命令?

任何链接到Python中的类似过程的东西也将受到赞赏.这是我的第一个python应用程序.

python ssh subprocess

4
推荐指数
1
解决办法
2781
查看次数

在Perl中使用双冒号进行奇数字符串解析

我用Perl字符串解析偶然发现了一些奇怪的东西.这是一个例子:

$word = "hello";
$test1 = "colon:values::$word:test";
$test2 = "colon:values::$word::test";

// test1 prints: "colon:values::hello:test"
// test2 prints: "colon:values::"
Run Code Online (Sandbox Code Playgroud)

因此,如果Perl在字符串中的变量之后看到双冒号,它(我假设)会认为您正在尝试使用包名称.我猜它正在尝试加载"Hello :: test"而没有找到任何东西 - 因此提前终止字符串.

这是正常的吗?我觉得这很反直觉.我能够通过逃避第一个冒号来解决它:

$works = "colon:values::$word\::test";
Run Code Online (Sandbox Code Playgroud)

这是一个错误还是我完全错过了一些明显的东西?

string perl parsing colon

4
推荐指数
1
解决办法
795
查看次数

在C ++中使用ncurses读取字符串

我正在用C ++编写基于文本的游戏。在某个时候,我要求用户输入与不同玩游戏者相对应的用户名。

我目前正在从ncurses读取单个字符,如下所示:

move(y,x);
printw("Enter a char");
int char = getch();
Run Code Online (Sandbox Code Playgroud)

但是,我不确定如何输入字符串。我正在寻找类似的东西:

move(y,x);
printw("Enter a name: ");
std::string name = getstring();
Run Code Online (Sandbox Code Playgroud)

我已经看到了许多使用ncurses的不同指南,它们都使用一组其他函数没有的不同函数。据我所知,不赞成和不赞成使用的功能之间的界限不是很清楚。

c++ string ncurses

4
推荐指数
1
解决办法
4629
查看次数

.jar适用于Windows但不适用于Linux(stacktrace)

这就是我得到的:

[user@localhost KioskMenu]$ java -jar ./kioskmenu.jar 
Exception in thread "main" java.lang.ClassFormatError: KioskMenu (unrecognized class file version)
   at java.lang.VMClassLoader.defineClass(libgcj.so.7rh)
   at java.lang.ClassLoader.defineClass(libgcj.so.7rh)
   at java.security.SecureClassLoader.defineClass(libgcj.so.7rh)
   at java.net.URLClassLoader.findClass(libgcj.so.7rh)
   at gnu.gcj.runtime.SystemClassLoader.findClass(libgcj.so.7rh)
   at java.lang.ClassLoader.loadClass(libgcj.so.7rh)
   at java.lang.ClassLoader.loadClass(libgcj.so.7rh)
   at gnu.java.lang.MainThread.run(libgcj.so.7rh)
[user@localhost KioskMenu]$ 
Run Code Online (Sandbox Code Playgroud)

我唯一注意到的是我的RHEL使用的是"免费"版本的Java.但这应该不重要吗?

java linux jar rhel

3
推荐指数
1
解决办法
2234
查看次数

如何使用Express/Nodejs缓存单个资源

我服务的背景图片相当大,我想让它永久缓存.我想我应该发送一个最大年龄为无穷大的缓存头.我怎样才能以干净和正确的方式做到这一点.我正在使用express(开箱即用)并且没有任何缓存模块.

caching http-headers node.js express

3
推荐指数
1
解决办法
1800
查看次数

Python的argparse选择几个可选参数之一

我有一个程序,可以通过以下方式使用:

program install -a arg -b arg
program list
program update
Run Code Online (Sandbox Code Playgroud)

只能指定一个位置参数(install,listupdate).并且install场景中只能有其他参数.

argparse文档有点密集,我很难弄清楚如何正确地执行此操作.我应该add_argument怎么样?

python command-line-arguments argparse

3
推荐指数
1
解决办法
2054
查看次数

我应该用 exit() 终止一个分叉的子进程吗?

我正在研究一些fork()在 C 中使用的东西。这是我第一次接触分叉进程的概念。

基本上,我有这样的事情:

int pid;

pid = fork();
if (pid < 0) {
    fprintf(stderr, "Fork Failed");
    exit(-1);
} else if (pid == 0) {
    fprintf(stderr, "Inside child %d\n", getpid());
    // do some other stuff
    exit(0);
} else {
    fprintf(stderr, "Inside parent %d\n", getpid());
}
Run Code Online (Sandbox Code Playgroud)

之前,我没有把 放在exit(0)子进程的代码中。我似乎收到了大量重复的流程。我添加了exit(0)现在我只产卵一个孩子。但是,我想知道这是正确的做法还是只是创可贴。这是正确的做法吗。孩子完成后应该如何“停止”?

c fork parent-child

3
推荐指数
1
解决办法
6491
查看次数

下载并将javax.enterprise.context.RequestScoped添加到我的项目中

我有一个运行1.7的项目.我正在使用问题javax.enterprise.context.RequestScoped.我很困惑为什么它不包括在内,因为我javax.*默认将其他库内置到Netbeans中.

我在哪里可以下载这个库,如何将它添加到我的项目中?

java netbeans

3
推荐指数
2
解决办法
6617
查看次数