这会导致堆栈溢出错误.我只需要帮助解释为什么这个崩溃与正确的相似.我使用过调试器,但我仍然不清楚.
public static void main(String[] args) {
countForwards(5);
}
public static void countForwards( int num ) {
if (num >= 0){
countForwards(num--);
}
System.out.print(num + " ");
}
Run Code Online (Sandbox Code Playgroud)
我知道这是解决方案,但我不明白为什么会有所不同
public static void countForwards( int num ) {
if (num >= 0){
countForwards(num - 1);
}
System.out.print(num + " ");
}
Run Code Online (Sandbox Code Playgroud) 我将使用 Cloudflare 作为我的 S3 网站存储桶的代理,以确保用户无法使用存储桶 URL 直接访问网站。
我使用我的自定义域设置了一个用于静态网站托管的 S3 存储桶:www.mydomain.com并已上传我的index.html文件。
我有一条启用了->和 CloudflareCNAME的记录。www.mydomain.comwww.mydomain.com.s3-website-us-west-1.amazonaws.comProxy
问题:我尝试应用存储桶策略来Deny访问我的网站存储桶,除非请求源自一系列Cloudflare IP 地址。我按照官方 AWS 文档执行此操作,但每次尝试访问我的网站时,都会收到Forbidden 403 AccessDenied错误。
这是我的存储桶政策:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "CloudflareGetObject",
"Effect": "Deny",
"NotPrincipal": {
"AWS": [
"arn:aws:iam::ACCOUNT_ID:user/Administrator",
"arn:aws:iam::ACCOUNT_ID:root"
]
},
"Action": "s3:GetObject",
"Resource": [
"arn:aws:s3:::www.mydomain.com/*",
"arn:aws:s3:::www.mydomain.com"
],
"Condition": {
"NotIpAddress": {
"aws:SourceIp": [
"2c0f:f248::/32",
"2a06:98c0::/29",
"2803:f800::/32",
"2606:4700::/32",
"2405:b500::/32",
"2405:8100::/32",
"2400:cb00::/32",
"198.41.128.0/17",
"197.234.240.0/22",
"190.93.240.0/20",
"188.114.96.0/20", …Run Code Online (Sandbox Code Playgroud) 我创建了一个char[]看起来像
[A, A, B, C]
Run Code Online (Sandbox Code Playgroud)
我想删除最后一个字符,然后将其他字符向上移动一个并char在第一个索引处存储一个新字符.所以它看起来像这样:
[D, A, A, B]
Run Code Online (Sandbox Code Playgroud)
我如何使用一两个这样做for loops.我有正确的想法,我只是没有正确实现它.
char[] array = new char[4]; //Array looks like [A, A, B, C]
for(int i = 0; i <= array.length - 2; i++) {
array[i] = array[i + 1];
}
array[0] = 'D'; //This should be the new char at index 0.
Run Code Online (Sandbox Code Playgroud)