小编Dan*_*hev的帖子

如何在 Java 中创建独立的 .exe(无需安装程序和 JRE 即可运行)

如何在没有程序安装程序的情况下.exe为我的项目(我在 IntelliJ IDEA 中编写)制作独立的 Windows 可执行文件( )JavaFX?我希望用户下载该.exe文件并开箱即用,无需安装程序,即使他们的计算机上没有 JRE。这可能吗?到目前为止,我已经阅读了一些有关以下选项的内容:

  • launch4j - 似乎将所需的 JRE文件.exe
  • install4j - 它创建一个安装程序,一旦运行,就会创建.exe文件。

所以,如果我理解正确的话,这两者都不会帮助我。我找到了这个这个帖子,但它们不涵盖我的具体案例。对不起,如果我问了一个愚蠢的问题,这是我的第一个 Java GUI。

java exe javafx

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

如果一个函数有错误的参数,如何防止它返回任何值?

我确定这个问题已经有人问过了,但我找不到答案。

如果我有一个功能,让我们说:

int Power(int number, int degree){
    if(degree==0){
        return 1;
    }
    return number*Power(number, degree-1);
}
Run Code Online (Sandbox Code Playgroud)

它仅在degree是非负时才起作用int。如何防止使用错误的参数调用此函数?

例如,如果程序员编写cout<<Power(2, -1);,我希望编译器拒绝编译代码并返回某种错误消息(例如“函数 Power 只接受非负整数”)。

在这种情况下,另一种选择是函数不返回任何值。例如:

int Power(int number, unsigned int degree){
    if(degree<0){
        //return nothing
    }
    if(degree==0){
        return 1;
    }
    return number*Power(number, degree-1);
}
Run Code Online (Sandbox Code Playgroud)

c++ function

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

使用数组时是否应该引用数组元素?

假设我们要使用以下代码实现冒泡排序:

void bubbleSort(int arr[], int n){
    for(int i=0; i<n-1; i++){
        for(int j=i+1; j<n;j++){
            if(arr[i]>arr[j]){
                swap(arr[i], arr[j]);
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

函数中是否应该有一个&beforearr[i]arr[j]in swap,有什么区别?我记得曾在某处读到不需要&在数组元素之前放置符号以直接使用地址。我知道这是一个愚蠢的问题,所以请原谅我的提问,但这些小细节可以帮助我更好地理解指针。

c++ arrays swap pointers

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

`printf()` 可以有一个宏参数吗?

我正在使用以下printf功能:

    printf("%-8s%-21s%-17s%-6s\n", "index", "Name", "Effect", "Type");
Run Code Online (Sandbox Code Playgroud)

但是,我想使用预定义的宏而不是“8”:

#define NAME_SIZE 8
Run Code Online (Sandbox Code Playgroud)

当我尝试替换它时,IDE 无法识别它并给出错误:(Invalid conversion specifier N宏的第一个字母)。我尝试将宏名称放在()括号中或放置一个间隔,但也不起作用。所以我想知道:甚至可以将宏作为参数放入printf函数中,如果是,如何?我很抱歉提出这样一个奇怪的问题,但我找不到任何信息。

c c++ macros printf

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

标签 统计

c++ ×3

arrays ×1

c ×1

exe ×1

function ×1

java ×1

javafx ×1

macros ×1

pointers ×1

printf ×1

swap ×1