无法从静态上下文引用非静态方法,可以';不要调用下面的方法 import java.util.ArrayList; 公共课汽笛{ 公共静态void main(字符串[]args){ 系统输出println(fizzBuzz(15)); } 公共阵列列表fizzBuzz(内部n){ ArrayList结果=新建ArrayList(); 对于(int i=1;i

无法从静态上下文引用非静态方法,可以';不要调用下面的方法 import java.util.ArrayList; 公共课汽笛{ 公共静态void main(字符串[]args){ 系统输出println(fizzBuzz(15)); } 公共阵列列表fizzBuzz(内部n){ ArrayList结果=新建ArrayList(); 对于(int i=1;i,java,arrays,methods,Java,Arrays,Methods,,您可以先实例化一个对象,然后调用该对象上的方法 import java.util.ArrayList; public class FizzBuzz{ public static void main(String[] args){ System.out.println(fizzBuzz(15)); } public ArrayList<String> fizzBuzz(int n) { ArrayList<Strin

,您可以先实例化一个对象,然后调用该对象上的方法

import java.util.ArrayList;

public class FizzBuzz{

    public static void main(String[] args){
        System.out.println(fizzBuzz(15));
    }

    public ArrayList<String> fizzBuzz(int n) {
        ArrayList<String> results = new ArrayList<String>();
        for (int i = 1; i <= n; i++) {
            if (i % 15 == 0) {
                results.add("fizz buzz");
            } else if (i % 5 == 0) {
                results.add("buzz");
            } else if (i % 3 == 0) {
                results.add("fizz");
            } else {
                results.add(String.valueOf(i));
            }
        }
        return results;
    }
}

解决此问题的一种方法是将方法更改为静态:

[1, 2, fizz, 4, buzz, fizz, 7, 8, fizz, buzz, 11, fizz, 13, 14, fizz buzz]
这样,您就不必使该方法成为静态的


无论哪种方式,您都会得到相同的输出,但第二种选择更专业、更整洁,而且总体上是一种更好的做法。

可能的重复
[1, 2, fizz, 4, buzz, fizz, 7, 8, fizz, buzz, 11, fizz, 13, 14, fizz buzz]
public static ArrayList<String> fizzBuzz(int n) {
    //...
public static void main(String[] args){
    FizzBuzz fb = new FizzBuzz();
    ArrayList<String> result = fb.fizzBuzz(15);
    System.out.println(result);
}