创建一个54个元素的整数数组,并将其元素值依次赋值为:1~54,用于表示一副牌的54张。再创建一个12个元素的整数数组,用于表示某玩家手中的牌,然后从前一数组中随机抽取12个元素赋值给该数组。打印后一数组的值。(可不考虑重复抽取问题,如有能力,可以解决此问题)

程序代码:

public class Test1 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub //创建一个54个元素的整数数组a[54]
int[] a = new int[54];
System.out.println("该54个元素a[54]的数组如下所示:\n(此处以每行显示6个,共9行方阵显示)");
for(int i=0;i<54;i++){
a[i]=i+1;
System.out.print(a[i]+" ");
if (a[i]%9==0) {
System.out.println("");
}
}
//创建一个从数组a[54]中随机抽取(按照数组下标抽取)的12个元素的整数数组b[12]
int[] b = new int[12];
int p,q;
for ( p = 0; p < b.length; p++) {
q=(int) (Math.random() * 53); //q取0~53任意值,即数组下标,其中random()取值:0~1
b[p]=a[q];
//若发现有重复元素,则删除掉该元素,重新取值直到不重复为止
for (int j = 0; j < p; j++) {
if (b[j]==b[p]) {
p--;
break;
}
}
}
//将从数组a[54]中随机抽取的12个元素数组b[12]打印出来。
System.out.println("\n该随机抽取的12个不重复 的元素的数组b[12]为:");
for (p = 0; p <12; p++) {
System.out.print(b[p]+" ");
}
}
}

结果截图如下:

Java 编程实践的更多相关文章

  1. [Java 并发] Java并发编程实践 思维导图 - 第一章 简单介绍

    阅读<Java并发编程实践>一书后整理的思维导图.

  2. [Java 并发] Java并发编程实践 思维导图 - 第二章 线程安全性

    依据<Java并发编程实践>一书整理的思维导图.

  3. 【原创】大叔经验分享(17)编程实践对比Java vs Scala

    scala 官方地址 https://www.scala-lang.org/ 本文尽可能包含了一些主要的java和scala在编程实践时的显著差异,展现scala的代码的简洁优雅:scala通吃< ...

  4. 读Java并发编程实践中,向已有线程安全类添加功能--客户端加锁实现示例

    在Java并发编程实践中4.4中提到向客户端加锁的方法.此为验证示例,写的不好,但可以看出结果来. package com.blackbread.test; import java.util.Arra ...

  5. Java 编程中关于异常处理的 10 个最佳实践

    异常处理是Java 开发中的一个重要部分.它是关乎每个应用的一个非功能性需求,是为了处理任何错误状况,比如资源不可访问,非法输入,空输入等等.Java提供了几个异常处理特性,以try,catch 和 ...

  6. 2018.6.19 Java核心API与高级编程实践复习总结

    Java 核心编程API与高级编程实践 第一章 异常 1.1 异常概述 在程序运行中,经常会出现一些意外情况,这些意外会导致程序出错或者崩溃而影响程序的正常执行,在java语言中,将这些程序意外称为异 ...

  7. 2018.3.5 Java语言基础与面向对象编程实践

    Java语言基础与面向对象编程实践 第一章 初识Java 1.Java特点 http://www.manew.com/blog-166576-20164.html Java语言面向对象的 Java语言 ...

  8. [Java 并发] Java并发编程实践 思维导图 - 第四章 对象的组合

    依据<Java并发编程实践>一书整理的思维导图. 第一部分: 第二部分:

  9. 零基础从实践出发学java编程【总结篇】

    1.背景 很多人学习java的第一步就是系统的学习java基础语法,有的java基础语法还没学完就崩溃了,确实java基础语法太多太细,而且都是理论,学着让人很懵: 好不容易学完基础语法,又要学框架. ...

随机推荐

  1. Manacher算法 , 实例 详解 . NYOJ 最长回文

    51 Nod http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1089 Manacher 算法 定义数组 p[i]表示以i为 ...

  2. 【LeetCode OJ】Longest Consecutive Sequence

    Problem Link: http://oj.leetcode.com/problems/longest-consecutive-sequence/ This problem is a classi ...

  3. IOS开发-几种截屏方法

    IOS开发-几种截屏方法 1.        UIGraphicsBeginImageContextWithOptions(pageView.page.bounds.size, YES, zoomSc ...

  4. ios oc ui 路径和颜色设置--崩溃解决方案

    - (id)init{ self = [super init]; if (self) { _lineColor = CGColorCreateCopy([UIColor whiteColor].CGC ...

  5. Java 集合深入理解(12):古老的 Vector

    点击查看 Java 集合框架深入理解 系列, - ( ゜- ゜)つロ 乾杯~ 今天刮台风,躲屋里看看 Vector ! 都说 Vector 是线程安全的 ArrayList,今天来根据源码看看是不是这 ...

  6. explicit用法

    explicit用来防止由构造函数定义的隐式转换. 要明白它的作用,首先要了解隐式转换:可以用单个实参来调用的构造函数定义了从形参类型到该类类型的一个隐式转换. 例如: class things { ...

  7. c++ 走向高级之日积月累

    1.enum:http://en.cppreference.com/w/cpp/language/enum 2.weak_pr:http://en.cppreference.com/w/cpp/mem ...

  8. 定制x86 Linux系统

    /************************************************************************************* * 定制x86 Linux ...

  9. I.MX6 32G SD卡测试

    /*********************************************************************** * I.MX6 32G SD卡测试 * 说明: * 这 ...

  10. Flume NG 简介及配置实战

    Flume 作为 cloudera 开发的实时日志收集系统,受到了业界的认可与广泛应用.Flume 初始的发行版本目前被统称为 Flume OG(original generation),属于 clo ...