小编Jua*_*uan的帖子

JNA Cant找到了图书馆的一部分

这是我第一次使用JNA,它一直很难但同样很棒.

试着遵循这个代码示例如何在Java中获取程序窗口的x和y?

我导入:

import com.sun.jna.*;
import com.sun.jna.platform.win32.WinDef.HWND;
import com.sun.jna.win32.*;
Run Code Online (Sandbox Code Playgroud)

我需要这部分代码

HWND FindWindow(String lpClassName, String lpWindowName);
int GetWindowRect(HWND handle, int[] rect);
Run Code Online (Sandbox Code Playgroud)

问题是没找到第二个导入,我找不到原因.我正在使用Netbeans,这很重要.

注意:我下载了最新版本的JNA.jar,如果您编辑我的问题,请让我知道您编辑的内容,以便下次自行修复.

java netbeans jna

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

无法在文件中找到换行符(java)

我试图获取文件的最后一行,但我的输出显示它从未找到它.我也尝试寻找所有行开头的"[",但除非跳转完美,否则程序不会跳过"[".我试图寻找 "\ r \n",System.getProperty( "line.separator"),\ r和\n.最可能是它的一个愚蠢的错误,但如果我拥有它而我找不到它,那么其他人也可能遇到它.

        RandomAccessFile raf = new RandomAccessFile(fileLocation, "r");
        //Finds the end of the file, and takes a little more
        long lastSegment = raf.length() - 5;
        //**Looks for the new line character \n?**
        //if it cant find it then take 5 more and look again.
        while(stringBuffer.lastIndexOf("\n") == -1)  {
            lastSegment = lastSegment-5;
            raf.seek(lastSegment);
            //Not sure this is the best way to do it
            String seen = raf.readLine();
            stringBuffer.append(seen);
        }
        //Trying to debug it and understand
        int location …
Run Code Online (Sandbox Code Playgroud)

java file-io newline random-access fileinputstream

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

Joda-时间都在几分钟内

是否有一种隐藏的方式可以在几分钟内(或任何其他)获得Joda-Time时段

现在我做:

(period.getHours()*60 + period.getMinutes() + roundTwoDecimals((double)(period.getSeconds()/60)))
double roundTwoDecimals(double d) {
        DecimalFormat twoDForm = new DecimalFormat("#.##");
    return Double.valueOf(twoDForm.format(d));
}
Run Code Online (Sandbox Code Playgroud)

但出于某种原因,我认为可能有一种更简单的方法.

编辑:我的时间将是最长时间,永远不会是几天.这是我第一次和Joda-Time合作.

java jodatime

2
推荐指数
1
解决办法
4977
查看次数

什么会更好的设置,数组或列表?

我需要列出一个人和他们到达聚会的时间列表,当他们离开时,我需要将他们从这个列表中删除.(派对最高人数为150)

Set会告诉我,在任何情况下我都不会两次添加同一个人.
列表将为我提供灵活性,以很少的空格开始列表(如果没有人出现).
数组(不确定它们提供的是什么)但我经常使用它们.

我的想法是要么创建2个数组,一个是名字,另一个是时间.当有人进来时,我将名字保存在另一个中,而将时间保存在另一个上.当他/她离开时我搜索他/她的名字,删除它并使用相同的索引删除另一个数组上的时间.

一个列表可以有一个包含2个元素的数组,然后我只需要将它添加到一个位置,但搜索会更复杂.

或许我太复杂了?

java arrays list set

0
推荐指数
1
解决办法
586
查看次数

用字符串切换

不知何故,我的switch语句没有通过我的任何案例,但它不应该进入一个?(我使用/sf/answers/281048701/作为参考).

没有输出,应用程序被阻止后.

#include <stdio.h>

#include <stdlib.h>

#define BADKEY -1
#define string1 1
#define string2 2
#define string3 3
#define string4 4
char *x = "string1";

typedef struct {char *key; int val; } t_symstruct;

static t_symstruct lookuptable[] = {
    { "string1", string1 }, { "string2", string2 }, { "string3", string3 }, { "string4", string4 }
};

#define NKEYS (sizeof(lookuptable)/sizeof(t_symstruct))

int keyfromstring(char *key) {
    int i;
    for (i=0; i < NKEYS; i++) {
        t_symstruct *sym = lookuptable + i;
        printf("before: …
Run Code Online (Sandbox Code Playgroud)

c case-statement switch-statement

0
推荐指数
1
解决办法
358
查看次数

动态选择类别

首先,我不知道如何称呼我的问题,所以任何更好的标题建议请告诉我。

我想创建一个接口,以便其他人可以添加他们的实现,然后在运行时决定使用哪个实现。

即我创建了一个接口“Food”,并且存在 2 个实现“Breakfast”和“Lunch”。在实现中,两者具有相同的方法名称和相同的参数,我想让用户在运行时调用它们中的任何一个。“makeFood() 使用早餐”或“makeFood() 使用午餐”。

一种可能性是仅编译一种实现,但是如果将来必须使用其他实现,则需要删除 .class 文件。

或者我应该使用某种类型的继承?

另外(不是优先级):我不知道实现类名称,所以有人可以创建“晚餐”或“第二早餐”。这会让我陷入另一个困境,如果用户请求一个尚未实现的“类”该怎么办:SI 总是可以假设用户知道哪些实现可用。

java inheritance interface

0
推荐指数
1
解决办法
4170
查看次数