小编Rob*_*bb1的帖子

IntelliJ:错误:java:错误:不支持发布版本 5

我正在使用IntelliJ IDEA Ultimate 2019.3.1。每当我尝试启动任何简单的 Java Maven 项目(甚至可能是一个简单的 Hello World)时,我都会收到以下错误:

Error:java: error: release version 5 not supported
Run Code Online (Sandbox Code Playgroud)

java --version通过终端运行我得到以下输出:

openjdk 11.0.5 2019-10-15
OpenJDK Runtime Environment (build 11.0.5+10-post-Ubuntu-0ubuntu1.1)
OpenJDK 64-Bit Server VM (build 11.0.5+10-post-Ubuntu-0ubuntu1.1, mixed mode, sharing)
Run Code Online (Sandbox Code Playgroud)

javac --version通过终端运行我得到以下输出:

javac 11.0.5
Run Code Online (Sandbox Code Playgroud)

要在Java编译器的设置(如建议在这里)我看到这一点:

Java 编译器设置

我尝试将“目标字节码版本”编辑为1.8,但出现以下错误:

Error:(1, 26) java: package javafx.application does not exist
Error:(2, 20) java: package javafx.stage does not exist
Error:(4, 27) java: cannot find symbol
  symbol: class Application
Error:(12, 23) java: cannot …
Run Code Online (Sandbox Code Playgroud)

java intellij-idea

181
推荐指数
9
解决办法
23万
查看次数

如何在C中解析整数命令行参数?

我希望用户传递两个参数或将其留空.例如:

./program 50 50
Run Code Online (Sandbox Code Playgroud)

要么

./program
Run Code Online (Sandbox Code Playgroud)

当我尝试使用时int main(int argc, char *argv[]),我所做的第一件事就是改变char *argv[],int *argv[]但它没有用.我想要的是用户只需输入0到100之间的两个整数.所以如果它不是两个整数那么它应该给出一个错误.

