我是一名初学者,正在尝试学习Java,所以我开始做着名的FizzBuzz项目。此项目要求用户创建FizzBuzz类的实例并传入值。现在,代码位于另一个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;等
答案 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);
}
}
}