Java随机生成若干个三位数,并求出其中的水仙花数
2009-12-25 21:17
274 查看
有个朋友问怎么做,顺手弄了下。。。
题设:定义一个类,该类中有一个整型数组,类中定义一个方法随机生成一个元素值为三位正整数的数组并求出其中的水仙花数,数组的元素的个数由参数指定。定义一个参数为整数类型的构造函数初始化数组元素个数。
编写应用程序,使用类中定义的各种方法并将结果输出
Shuxianhuashu.java源代码:
public class Shuixianhuashu {
static int[] ss;
// 构造方法初始化长度
public Shuixianhuashu(int length) {
ss = new int[length];
initArray();
}
public static void main(String[] args) {
Shuixianhuashu sh = new Shuixianhuashu(2000);// 生成指定数量的三位随机数
// 如果数字是水仙花数则输出结果
int flag = 0; // 标志,记录是否生成了水仙花数
for (int i = 0; i < ss.length; i++) {
if (sh.isShui(ss[i])) {
flag++;
System.out.println("找到水仙花数,它是数组中的第 " + (i + 1) + " 个元素,它的值是:"
+ ss[i]);
}
}
if (flag == 0) {
System.out.println("******很遗憾,本次没有随机到水仙花数。");
} else {
System.out.println("******不错,本次随机生成了 " + flag + " 个水仙花数。");
}
}
// 初始化数组,生成指定数量的三位随机数
public void initArray() {
for (int i = 0; i < ss.length; i++) {
double d = 0;
do {
d = Math.random();
} while (d < 0.1);
ss[i] = (int) (d * 1000);
}
System.out.println("******初始化完毕,一共生成 " + ss.length + " 个三位随机数。");
}
// 判断是否水仙花数
public boolean isShui(int x) {
if (x < 100 || x >= 1000)
return false;
String s = x + "";
int a = Integer.parseInt(s.substring(0, 1));
int b = Integer.parseInt(s.substring(1, 2));
int c = Integer.parseInt(s.substring(2, 3));
if (Math.pow(a, 3) + Math.pow(b, 3) + Math.pow(c, 3) == x)
return true;
else
return false;
}
}
题设:定义一个类,该类中有一个整型数组,类中定义一个方法随机生成一个元素值为三位正整数的数组并求出其中的水仙花数,数组的元素的个数由参数指定。定义一个参数为整数类型的构造函数初始化数组元素个数。
编写应用程序,使用类中定义的各种方法并将结果输出
Shuxianhuashu.java源代码:
public class Shuixianhuashu {
static int[] ss;
// 构造方法初始化长度
public Shuixianhuashu(int length) {
ss = new int[length];
initArray();
}
public static void main(String[] args) {
Shuixianhuashu sh = new Shuixianhuashu(2000);// 生成指定数量的三位随机数
// 如果数字是水仙花数则输出结果
int flag = 0; // 标志,记录是否生成了水仙花数
for (int i = 0; i < ss.length; i++) {
if (sh.isShui(ss[i])) {
flag++;
System.out.println("找到水仙花数,它是数组中的第 " + (i + 1) + " 个元素,它的值是:"
+ ss[i]);
}
}
if (flag == 0) {
System.out.println("******很遗憾,本次没有随机到水仙花数。");
} else {
System.out.println("******不错,本次随机生成了 " + flag + " 个水仙花数。");
}
}
// 初始化数组,生成指定数量的三位随机数
public void initArray() {
for (int i = 0; i < ss.length; i++) {
double d = 0;
do {
d = Math.random();
} while (d < 0.1);
ss[i] = (int) (d * 1000);
}
System.out.println("******初始化完毕,一共生成 " + ss.length + " 个三位随机数。");
}
// 判断是否水仙花数
public boolean isShui(int x) {
if (x < 100 || x >= 1000)
return false;
String s = x + "";
int a = Integer.parseInt(s.substring(0, 1));
int b = Integer.parseInt(s.substring(1, 2));
int c = Integer.parseInt(s.substring(2, 3));
if (Math.pow(a, 3) + Math.pow(b, 3) + Math.pow(c, 3) == x)
return true;
else
return false;
}
}
相关文章推荐
- Java 中随机生成规定位数的随机数
- java生成随机不重复的四位数
- java随机生成指定的位数
- java 生成4位数的随机数据 70万条
- java如何随机生成6位数的验证码
- 使用java Random动态传递位数 生成指定位数的随机字符串-数字字母混合
- java随机生成6/8/12位数,要求每次产生的随机数与已生成的随机数不重复
- java随机生成6位数
- 中软面试(一):java写一个随机生成四位数的程序 每位数字不重复
- java 随机生成四位数验证码
- java生成随机六位数的验证码&随机生成十位数ValidCode码,用于邮件的验证&检查是不是符合为合法的中国的手机号码
- 2014-12-01-1717-Java-随机生成8位数(100以内)的数组
- java随机生成8位数授权码的实例
- Java生成随机数字和字母组合10位数
- java随机生成一个6位数
- 随机生成一个三位数判断是否为水仙花数
- 快速生成大量指定位数的不重复随机整数
- JAVA生成指定位数的随机数
- Java随机生成信用卡卡号的代码
- java:随机生成100个不重复的随机数