java scanner 找幸运数字的编程 拜托了 大侠
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java scanner 找幸运数字的编程 拜托了 大侠相关的知识,希望对你有一定的参考价值。
How many integers do you want to enter?
9
OK, press ENTER after each integer:
-81
No square root, no random number!
This is a lucky number!
81
root=9.0 rand=4
This is a lucky number!
308
root=17.549928774784245 rand=14
This is a lucky number!
0
root=0.0 No random number!
1000
root=31.622776601683793 rand=4
-100
No square root, no random number!
0
root=0.0 No random number!
225
root=15.0 rand=1
1808
root=42.5205832509386 rand=41
This is a lucky number!
上面的是一个输出..题目要求是先问多少数字要求输入,然后每次按ENTER出来一个数字,
1.如果出来的整数是负值,就输出"No square root, no random number!""
2.如果出来的整数是0,就输出"root=0.0 No random number!"
3.如果出来的整数是正数,就输出他的"root=整数的根 , rand=随机数" 当随机数小于整数的根的时候就输出“This is a lucky number!”, 但是也当出来的整数包括至少一个"8".
麻烦大侠了
import java.util.Scanner;
public class Test_001 /**
* @param args
*/
public static void main(String[] args)
// TODO 自动生成方法存根
int number = 0;
int rand = 0;
double root = 0;
Random rdm = new Random();
Scanner sc = new Scanner(System.in);
System.out.println("How many integers do you want to enter?");
int num = sc.nextInt();
System.out.println("OK, press ENTER after each integer:");
for(int i = 0; i < num; i++)
number = sc.nextInt();
if(number < 0)
System.out.println("No square root, no random number!");
//break;
else if(number == 0)
System.out.println("root=0.0 No random number!");
else
root = Math.sqrt(number);
rand = rdm.nextInt();
System.out.println("root = "+root+" rand = "+rand);
if(rand < root && (number+"").indexOf("0") != -1)
System.out.println("This is a lucky number!");
参考技术A import java.util.Random;
import java.util.Scanner;
public class Lucy
private int count,num;
private double sqr,rando;
Random rad; Scanner sc;
public Lucy(int count)
// TODO 自动生成构造函数存根
this.rad=new Random();
this.count=count;
this.sc=new Scanner(System.in);
this.sqr=0;
this.rando=0;
public void operator()
for(int i=0;i<this.count;i++)
System.out.println("请输入第"+i+"个数");
try
num=sc.nextInt();
catch (Exception e)
// TODO 自动生成 catch 块
System.out.println("不是一个int型");
sc=new Scanner(System.in);
continue;
if(num<0)
System.out.println("No square root, no random number");
else if(num==0)
System.out.println("root=0.0 No random number!");
else
this.sqr=Math.sqrt(this.num);
this.rando=rad.nextInt();
if(rando>sqr&&(num+"").indexOf('8')!=-1)
System.out.println("这是一个幸运数");
System.out.println("根为:"+sqr+"随机数为:"+rando);
/**
* @param args
*/
public static void main(String[] args)
// TODO 自动生成方法存根
Scanner sca=new Scanner(System.in);
int count=0;
System.out.println("请输入您要输入的数字的个数:");
count=sca.nextInt();
Lucy lu=new Lucy(count);
lu.operator();
Java抽奖
【Java】抽奖
抽一个:
输入抽奖人数,生成随机数字进行抽奖。
比如:楼主抽幸运儿送游戏,选择前100楼抽取一个幸运儿。
import java.util.Random;
import java.util.Scanner;
public class Gift
public static void main(String[] args)
Scanner sc = new Scanner(System.in);
System.out.println("请您输入抽奖人数:");
int n = sc.nextInt();
Random r1 = new Random();
System.out.println("幸运儿是:"+(r1.nextInt(n)+1));
抽多个:
输入抽奖人数以及中奖人数,生成随机数字进行抽奖。
比如:楼主抽幸运儿送游戏,选择前100楼抽取多个个幸运儿。
注:下面代码还未解决 抽到相同序号 的问题
import java.util.Random;
import java.util.Scanner;
public class Gift
public static void main(String[] args)
Scanner sc = new Scanner(System.in);
System.out.print("请您输入抽奖人数:");
int n = sc.nextInt();
System.out.print("请您输入中奖人数:");
int num;
// 判断中奖人数是否符合规则
while (true)
num = sc.nextInt();
if (n < num)
System.out.println("中奖人数 > 抽奖人数,不符合规则。");
System.out.print("\\n请重新输入中奖人数:");
else
break;
System.out.println("");
// 创建一个整型数组,来存放抽取的多个幸运儿,来限制不能出现相同序号的幸运儿。
int[] lucky = new int[num];
Random r1 = new Random();
for (int i = 0; i < num; i++)
while (true)
int luckyMan = r1.nextInt(n) + 1;
lucky[i] = luckyMan;
int j = 1;
if (i == 0)
System.out.println("幸运儿是:" + luckyMan);
break;
else
// 要不等于前面所有的 即 3!=2 && 3!=1 && 3!=0
if (lucky[i] != lucky[i-1])
System.out.println("幸运儿是:"+luckyMan);
break;
以上是关于java scanner 找幸运数字的编程 拜托了 大侠的主要内容,如果未能解决你的问题,请参考以下文章