gpt4 book ai didi

java - 如何打印非静态方法

转载 作者:行者123 更新时间:2023-12-01 17:49:45 27 4
gpt4 key购买 nike

我发现很难将我的 fizzBu​​zz 方法打印出来而不需要使其静态化。

在下面的代码中,当我第一次尝试打印我的 fizzBu​​zz 方法时,System.out.println(fizzBuzz(6,10)); ,我收到一个错误,它不允许我这样做。我必须将其设为静态,然后添加 Arrays.toString给我的System.out.println();以便我在控制台中查看我的答案。

我希望能够在我的 main 中打印非静态方法,但似乎无法这样做。

import java.util.Arrays;

public class test {

public static String[] fizzBuzz(int start, int end) {
String[] numbers = new String[end - start];

for (int i = start; i < end; i++) {
if (i % 15 == 0) {
numbers[i - start] = "FizzBuzz";
} else if (i % 3 == 0) {
numbers[i - start] = "Fizz";
} else if (i % 5 == 0) {
numbers[i - start] = "Buzz";
} else {
numbers[i - start] = String.valueOf(i);
}
}
return numbers;
}

public static void main(String[] args) {
// int start = 6;
// int end = 10;
fizzBuzz(6, 10);
System.out.println(Arrays.toString(fizzBuzz(6, 10)));
}
}

最佳答案

您需要创建类的对象才能使用非静态方法。

import java.util.Arrays;

public class Test {

public String[] fizzBuzz(int start, int end) {
String[] numbers = new String[end - start];

for (int i = start; i < end; i++) {
if (i % 15 == 0) {
numbers[i - start] = "FizzBuzz";
} else if (i % 3 == 0) {
numbers[i - start] = "Fizz";
} else if (i % 5 == 0) {
numbers[i - start] = "Buzz";
} else {
numbers[i - start] = String.valueOf(i);
}
}
return numbers;
}

public static void main(String[] args) {
// int start = 6;
// int end = 10;
Test testObj = new Test();
System.out.println(Arrays.toString(testObj.fizzBuzz(6, 10)));
}
}

您可以阅读有关静态对象的更多信息 here .

此外,您的类名称不符合 java 命名约定。请阅读有关命名约定的更多信息 here.

关于java - 如何打印非静态方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60817727/

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