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".

麻烦大侠了

package demo;import java.util.Random;
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 找幸运数字的编程 拜托了 大侠的主要内容,如果未能解决你的问题,请参考以下文章

Java抽奖

Java 幸运抽奖项目

12.幸运抽奖

幸运数字 容斥

(网易笔试)组合幸运数字

(网易笔试)组合幸运数字