如何从方法返回值

时间:2018-07-12 17:54:38

标签: java

我在方法上陷入了这个问题。这个想法是使一个骰子计数器。我做了一个叫做rolldice();的函数,我想在主体中使用它。我用了一段时间进入主界面,想返回一个计数,但是我不知道问题出在哪里。有人知道吗?

  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 个答案:

答案 0 :(得分: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;
}

答案 1 :(得分:0)

这是行不通的,因为main方法是一个空值,所以您不能用它返回count,因为它是一个int

答案 2 :(得分:0)

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;
}