gpt4 book ai didi

java - 生成新字符串数组的输出未按预期输出

转载 作者:行者123 更新时间:2023-12-02 04:08:05 25 4
gpt4 key购买 nike

You have been two ints, n1 and n2 as input. Return a new String[] containing the numbers from n1 to n2 as strings, except for multiples of 3, use "Fizz" instead of the number, for multiples of 5 use "Buzz", and for multiples of both 3 and 5 use "FizzBuzz

示例输入#1

生成(2,8)

示例输出#1

{"2","菲兹","4","嗡嗡声","菲兹","7","8"}

示例输入#2

生成(10,16)

示例输出#2

{“嗡嗡声”,“11”,“菲兹”,“13”,“14”,“菲兹巴兹”,16}

我的方法

我正在检查从n1到n2的nos是否可以被3和5整除,可以被3整除,可以被5整除。如果它可以被3整除,我将该字符串存储在strnew中,可被5整除将该字符串存储在strnew else中将该字符串存储在 strnew 中,

public String[] generate(int start, int stop)
{
String strnew[]=new String[stop-start+1];

{
for(int i=start;i<=stop;i++)

{

if((i%3==0)&&(i%5==0))
strnew[i]="FizzBuzz";
else if(i%3==0)
strnew[i]="Fizz";
else if(i%5==0)
strnew[i]="Buzz";
else
strnew[i]=""+i;
}

return strnew;
}

}

我的问题:

我做错了什么?任何人都可以指导我。

输出

Parameters  Actual Output   Expected Output

'2' '8' null {'2','Fizz','4','Buzz','Fizz','7','8'}

最佳答案

您需要偏移存储数组中的位置(start 不是 0)。 strnew 之后不需要 block ,我更喜欢在 ifelse if block 上使用大括号。比如,

static String[] generate(int start, int stop) {
String strnew[] = new String[stop - start + 1];
for (int i = 0; i < strnew.length; i++) {
int value = start + i;
if (value % 15 == 0) {
strnew[i] = "FizzBuzz";
} else if (value % 3 == 0) {
strnew[i] = "Fizz";
} else if (value % 5 == 0) {
strnew[i] = "Buzz";
} else {
strnew[i] = String.valueOf(value);
}
}
return strnew;
}

关于java - 生成新字符串数组的输出未按预期输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34057524/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com