【问题标题】:How to connect variables between private methods and public methods如何在私有方法和公共方法之间连接变量
【发布时间】:2016-11-10 01:41:48
【问题描述】:

我是一名尝试学习 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);
            }
        }

    }

现在我的代码显然是错误的。首先,如何链接公共方法(int num)中的变量,使其与私有方法中的变量相同?我的第二个问题是 If 语句中的参数是否正常。基本上我想要的是,例如,如果 fizz 方法是 true print "fizz" 等。

【问题讨论】:

    标签: java variables methods fizzbuzz


    【解决方案1】:

    如果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);
            }
        }
    
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-05-03
      • 2014-10-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-06
      • 2011-05-25
      相关资源
      最近更新 更多