如何在私有方法和公共方法之间连接变量

时间:2016-11-10 01:41:48

标签: java variables methods fizzbuzz

我是一名初学者,正在尝试学习Java,所以我开始做着名的FizzBu​​zz项目。此项目要求用户创建FizzBu​​zz类的实例并传入值。现在,代码位于另一个Java类中,读取用户传入的数字,并列出1和用户传入的数字之间的所有数字。我能够完成此操作直到我进行下一个练习要求我创建3个私有布尔方法(见下文):

public class FizzBuzzRunner
{
    private boolean fizz(int num)
    {
        return num % 3 == 0;
    }
    private boolean buzz(int num)
    {
        return num % 5 ==0;
    }
    private boolean fizzbuzz(int num)
    {
        return num % 3 ==0 && num % 5 == 0;
    }

    public void fizzBuzz(int num)
    {
        for (int i = 1; i < num + 1; i++)
        {
            if (fizzbuzz(num))
            {
                System.out.println("FizzBuzz");
            } else if (fizz(num))
            {
                System.out.println("Fizz");
            } else if (buzz(num))
            {
                System.out.println("Buzz");
            } else {
                System.out.println(i);
            }
        }

    }

现在我的代码显然是错误的。首先,如何在public方法(int num)中链接变量,以便它在私有方法中是相同的变量?我的第二个问题是If语句中的参数是否正常。基本上我想要的是,例如,如果fizz方法是真正的印刷&#34; fizz&#34;等

1 个答案:

答案 0 :(得分:3)

如果i不是num

,则传递值
public void fizzBuzz(int num)
{
    for (int i = 1; i < num + 1; i++)
    {
        if (fizzbuzz(i))
        {
            System.out.println("FizzBuzz");
        } 
        else if (fizz(i))
        {
            System.out.println("Fizz");
        } 
        else if (buzz(i))
        {
            System.out.println("Buzz");
        } 
        else {
            System.out.println(i);
        }
    }

}