有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何从方法返回值

我一直在用一种方法解决这个问题。这个想法是做一个骰子计数器。我创建了一个名为rolldice();的函数,我想在main中使用它。我使用了一段时间的主要,我想做一个计数返回,但我不知道哪里是问题。请问有人知道吗

  static int rolldice(){
    double randomnum=Math.random();
    randomnum=randomnum*6;
    randomnum=randomnum+1;
    int randomint =(int) randomnum;
    return randomint;


}
public static int  main(String[] args) {
    int roll1= rolldice();
    int roll2=rolldice();
    int count=1;
    while(!(roll1==roll2)) {
        roll1=rolldice();
        roll2=rolldice();
        count=count+1;

    }
    return count;

}

共 (3) 个答案

  1. # 1 楼答案

    对代码进行一个小的修改和清理,正如大家所说的,main不会有返回类型,也不会返回任何内容,在这种情况下,您需要用返回类型声明自己的方法,并且应该从中返回

    public static void main(String[] args) {
    int roll1= (int) (Math.random()*6+1);
    int roll2= (int) (Math.random()*6+1);
    int total=rollDice(roll1,roll2);
    System.out.println(total);
     }
    
     public static int rollDice(int roll1, int roll2) {
        int count=0;
        while(!(roll1==roll2)) {
            roll1=(int) (Math.random()*6+1);
            roll2=(int) (Math.random()*6+1);
            count++;
    
        }
        return count;
    }
    
  2. # 2 楼答案

    java中的main()方法无法返回值。相反,您可以创建另一个可以返回int值的方法,如下所示。现在,您可以根据任务在任何地方调用该方法,它将返回计数值

    static int rolldice(){
        double randomnum=Math.random();
        randomnum=randomnum*6;
        randomnum=randomnum+1;
        int randomint =(int) randomnum;
        return randomint;        
    }
    public static void main(String[] args) {    
    
    }
    
    public static int roll(){
    
        int roll1= rolldice();
        int roll2=rolldice();
        int count=1;
        while(!(roll1==roll2)) {
            roll1=rolldice();
            roll2=rolldice();
            count=count+1;
    
        }
        return count;
    }
    
  3. # 3 楼答案

    它不起作用,因为main方法是一个void,所以不能返回count,因为它是一个int