我有点想用类型给出错误(就像我以前在C#上编程的那样),但无论我输入什么,argv [1]都会一直是'char'类型.

所以我所做的就是

for (int i = 0; i <= 100; i++) {
    //printf("%d", i);
    if (argv[1] == i) {
        argcheck++;
        printf("1st one %d\n", i);
    }
    else if (argv[2] == i) {
        argcheck++;
        printf("2nd one %d\n", i);
    }
Run Code Online (Sandbox Code Playgroud)

这不起作用.此外,它在编译时发出警告,但如果我改为argv使用atoi(argv[1]),那么它会产生分段错误(核心转储)错误.

我需要一种简单的方法来解决这个问题.

编辑:

所以我解决了atoi(),它给出分段错误的原因是因为我在没有参数的情况下尝试使用null值.所以我通过添加额外的cond来修复它.但现在问题是,如果价值是让我们说的话

./program asd asd
Run Code Online (Sandbox Code Playgroud)

然后输出atoi(argv[1])将是0.有没有办法改变这个值?

c parameter-passing command-line-arguments

16
推荐指数
3
解决办法
5万
查看次数

检查errno!= EINTR:这是什么意思?

我发现这段代码多次使用(也是类似的代码,open()而不是使用它write()).

int c = write(fd, &v, sizeof(v));
if (c == -1 && errno != EINTR) {
    perror("Write to output file");
    exit(EXIT_FAILURE);
}
Run Code Online (Sandbox Code Playgroud)

为什么要检查&& errno != EINTR这里?

寻找errno男人,我发现关于下面的文字EINTR,但即使我参观man 7 signal不赐教.

EINTR中断函数调用(POSIX.1); 见信号(7).

c linux posix signals linux-kernel

15
推荐指数
2
解决办法
2万
查看次数

MVC模式中Main类的位置和职责

我正在尝试使用SWING和MVC构建一个简单的货币转换器.我的问题是:在一个MVC模式中应该是Main类通常位于哪里?它应该在一个单独的包中初始化模型,视图,控制器和建立连接等吗?或者Main类应该在View包中?换句话说,谁的责任是建立整个系统?

java model-view-controller design-patterns

11
推荐指数
1
解决办法
2558
查看次数

快速单击按钮,对话框打开两次

我有Button,点击,显示一个Dialog.一切都像魅力,但如果我双击按钮或快速单击按钮,Dialog打开两到三次.我必须单击后退按钮两次或三次才能解除Dialog.

我已经在SO上搜索了相关问题,但大多数答案建议禁用按钮或使用变量并将其设置为true和false,这不是我的要求.

如果有人知道如何解决这个问题,请帮助我.

我用的代码

// Delete item on click of delete button
holder.butDelete.setOnClickListener(new OnClickListener() {         
@Override
    public void onClick(View v) {
        Dialog passwordDialog = new Dialog(SettingsActivity.this);      
        passwordDialog.show();
    }
});
Run Code Online (Sandbox Code Playgroud)

android button android-alertdialog

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

in_addr_t到string

我有存储在一个IP地址in_addr_t,我想创建该数据类型对应的字符串表示(例如in_addr_t10.0.0.1).

我怎样才能做到这一点?

c linux network-programming

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

从C中的列表中选择随机节点

我有一个列表,我想从中随机选择一个节点.由于它不是一个阵列,我事先并不知道它的长度.有没有办法随机选择一个节点(均匀分布)而不必扫描整个列表(在最坏的情况下)两次(即获得其长度并在随机选择其位置后到达所选节点)?

这是我用于列表的代码:

struct mynode {
    in_addr_t paddr;
    struct mynode *prev, *next;
};

struct mylist {
    struct mynode *first, *last;
    char *name;
};
Run Code Online (Sandbox Code Playgroud)

c random list

8
推荐指数
1
解决办法
173
查看次数

Flask WTForms:验证至少一个字段的 InputRequired

有没有一种方法可以在WTFforms中实现验证,强制要求至少有一个字段是必需的?

例如,我有两个StringFields,我想确保用户在单击“提交”之前至少在其中一个字段中写入一些内容。

field1 = StringField('Field 1', validators=[???])
field2 = StringField('Field 2', validators=[???])
Run Code Online (Sandbox Code Playgroud)

我应该写什么来代替???InputRequired()在这种情况下,无法完成这项工作,因为我需要将其分配给其中一个字段或同时分配给两个字段。我怎样才能做到这一点?

python flask flask-wtforms

8
推荐指数
1
解决办法
1558
查看次数

没有组件的 Angular 对话框

Angular 8 有没有办法生成一个小对话框而无需创建新组件?一些小消息,例如“操作已完成”,不需要与用户进行太多交互。我只是觉得在一个项目中再添加 4 个文件只是为了显示成功消息就太多了:

small-dialog.component.html
small-dialog.component.scss
small-dialog.component.spec.ts
small-dialog.component.ts
Run Code Online (Sandbox Code Playgroud)

或者也许有一种方法可以在几行中创建“默认组件”,而不必实际生成新组件?

dialog angular

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

使用sigaction()

我必须向进程发送两个信号,SIGUSR1并且SIGUSR2为了修改程序中的特定布尔变量(SIGUSR1将其设置为true,SIGUSR2将其设置为false).所以我写了一个signalHandler()函数来控制SIGUSR1或的行为SIGUSR2.问题是:如何设置sigaction()处理这个特定的任务? 我花了很多时间在谷歌上,我到处读到我应该使用sigaction()而不是过时的signal().在手册页中我找到了这个

int sigaction(int signum, const struct sigaction *act,struct sigaction *oldact);
Run Code Online (Sandbox Code Playgroud)

在signum我必须把我想要处理的信号类型,然后我有一个struct sigaction参数:

  struct sigaction {
       void     (*sa_handler)(int);
       void     (*sa_sigaction)(int, siginfo_t *, void *);
       sigset_t   sa_mask;
       int        sa_flags;
       void     (*sa_restorer)(void);
   };
Run Code Online (Sandbox Code Playgroud)

在第一个字段中我认为我应该设置我的信号处理程序的名称,但我不知道如何设置其他字段.

最后,有什么用struct sigaction *oldact?:

c signals

6
推荐指数
1
解决办法
5937
查看次数