Java 如何以字符串数组的形式返回for循环输出?
我希望它将输出返回到一个字符串数组中,以便稍后在我的main方法中使用,而不是打印输出id的for循环。这可能吗Java 如何以字符串数组的形式返回for循环输出?,java,Java,我希望它将输出返回到一个字符串数组中,以便稍后在我的main方法中使用,而不是打印输出id的for循环。这可能吗 public class FizzBuzz { public static void main(String[] args) { FizzBuzz runit = new FizzBuzz(); runit.run(20); } void run(int highestnumber) { System.
public class FizzBuzz {
public static void main(String[] args) {
FizzBuzz runit = new FizzBuzz();
runit.run(20);
}
void run(int highestnumber) {
System.out.println("FizzBuzz will run until: " + highestnumber);
System.out.println();
for (int a = 0; a < highestnumber; a++) {
if (a % 3 == 0 && a % 5 == 0) {
System.out.println("FizzBuzz");
}
else if (a % 3 == 0) {
System.out.println("Fizz");
} else if (a % 5 == 0) {
System.out.println("Buzz");
} else {
System.out.println(a);
}
}
}
}
是的,您可以从runit方法返回一个字符串数组,作为publicstring[]runit。在runit方法中,在每个for循环中创建一个空的arrayList,而不只是在arrayList中打印add值
当for循环终止时,将此ArrayList转换为字符串数组并返回它。当然,您可以这样做: 导入java.util.ArrayList; 公共课汽笛{ 公共静态无效字符串[]args{ FizzBuzz runit=新的FizzBuzz; String[]stuff=runit.run20; 弗斯特林:东西{ System.out.printlns; } } 公共字符串[]runint highestnumber{ ArrayList输出=新的ArrayList; System.out.printlnFizzBuzz将一直运行到:+最高位; System.out.println; 对于int a=0;a
public class FizzBuzz {
public static void main(String[] args) {
FizzBuzz runit = new FizzBuzz();
String[] result = runit.run(20);
for (String s : result) {
System.out.println(s);
}
}
private String[] run(int highestnumber) {
String[] ret = new String[highestnumber];
System.out.println("FizzBuzz will run until: " + highestnumber);
System.out.println();
for (int a = 0; a < highestnumber; a++) {
if (a % 3 == 0 && a % 5 == 0) {
ret[a] = "FizzBuzz";
} else if (a % 3 == 0) {
ret[a] = "Fizz";
} else if (a % 5 == 0) {
ret[a] = "Buzz";
} else {
ret[a] = Integer.toString(a);
}
}
return ret;
}
}
这确实是可能的,到目前为止你做了哪些尝试?你听说过吗?@AshvinSharma这真的不适合做架线工。他明确要求返回一个包含所有不同字符串的数组。StringBuilder不会给你这个,它最终只会给你一个简单的字符串。我想字符串文本列表会消耗permgen,这对JVM不好@GhostCat@GhostCat若数组是唯一的解决方案,那个么它是好的,但作为OP要求的解决方案,那个么有很多方法可以做到这一点,他可以自由选择任何一种。经过一些指导之后,他可以改变主意,在代码优化的指令中使用StringBulider或StringBuffer。为什么不返回ArrayList或正确初始化数组呢?好的,他需要一个数组,那么为什么要初始化需要导入的ArrayList呢?这太过分了。解决此问题不需要ArrayList。如果一个简单的字符串[]就足够了,甚至返回值也肯定不够,这就有点过分了true@psingh如果将来需要一个额外的参数,您仍然需要更改实现。对于一个已经有固定大小并且明确需要数组的问题,毫无理由地创建一个列表是毫无意义的。Deja vue。凉的他将从做作业的其他人那里学到很多东西。特别是考虑到你在那里做的各种事情,或者是错误的做法。例如,数组如何始终与highestnumber的大小相同,以便您可以轻松直接使用数组,但您创建的列表只是为了将其转换回数组。为什么要以这种方式从int转换为String,而不是使用Integer.toStringa,它是从您使用的重载方法调用的?