A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 yikwing 于 2016-5-16 23:43 编辑
  1. /**
  2. * Created by yikwing on 2016/5/15.
  3. */

  4. import java.util.*;

  5. class lottery {
  6.     public static void main(String[] args) {

  7.         arrTools at = new arrTools();          //引入外界方法arrTools

  8.         int[] sysRedBall = new int[6];         //定义系统红球数组
  9.         int sysBlueBall = 0;                   //定义系统蓝球
  10.         int[] userRedBall = new int[6];        //定义系统蓝球数组
  11.         int userBlueBall = 0;                  //定义系统蓝球
  12.         int redCount = 0;                     //正确的红球个数
  13.         int blueCount = 0;                    //正确的蓝球个数
  14.         Random r = new Random();
  15.         int[] redBall = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33};

  16.         int index = 0;                            //定义数组下标

  17.         //生成系统红球
  18.         for (int i = 0; i < sysRedBall.length; i++) {
  19.             while (true) {
  20.                 index = r.nextInt(33);
  21.                 if (redBall[index] != -1) {
  22.                     sysRedBall[i] = redBall[index];
  23.                     redBall[index] = -1;
  24.                     break;
  25.                 }
  26.             }
  27.         }

  28.         at.kuaisu(sysRedBall);                    //使用外界方法(快速排序)数组

  29.         //生成系统蓝球
  30.         sysBlueBall = r.nextInt(16) + 1;

  31.         //接收用户红球
  32.         System.out.println("红球");
  33.         Scanner in = new Scanner(System.in);
  34.         for (int i = 0; i < userRedBall.length; i++) {
  35.             userRedBall[i] = in.nextInt();
  36.         }
  37.         at.kuaisu(userRedBall);

  38.         //接收用户蓝球
  39.         System.out.println("蓝球");
  40.         userBlueBall = in.nextInt();

  41.         //验证是否中奖
  42.         for (int i = 0; i < sysRedBall.length; i++) {
  43.             for (int j = 0; j < userRedBall.length; j++) {
  44.                 if (sysRedBall[i] == userRedBall[j]) {
  45.                     redCount++;
  46.                     break;
  47.                 }
  48.             }
  49.         }

  50.         if (sysBlueBall == userBlueBall) {
  51.             blueCount++;
  52.         }

  53.         //判断是否中奖

  54.         System.out.print("系统红球为: ");
  55.         at.PrintArray(sysRedBall);                          //调用外界方法(遍历数组)
  56.         System.out.println("系统蓝球为: " + sysBlueBall);
  57.         System.out.println("-----------------------------------------------");
  58.         System.out.print("您购买红球为: ");
  59.         at.PrintArray(userRedBall);                         //调用外界方法(遍历数组)
  60.         System.out.println("您购买蓝球为: " + userBlueBall);
  61.         System.out.println("-----------------------------------------------");
  62.         System.out.println("你的红球中奖数目为: " + redCount);
  63.         System.out.println("你的蓝球中奖数目为: " + blueCount);

  64.         if (redCount == 6 && blueCount == 1) {
  65.             System.out.println("一等奖,恭喜中一百万");
  66.         } else if (redCount == 6) {
  67.             System.out.println("二等奖,恭喜中三十万");
  68.         } else if (redCount == 5 && blueCount == 1) {
  69.             System.out.println("三等奖,恭喜中九十万");
  70.         } else if (redCount == 5 || redCount == 4 && blueCount == 1) {
  71.             System.out.println("四等奖,恭喜中二十万");
  72.         } else if (redCount == 4 || redCount == 3 && blueCount == 1) {
  73.             System.out.println("五等奖,恭喜中一万");
  74.         } else if (blueCount == 1) {
  75.             System.out.println("六等奖,恭喜中十块");
  76.         } else {
  77.             System.out.println("很遗憾您没有获奖,感谢您的参与.");
  78.         }

  79.     }
  80. }
复制代码

13 个回复

