类方法里面不能写循环语句吗?

sincor 2010-01-11 12:46:32
package packRLNumber;
import java.util.Arrays;
import java.util.Scanner;


public class RandomLotteryNumber
{

private static int n; //记录选择彩球号码
private static int k;
private static int []number = new int[n];
private static int []result = new int[k];

public void Input()
{
Scanner in = new Scanner(System.in);

System.out.print("请输入幸运球的个数:");
n = in.nextInt();

System.out.print("请输入抽取幸运球的个数:");
k = in.nextInt();
}
public void TotalNumber()
{
//生成有序的n的总球号码个数

for(int i=0;i<number.length;i++)
{
number[i]=i+1;
}
}

public void SelectNumber()
{
//记录抽取号码的数组,并且将抽出的号码用所有号码最后的数字依次填补。

for(int i=0;i<result.length;i++)
{
int r = (int)(Math.random()*n);


result[i] = number[r];
number[r] = number[n-1];
n--;

}
}

public void Output()
{

Arrays.sort(result);
System.out.print("抽中以下球的组合,你就会成为百万富翁:\n");

for(int r : result)
{
System.out.print(r+" ");
}
System.out.println();
}
public static void main(String[] args)
{
RandomLotteryNumber myLot = new RandomLotteryNumber();


myLot.Input();
myLot.TotalNumber();
myLot.SelectNumber();
myLot.Output();


}

}




上面是根据java核心技术里面的程序改的,目的是模块化。但是出现了一些小问题


我在生成总号码序列的totalNumber 和 选取号码序列 SelectNumber两个方法中 的循环为什么不能执行

在循环语句写一个输出语句system.out.print(“00000”)无法输出任何东西,为什么呢?

这是什么愿意造成的呢?
...全文
165 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
z_lping 2010-01-11
  • 打赏
  • 举报
回复
number 和 result 的长度都是 0。
psyuhen 2010-01-11
  • 打赏
  • 举报
回复
强烈建议,用调试模式来查看一个两个数组的大小,同值。

这样你就可以非常清楚地看到为什么了。这些都是很简单的东西。
psyuhen 2010-01-11
  • 打赏
  • 举报
回复

private static int []number = new int[n];
private static int []result = new int[k];


问题就出现在此啦。

sincor 2010-01-11
  • 打赏
  • 举报
回复
多谢各位好心人 一定给分 !!!
IT_lau 2010-01-11
  • 打赏
  • 举报
回复
//生成有序的n的总球号码个数

for(int i=0;i<number.length;i++)


这个数组没有初始化。。。
sincor 2010-01-11
  • 打赏
  • 举报
回复
多谢楼上几位 那么应该怎么改进呢?
sunny1103 2010-01-11
  • 打赏
  • 举报
回复
private static int[]number;
private static int[]result;

public void Input()
{
Scanner in = new Scanner(System.in);

System.out.print("请输入幸运球的个数:");
n = in.nextInt();
number = new int[n];

System.out.print("请输入抽取幸运球的个数:");
k = in.nextInt();
result = new int[k];
}
牛叔 2010-01-11
  • 打赏
  • 举报
回复


private static int[] number;
private static int[] result;

public static void Input() {
Scanner in = new Scanner(System.in);
System.out.print("请输入幸运球的个数:");
n = in.nextInt();
System.out.print("请输入抽取幸运球的个数:");
k = in.nextInt();
number = new int[n];
result= new int[k];
}
sincor 2010-01-11
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 psyuhen 的回复:]
Java codeprivatestaticint []number=newint[n];privatestaticint []result=newint[k];
问题就出现在此啦。


[/Quote]多谢!!
huntor 2010-01-11
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 z_lping 的回复:]
number 和 result 的长度都是 0。
[/Quote]
正解

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