package Hongbao;

 import java.text.DecimalFormat;
import java.util.Scanner; public class Hongbao {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in); System.out.println("请输入红包金额:");
double money=sc.nextDouble(); System.out.println("请输入红包个数:");
int count=sc.nextInt(); //有序数组1到99
int[] num=new int[100];
for (int i = 1; i < 100; i++) {
num[i-1]=i;
} //有序数组打乱
for (int i = 0; i < num.length; i++) {
int ran=(int)(Math.random()*100);
int temp=num[i];
num[i]=num[ran];
num[ran]=temp;
} //将分配的红包个数赋给新数组
int[] acount=new int[count];
for (int i = 0; i < count; i++) {
acount[i]=num[i];
}
//冒泡排序
for (int i = 0; i < acount.length; i++) {
for (int j = 0; j < acount.length-1-i; j++) {
if(acount[j]>acount[j+1]){
int temp=acount[j];
acount[j]=acount[j+1];
acount[j+1]=temp;
}
}
} //红包分钱算法
int[] mon=new int[count];
for (int i = 0; i < count; i++) {
if(i==0){
mon[0]=acount[0];
}else if(i>0&&i<count-1){
mon[i]=acount[i]-acount[i-1];
}else{
mon[i]=100-acount[i-1];
}
} //带钱
DecimalFormat df=new DecimalFormat("####0.00");//保留两位小数
for (int i = 0; i < mon.length; i++) {
System.out.println("第"+(i+1)+"名,领取"+df.format(mon[i]*0.01*money)+"元红包");
} }
}

java数组实现红包的方法的更多相关文章

  1. Java数组的十大方法

    Java数组的十大方法 以下是Java Array的前10种方法.他们是来自stackoverflow的投票最多的问题. 0.声明一个数组 String[] aArray = new String[5 ...

  2. Java数组操作十大方法 (转)

    定义一个Java数组 String[] aArray = new String[5]; String[] bArray = {"a","b","c&q ...

  3. (PASS)JAVA数组去重 三种方法 (不用集合)

    第一种方法(只学到数组的看): 定义一个新的数组长度和旧数组的长度一样,存储除去重复数据的旧数组的数据和0, package demo01; import java.sql.Array; import ...

  4. Java数组去掉反复的方法集

    经经常使用到,有时候不仅仅是简单的基本类型,那种能够用set集合去重,好多时间用到的是我们自己定义的类型,以下举个样例(我这儿就那int举例了): 方法一. 这样的类似与选择排序算法,首先我们取i值, ...

  5. Java数组的一些使用方法及堆栈存储

    数组 用于存储一组同一数据类型数据的容器 数组会对放入其中的数据自动编号,编号是从0开始的---下标 定义格式 数据类型[] 数组名 = new 数据类型[数组的大小];---可以先声明再初始化 in ...

  6. Java 数组复制之clone方法

    一.源码 public class Test1 { public static void main(String[] args) { // Student[] arrs = new Student[] ...

  7. java数组复制的简单方法(一)

    总结:主要是用a数组的长度等于b数组,然后a数组赋值给b数组,我不能想到这个办法,我还是不理解数组中length属性的含义 这里数组并没有正真复制过来,而是一个引用 package com.a; // ...

  8. Java 数组的 12 个方法

    1.  声明一个数组 String[] aArray = new String[5]; String[] bArray = {"a","b","c&q ...

  9. Java数组的12个常用方法

    以下是12个关于Java数组最常用的方法,它们是stackoverflow得票最高的问题. 声明一个数组 String[] aArray = new String[5]; String[] bArra ...

随机推荐

  1. Android拍照、摄像方向旋转的问题 代码具体解释

    近期做了个拍照.摄像的应用.遇到了拍照.摄像的图像相对于现实.翻转了90度.原因:相机这个硬件的角度是横屏的角度,所以会出现都是横屏的. 1.照相.摄影预览图像的正确角度显 示: public sta ...

  2. 在EasyUI的DataGrid中嵌入Combobox

    在做项目时,须要在EasyUI的DataGrid中嵌入Combobox,花了好几天功夫,在大家的帮助下,最终看到了它的庐山真面: 核心代码例如以下: <html> <head> ...

  3. 【CSS3动画实战】Mailman Icon

    周末闲来无事,就想着做点东西练练手.又苦于自己 PS 水平太差,设计不出什么好看的东西. 干脆就在 Dribbble 上逛一逛,看看有什么看起来比较屌的,实际上却很简单的东西. 一共做了 3 个,均已 ...

  4. Android之——经常使用手机号码功能

    转载请注明出处:http://blog.csdn.net/l1028386804/article/details/47374415 有些Android手机中会带有一些经常使用号码的功能,比方订餐电话. ...

  5. Delphi的goto语法

    今天第一次主要到Delphi也有goto语法,特别是其奇怪的label声明.估计主要是用来跳出多重循环,而且还真有人使用这种方式.记个笔记: procedure TForm1.btn3Click(Se ...

  6. Serializable 接口与 Java 序列化与反序列化

    0. 序列化的意义 从内存到本地即为本地化或者在网络中进行传输,或叫序列化,持久化. 某 Java 类实现 Serializable 接口的目的是为了可持久化(简单理解为本地化),比如网络传输或本地存 ...

  7. CodeForces-427D:Match & Catch (后缀自动机)

    Police headquarter is monitoring signal on different frequency levels. They have got two suspiciousl ...

  8. poj 3321(带时间戳 + 区间统计)

    题目描述: 给定一颗树,求某个节点的子树的val值之和 可以用树的前序遍历给每一个节点编号,从而可以确定一个节点的子树的范围,这样就可以进行直接在区间上进行统计了. vector < int & ...

  9. Java Socket实战之一:单线程通信

    转自:http://developer.51cto.com/art/201202/317543.htm 现在做Java直接使用Socket的情况是越来越少,因为有很多的选择可选,比如说可以用sprin ...

  10. Ordeby then by

    先按orderby排序,再按thenby排序 return PartialView("_ClickRangeOnCategory", articles.OrderByDescend ...