我正在使用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编译器的设置(如建议在这里)我看到这一点:
我尝试将“目标字节码版本”编辑为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) 我希望用户传递两个参数或将其留空.例如:
./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.有没有办法改变这个值?
我发现这段代码多次使用(也是类似的代码,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).
我正在尝试使用SWING和MVC构建一个简单的货币转换器.我的问题是:在一个MVC模式中应该是Main类通常位于哪里?它应该在一个单独的包中初始化模型,视图,控制器和建立连接等吗?或者Main类应该在View包中?换句话说,谁的责任是建立整个系统?
我有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) 我有存储在一个IP地址in_addr_t,我想创建该数据类型对应的字符串表示(例如in_addr_t到10.0.0.1).
我怎样才能做到这一点?
我有一个列表,我想从中随机选择一个节点.由于它不是一个阵列,我事先并不知道它的长度.有没有办法随机选择一个节点(均匀分布)而不必扫描整个列表(在最坏的情况下)两次(即获得其长度并在随机选择其位置后到达所选节点)?
这是我用于列表的代码:
struct mynode {
in_addr_t paddr;
struct mynode *prev, *next;
};
struct mylist {
struct mynode *first, *last;
char *name;
};
Run Code Online (Sandbox Code Playgroud) 有没有一种方法可以在WTFforms中实现验证,强制要求至少有一个字段是必需的?
例如,我有两个StringFields,我想确保用户在单击“提交”之前至少在其中一个字段中写入一些内容。
field1 = StringField('Field 1', validators=[???])
field2 = StringField('Field 2', validators=[???])
Run Code Online (Sandbox Code Playgroud)
我应该写什么来代替????InputRequired()在这种情况下,无法完成这项工作,因为我需要将其分配给其中一个字段或同时分配给两个字段。我怎样才能做到这一点?
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)
或者也许有一种方法可以在几行中创建“默认组件”,而不必实际生成新组件?
我必须向进程发送两个信号,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?: