public String starString(int n){
int m = (int)Math.pow(2,n);
String str="";
str = starString(m-1,str);
return str;
}
private String starString(int n, String str){
String temp ="";
if (n<0) {
try{
throw new IllegalArgumentException();
}
catch(IllegalArgumentException ex){
}
}
else {
temp+=("*");
starString(n-1,str);
}
return temp;
}
Run Code Online (Sandbox Code Playgroud)
有人可以向我解释为什么这个代码返回一个星号,即使它被一个大于n >= 0?的值调用?
我调试并注意到在抛出异常后它再次递归并且所有的星号都被切断为"".我已经尝试过很多次了.它还要求你扔掉IllegalArgumentExceptionif n < 0.
我不是 C++ 新手,但这是我第一次开发 Win32 程序。它必须是图形的,所以我一直试图使用输入/对话框来获取用户输入,但没有成功。
我已经在 MSDN 上阅读了这个主题并发现它很有帮助,但是我收到了一个关于IDD_PASSWORD并且IDE_PASSWORD没有被定义的错误。声明它们resource.h并给出任意值(如 110、111)不会产生任何结果。其他尝试我尝试修改自动生成的 about 框,修改后也没有结果,我注意到如果我从 103更改IDD_ABOUTBOXin的值resource.h,这也不起作用。我也尝试在资源视图下使用 .rc,但仍然没有结果。
所以我想知道资源框模板是否有我必须使用的预定义常量,如果有,因为我也搜索过,或者是否有另一种方法可以在窗口应用程序中获取用户输入。我只想获得一个整数,仅此而已。