LotteryDrawing

import java.util.*;

public class MyTest{
    public static void main(String[] args){
        Scanner in = new Scanner(System.in);

        System.out.print("How many numbers do you need to draw? ");
        int k = in.nextInt();

        System.out.print("What is the highest number you can draw? ");
        int n = in.nextInt();

        //fill an array with numbers 1 2 3... n
        int[] numbers = new int[n];
        for(int i = 0; i < numbers.length; i ++)
            numbers[i] = i + 1;

        //draw k numbers and put them into a second array
        int[] result = new int[k];
        for(int i = 0; i < result.length; i ++){
            // make a random index between 0 and n - 1
            int r = (int)(Math.random() * n);

            //pick the element at the random location
            result[i] = numbers[r];

            //move the last element into the random location            //ps: I guess the author must consider the Poker when he write down these codes ..........
            numbers[r] = numbers[n - 1];
            n --;
        }

        //print the sorted array
        Arrays.sort(result);
        System.out.print("Bet the following combination. It‘s make you rich!");
        for(int r: result)
            System.out.println(r);
    }
}
时间: 2024-08-02 02:49:40

LotteryDrawing的相关文章

JAVA一维数组

import java.applet.Applet; import java.awt.*; //用*表示包含awt这个源包下的所有方法成员,awt为图形界面设计包 public class Applet_Example extends Applet{ int a[]; //定义一个一维数组 public void init(){ a=new int[5]; //定义一个一维数组,该数组包含5个元素 a[0]=100; //分别对数组元素赋值 a[1]=101; a[2]=102; a[3]=10

Java——基础

1.数据类型 int,short,byte,long double,float char,String 2.变量 int var; var = 12; int var1 = 12;final int v1 = 0; //常量 C/C++变量的声明和定义是分开的,JAVA不区分. //c/c++ extern int a; //声明 int a = 0; //定义  3.运算符 JAVA的运算符.类型强制转化与C相似.  4.枚举 enum Size {SMALL,MIDIUM,LARGE}; 5

Core Java Volume I — 3.10. Arrays

3.10. ArraysAn array is a data structure that stores a collection of values of the same type. You access each individual value through an integer index. For example, if a is an array of integers, then a[i] is the ith integer in the array.Declare an a

SQL Server: create table sql script

---摇奖observeh数据库设计 Function getSpace lottery /* -- Author:geovindu 涂聚文 -- Date: 20180427 为了自写生成代码.根据Metedata 生成有注释和关系表的代码,表必须要主键和注释 CREATE DATABASE LotteryDrawing GO USE LotteryDrawing GO */ ---獎項項目表AwardProject IF EXISTS (select * from sysobjects wh

《面向对象程序设计(java)》第二周学习总结

<面向对象程序设计(java)>第二周学习总结 王颖奇 201771010129 第一部分:实验目的与要求 ①理论部分目的与要求 (1)3.1基本知识(2)3.2数据类型(3)3.3变量(4)3.4运算符(5)3.5类型转换 (6)3.6字符类型(7)3.7输入输出(8)3.8控制流程(9)3.9大数值(10)3.10数组 ②实验部分目的与要求 (1)进一步熟悉命令行和IDE两种方式下java程序开发的基本步骤: (2)掌握Eclipse集成开发环境下导入Java源程序的过程: (3)掌握Ja

201771010121 唐月晨 《面向对象程序设计(java)》第二周学习总结

201771010121 唐月晨<面向对象程序设计(java)>第二周学习总结 第一部分:理论知识学习部分 第三章 Java基本程序设计结构 本章主要学习:基本内容:数据类型:变量:运算符:类型转换,字符串,输入输出,控制流程,大数值以及数组. (一)基本内容: (1)标识符:由字母.下划线.美元符号.数字.汉字组成, 且第一个符号不能为数字.Eg:Hello,$842,项目,www_939. 标识符可用作: 类名.变量名.方法名.数组名.文件名等 (2)关键字:  关键字就是Java语言中已

201771010117马兴德 实验二 Java基本程序设计(1)

实验二 Java基本程序设计(1)  第一部分    理论知识的学习. 第三章Java基本程序设计结构 1  基本知识: (1)标识符:标识符由字母.下划线.美元符号和数字组成,且第一个符号不能为数字.比如Hello,$1234都是合法的字符:同时标识符也可用作类名.变量名.方法名.文件名等. (2)关键字:关键字就是Java语言中被赋予特定意义的一些单词.比如 class.public.try等,但是关键字不能用作变量名. (3)注释:Java有三种注释方法,如://./*和*.(定义一个注释

201771010136杨野 第二周学习总结

一 理论知识学习部分 1基本知识      2数据类型       3变量 4运算符       5类型转换 6字符串       7输入输出 8控制流程      9大数值         10数组 标识符 标识符由字母.下划线. 美元符号和数字组成,且第一个符号不能为数字. 下列都是合法标识符:    Hello .$1234 .程序名.www_123 标识符可用作: 类名. 变量名.方法名.数组名.文件名等. 关键字 关键字就是Java语言中已经被赋予特定意义的一些单词. 常见有: 常见有

201771010124 王海珍 《面向对象程序设计(java)》第二周学习总结

第一部分:理论知识学习部分 Java的基本程序设计结构 一个简单的Java应用程序 注释  数据类型  变量  运算符  字符串  输入输出  控制流  大数据  数组 3.1 基本知识 标识符 标识符由字母.下划线.美元符号和数字组成, 且第一个符号不能为数字. l  下列都是合法标识符: Hello.$1234.程序名.www_123 l 标识符可用作: 类名.变量名.方法名.数组名.文件名等. 关键字 关键字就是Java语言中已经被赋予特定意义 的一些单词. 常见有:class.publi