倒序浏览
  1. /**
  2. * Created by yikwing on 2016/5/14.
  3. * 这是一个数组工具类,里面封装了查找数组最大值,遍历数组,数组反转的方法.
  4. *
  5. * @author yikwing
  6. * @veision 0.1
  7. */

  8. public class arrTools {


  9.     //数组遍历

  10.     /**
  11.      * 这是数组遍历的方法
  12.      *
  13.      * @param arr 接收一个int类型数组
  14.      */
  15.     public static void PrintArray(int[] arr) {
  16.         for (int i = 0; i < arr.length; i++) {
  17.             System.out.print(arr[i] + ", ");
  18.         }
  19.         System.out.println("");
  20.     }

  21.     //数组位置交换

  22.     /**
  23.      * 这是数组交换的方法
  24.      *
  25.      * @param arr 接收一个int类型数组
  26.      */
  27.     public static void reverseArray(int[] arr) {
  28.         for (int i = 0; i < arr.length / 2; i++) {
  29.             Swap(arr, i, arr.length - 1 - i);
  30.         }
  31.     }

  32.     public static void Swap(int[] arr, int i, int j) {
  33.         int temp = arr[i];
  34.         arr[i] = arr[j];
  35.         arr[j] = temp;
  36.     }

  37.     //获取数组最大值

  38.     /**
  39.      * 这是数组获取最大值的方法
  40.      *
  41.      * @param arr 接收一个int类型数组
  42.      */
  43.     public static void getMax(int[] arr) {
  44.         int max = arr[0];
  45.         for (int i = 1; i < arr.length; i++) {
  46.             if (max < arr[i]) {
  47.                 max = arr[i];
  48.             }
  49.         }
  50.         System.out.println(max);
  51.     }


  52.     //快速排序
  53.     public static void kuaisu(int arr[]) {
  54.         for (int i = 0; i < arr.length - 1; i++) {
  55.             int minIndex = i;
  56.             for (int j = i + 1; j < arr.length; j++) {
  57.                 if (arr[minIndex] > arr[j]) {
  58.                     minIndex = j;
  59.                 }
  60.             }

  61.             if (minIndex != i) {
  62.                 Swap(arr, i, minIndex);
  63.             }
  64.         }
  65.     }


  66. }
复制代码
回复 使用道具 举报
这个算是一个综合性的案例,基本用到了前五天的所有知识,建议基础班的同学们可以练习这个加强知识的记忆.
回复 使用道具 举报
不错,赞一个
回复 使用道具 举报
赞一个,
回复 使用道具 举报
面向過程幾封裝,構造函數重載

  1. class Text_ShouJi {                                                        //定義類名為Text_ShouJi的主函數
  2.     public static void main(String[] args) {
  3.         ShouJi s = new ShouJi();                                                                                        //創建新的物件,並把位址賦給s
  4.         s.setBrand("三星");                                                                 //賦值
  5.         s.setPrice(998);                                                           //賦值
  6.         s.show();
  7.                 ShouJi s1 = new ShouJi("iphone6s",5588);       
  8.                 s1.show();
  9.     }
  10. }
  11. class ShouJi {
  12.     private String brand;        //定義兩個私有成員變數屬性
  13.     private int price;

  14.     public ShouJi() {                                                                //創建無參構造函數
  15.         System.out.println("無參構造");
  16.     }
  17.        
  18.         public ShouJi(String brand,int price) {                        //創建有參構造函數
  19.         this.brand =brand;
  20.                 this.price = price        ;       
  21.     }
  22.        
  23.        

  24.     public void setBrand (String brand) {                //設置品牌
  25.         this.brand = brand;
  26.     }

  27.     public String getBrand () {                //獲取品牌
  28.         return brand;
  29.     }

  30.     public void setPrice (int price) {        //設置價格
  31.         if (price > 0) {
  32.             this.price = price;
  33.         } else {
  34.             System.out.println("這樣價格的手機你給我一個唄");
  35.         }
  36.     }

  37.     public int getPrice () {                //獲取價格
  38.         return price;
  39.     }

  40.     public void call() {                //創建行為
  41.         System.out.println("可以打電話");
  42.     }

  43.     public void massage() {
  44.         System.out.println("可以發短信");
  45.     }

  46.     public void picther() {
  47.         System.out.println("可以拍照片");
  48.     }
  49.        
  50.         public void show(){
  51.                 System.out.println("手機型號為:"+brand+"..價格為: "+price);
  52.         }

  53. }
复制代码
回复 使用道具 举报
已收藏,很实用,谢楼主
回复 使用道具 举报
哇,大神级人物啊,棒
回复 使用道具 举报
不错,赞一个,格式满分
回复 使用道具 举报
看着好复杂啊。又开始怀疑自己的学习能力了
回复 使用道具 举报
赞一个
回复 使用道具 举报
不错,赞一个
回复 使用道具 举报
留着慢慢看
回复 使用道具 举报
都是基础知识,但是要单独做出来还是挺有难度的啊
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马