Java 创建一个for循环方法,if语句返回正确的;return";没有阵列?

Java 创建一个for循环方法,if语句返回正确的;return";没有阵列?,java,loops,methods,return,Java,Loops,Methods,Return,我正在做一些java练习,我正在尝试创建一个计数为100的方法,并在每次for循环“loops”时打印数字例外情况是,当数字可被3整除时,它将打印“嘶嘶声”,当数字可被5整除时,它将打印“嗡嗡声”。 现在,我的方法中有三种返回类型,它们将返回一个字符串。但是,错误表示我不返回值。我知道我必须让它在for循环之外返回一个字符串,但是我在弄清楚如何返回我想要的值时遇到了一些困难我也知道我可以使用arrays甚至arrayList来解决这个问题,但我认为没有它是可能的,我想尝试一下任何帮助都将不胜感激

我正在做一些java练习,我正在尝试创建一个计数为100的方法,并在每次for循环“loops”时打印数字
例外情况是,当数字可被3整除时,它将打印“嘶嘶声”,当数字可被5整除时,它将打印“嗡嗡声”。 现在,我的方法中有三种返回类型,它们将返回一个字符串。但是,错误表示我不返回值。我知道我必须让它在for循环之外返回一个字符串,但是我在弄清楚如何返回我想要的值时遇到了一些困难
我也知道我可以使用arrays甚至arrayList来解决这个问题,但我认为没有它是可能的,我想尝试一下

任何帮助都将不胜感激

以下是代码:

package etcOvaningar;

public class ovning1 {

    public static String fizz ="Fizz!";
    public static String buzz ="Buzz!";

    public static String countDown(){
    for (int number = 0; number < 100; number++){
        if (number%3 == 0){
            return fizz;
        }
        else if (number%5 == 0){
            return buzz;
        }
        else
            return String.valueOf(number);
    }
           //I need to insert a return here I suppose, but I want the correct return from the if and else //statements
    }

    public static void main(String[] args){
    }
}
etcOvaningar包装;
公开课1{
公共静态字符串fizz=“fizz!”;
公共静态字符串buzz=“buzz!”;
公共静态字符串倒计时(){
用于(整数=0;数字<100;数字++){
如果(数字%3==0){
回音嘶嘶;
}
else if(数字%5==0){
返回嗡嗡声;
}
其他的
返回字符串.valueOf(number);
}
//我想我需要在这里插入一个return,但我需要if和else//语句的正确返回
}
公共静态void main(字符串[]args){
}
}
不要在循环中“返回”,而是打印。返回时,方法退出,循环不再循环。如果只是打印必要的文本,for循环将继续循环,直到达到其自然结束条件

public static void countDown(){
  for (int number = 0; number < 100; number++){
    if (number % (3*5) == 0) {
        System.out.println("fizzbuzz");
    } else 
    if (number % 3 == 0){
        System.out.println("fizz");
    } else
    if (number % 5 == 0){
        System.out.println("buzz");
    }
  }
}
公共静态无效倒计时(){
用于(整数=0;数字<100;数字++){
如果(数字%(3*5)==0){
System.out.println(“fizzbuzz”);
}否则
如果(数字%3==0){
System.out.println(“fizz”);
}否则
如果(数字%5==0){
System.out.println(“buzz”);
}
}
}

注意:根据Martin Dinov的说法,这个方法应该声明为返回
void
,没有任何内容。

您的代码不会编译,因为方法倒计时需要返回值低于for循环


但是,无论您在for循环下面返回什么值,都无关紧要,因为您的倒计时方法将始终返回“Fizz!”

这是另一种执行您想要执行的操作的方法。也许,你真正应该做的更多

private static String fizz ="Fizz!";
private static String buzz ="Buzz!";    

public static void main(String[] args){
    for (int number = 0; number < 100; number++){
        String word = checkNumber(number);
        System.out.println(word);
    }
}

private static String checkNumber(int number){
    String value = "";
    if (number%3 == 0){
        value += fizz;
    }
    if (number%5 == 0){
        value += buzz;
    }
    if (value.isEmpty()) {
        value = String.valueOf(number);
    }
    return value;
}
private静态字符串fizz=“fizz!”;
私有静态字符串buzz=“buzz!”;
公共静态void main(字符串[]args){
用于(整数=0;数字<100;数字++){
字符串字=支票号码(数字);
System.out.println(word);
}
}
私有静态字符串校验号(整数){
字符串值=”;
如果(数字%3==0){
值+=起泡;
}
如果(数字%5==0){
值+=嗡嗡声;
}
if(value.isEmpty()){
value=字符串。valueOf(数字);
}
返回值;
}
注意事项:

  • private
    的形式启动您的方法和字段,并随着您进一步开发您的程序和需求的变化而升级它们的可见性。这有助于保持代码干净,并将暴露量降至最低

  • 尽量不要在方法中使用print语句(除非它们是专门为打印消息而设计的)。他们应该接受输入,处理输入并返回输出。不多不少

  • 了解
    if/else if/else
    if/if/if
    之间的区别。数字15可以被3和5整除


并且在您的方法的签名中有:
公共静态无效倒计时()
啊哇,这是多么容易啊!你让我很难过,哈哈!谢谢你们两位的快速回复。我想如果我有空白,它就不会打印什么东西。我想我应该先修修再问。无论如何,再次谢谢你!如果这对你有效,那么请接受这一正确答案。我现在显然不能接受。必须再等2分钟:p。。。idk为什么^^。如果可能的话,我也想代表Martin Dinov,但找不到任何按钮:/Yes,我知道我需要一个低于for循环的返回值。我的问题是如何分别获得if返回值。但用装满鳗鱼的气垫船和马丁·迪诺夫的解决方案完美地解决了这个问题。谢谢你的回复!请记住,
return
终止方法,程序将返回调用它的位置。