Java 意外的返回值错误-数组
我正在创建一个类,它基本上是Java和编程中使用数组的练习,我需要创建一个由数字1-6(包括)之间的40个随机整数组成的数组。但是,由于“意外返回值”错误,我的代码将无法编译。我怎样才能解决这个问题?代码如下:Java 意外的返回值错误-数组,java,arrays,return,Java,Arrays,Return,我正在创建一个类,它基本上是Java和编程中使用数组的练习,我需要创建一个由数字1-6(包括)之间的40个随机整数组成的数组。但是,由于“意外返回值”错误,我的代码将无法编译。我怎样才能解决这个问题?代码如下: public class LongestRun { public static void main(String[] args) { System.out.print("\f"); int[] values = new int[40];
public class LongestRun
{
public static void main(String[] args)
{
System.out.print("\f");
int[] values = new int[40];
int randNum = (int)(Math.random() * (7 - 1) + 1);
int count ;
for (int i = 0; i < values.length; i++)
{
values[i] = randNum;
return values[i];
}
}}
公共类LongestRun
{
公共静态void main(字符串[]args)
{
系统输出打印(“\f”);
int[]值=新的int[40];
int randNum=(int)(Math.random()*(7-1)+1);
整数计数;
对于(int i=0;i
编辑:我的答案是错误的,仅当您的返回类型不是无效时才适用,对不起
您需要在for循环之外有一个return语句
如果在条件循环/案例之外没有return语句,java将不会编译
因此,在您的情况下,您可能必须如下所示:
public class LongestRun
{
public static void main(String[] args)
{
System.out.print("\f");
int[] values = new int[40];
for (int i = 0; i < values.length; i++)
{
int randNum = (int)(Math.random() * (7 - 1) + 1);
values[i] = randNum;
}
return values[i];
}
}
公共类LongestRun
{
公共静态void main(字符串[]args)
{
系统输出打印(“\f”);
int[]值=新的int[40];
对于(int i=0;i
main
没有返回值(void
),因此无法从中返回值(return
语句)。您可能希望打印()
结果
另外,要获得40个随机数,您需要将random()
调用移动到循环内。您在for
循环内返回,main不需要返回任何内容。谢谢您的编辑。我也很困惑,因为我发誓可以在for循环中返回。你真的可以,但为什么呢?假设你想让一个for循环迭代10次,如果你在每次迭代后返回,那么在它第一次迭代时,你就得到了这个for循环,这并不理想。仍然无法编译,因为你试图从void
方法返回一个值。