gpt4 book ai didi

java - 我是使用对象和类的新手。如何从用户创建的类中打印?

转载 作者:行者123 更新时间:2023-12-02 06:31:25 25 4
gpt4 key购买 nike

我创建了一个类,该类由掷骰子对象 6 次的程序使用。我的问题出在我的 printStats() 方法中,因为我不确定如何将统计信息打印回主类。具体来说,我收到两个错误,并且都显示“期望返回语句”。这是我的类,名为 Dice。

/*

import java.io.*;
import java.util.*;

class Dice{

Random rnd=new Random();
int count1 = 0, count2 = 0, count3 = 0, count4 = 0, count5 = 0, count6 = 0;

String roll(){
int a = rnd.nextInt(5);
if(a == 0){
count1++;
return "1";
}
if(a == 1){
count2++;
return "2";
}
if(a ==2){
count3++;
return "3";
}
if(a == 3){
count4++;
return "4";
}
if(a == 4){
count5++;
return "5";
}
if(a == 5){
count6++;
return "6";
}
}
int printStats(){
System.out.println("1:" + count1);
System.out.println("2:" + count2);
System.out.println("3:" + count3);
System.out.println("4:" + count4);
System.out.println("5:" + count5);
System.out.println("6:" + count6);
}

void reset(){
count1 = 0;
count1 = 0;
count3 = 0;
count4 = 0;
`enter code here`count5 = 0;
count6 = 0;
}

}

最佳答案

部分问题是您的 roll() 方法没有为每个可能的执行路径提供返回

现在,你和我都知道你的逻辑保证 if 语句之一将为 true,并且你将返回其中之一,但是因为你的所有return 语句位于 if 语句内,它不会编译。

共有三个简单的修复方法。

  1. if 语句列表更改为大型 if-else 结构,然后只需将 if(a==5) 更改为最后其他
  2. 使用 switch 语句,并使用用例 0-4,默认为 5。
  3. 只需在当前方法末尾、任何 if 语句之外添加 return ""; 即可。
<小时/>

对于 printStats() 方法,您只需将返回类型更改为 void

关于java - 我是使用对象和类的新手。如何从用户创建的类中打印?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20025396/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com