用java设计程序。问题描述:公司总人数为100,计划能随机抽出每一个获奖者,一等奖10%,二等奖

用java设计程序。问题描述:公司总人数为100,计划能随机抽出每一个获奖者,一等奖10%,二等奖,第1张

调试好了 直接用 public static void main(String[] args) { Random rand = new Random();//定义随机数产生器 List list_One = new ArrayList();//定义一等奖数字集合 List list = null; //用list时 /list = new ArrayList();//定义100个随机数 集合 for(int i = 0; i < 100;){//产生100个3位数 的随机不重复数字 if(check(randnextInt(899) + 100,list)){ i++; } }/ //用set时 Set set = new HashSet(); while(setsize() < 100){ setadd(randnextInt(899) + 100); } list = new ArrayList(set); for(int k = 0; k < 5;){//产生5个随机一等奖 if(check(randnextInt(100),list,list_One)) k++; } } for(int a = 0; a < list_Onesize();a++){ Systemoutprintln(list_Oneget(a)); } } / 验证该数字是否在集合中 @param i @param list @return / public static boolean check(int i,List list){ if(listsize() == 0){ listadd(i); }else{ for(int j = 0; j < listsize(); j++){ if(i == listget(j)){ return false; } } listadd(i); } return true; } / 抽取随机数作为中奖的下标(重载) @param i @param list @param list_One @return / public static boolean check(int i,List list,List list_One){ if(listsize() == 0){ list_Oneadd(listget(i)); }else{ for(int j = 0; j < listsize(); j++){ if(i == listget(j)){ return false; } } list_Oneadd(listget(i)); } return true; }

一定要用线程,首先,我们先来分析一下如何才能做到让屏幕上的数字不停的变化,这就需要使用线程了,当我们开始抽奖的按钮的时候,线程启动,此时屏幕上的数字开始滚动。当我们点击结束按钮的时候,线程终止,此时就可以显示出抽奖结果了。

开发一套电商系统需要多少钱?需要多长时间?

随着互联网技术的发展,第三方大型电商网站的竞争越来越大,所以很多企业想要开发一个属于自己的电商商城系统,普遍比较受关注的是电商商城系统开发价格。那么,创研股份凭借12年的电商网站开发经验,对电商商城网站建设价格进行简单归纳介绍。

大家都明白一个道理“便宜没好货”,推及到建设电商网站同样适用,开发一个电商网站会因为系统功能、开发语言、网站模式、行业和电商网站开发商等因素影响电商网站开发报价。每一个影响电商网站开发费用的介绍,如下:

一、网站功能需求决定建设价格

一个普通的电商网站会拥有商品管理、订单管理、促销管理、会员管理、物流管理、网站装修、数据统计和营销管理等功能。然而,不少商家会跟数商云顾问反馈说,普通电商网站可能已经不能满足发展已久的电商业务,需要拥有更多个性化、行业特性的电商网站功能。那么,定制电商网站功能,费用自然也就会增加,功能需求越多,功能实现难度越高,随之电商网站开发费用也就越高。

二、网站开发语言决定建设价格

常用的电商网站开发语言有PHP、JAVA、net、JSP等,但最新的最受欢迎的口碑最好的是JAVA和PHP。然而,做电商网站采用不同语言开发,JAVA架构和PHP架构的电商网站费用也会不同,JAVA架构的电商网站价格会更高。因为,JAVA电商网站采用的是web开发技术,使用的面向对象的系统设计方法也不同,而PHP电商网站开发则是采用面向过程的开发方法。

相对来说,JAVA电商网站的安全性、灵活性、可扩展性都比PHP的好,同时使用JAVA开发需要做大量的电商系统分析和设计工作,这样更利于企业未来的电商业务发展,一个好的电商网站应该能够适应企业业务发展而进行二次开发,扩展网站功能。所以,业内有这么个说法:做好电商网站的建设与其说是关注价格,倒不如说是关注自身刚需与现实条件的最理想契合,影响报价的因素很多,我们要选择适合自己的才是正确的,大家一定要选择正规的电商网站搭建系统,以及专业度高的电商网站服务商。

三、电商网站开发商决定建设价格

电商网站开发商是最直接的价格因素,可以说“做一个电商网站多少钱”不就是由电商网站开发商说了算吗这句话看似对,有不太对。因为,每一家电商网站开发商的技术水平、专业程度、服务质量等不同,开发的电商网站价格也自然不一样。有的电商网站开发商可能前期报价非常的低,针对不懂的企业商家可以在上面介绍到的内容中偷工减料,甚至还会因网站模式不对、行业业务分析不透彻等不专业因素影响电商网站项目开发失败。有的电商网站开发商不管在电商系统框架、电商网站功能、行业开发经验、服务质量等各方面都相对专业全面,自然电商网站报价也会比较贵。但其实往更深一层次想专业全面地开发一个电商网站,在使用上、开发时间上、未来二次开发等优势上考虑,其实会安全性高、费用更节省。这个具体看你要开发的功能吧。全管oa系统,支持二次开发,开发周期短,成本低,厂家直接服务,品质有保障。电商系统分为B2B、B2C、O2O等各种模式,独立部署还是SaaS,有哪些行业特性,功能需求不尽相同,很多因素影响电商系统的功能、报价和开发周期,不能一概而论。通常来说,FEC筷云信息独立部署、定制开发一套电商系统是要经过前期调研、需求规划、研发设计、测试与上线等几个步骤,一般是分2~3期去收费和开发,基础需求和紧急需求优先实现并快速上线,亮点功能和期望功能在后续进行优化和系统迭代,从而既保障开发进度,又节约开发成本。

帮你做了一个,不知是否满意呢?

import javaappletApplet;

import javaawtButton;

import javaawtColor;

import javaawtGraphics;

import javaawtTextField;

import javaawteventActionEvent;

import javautilRandom;

import javautilVector;

public class Lottery extends Applet {

private static final long serialVersionUID = 1L;

int w,h;

Button ok,out,setup;

String[] msg;

TextField[] gaiLv;

TextField[] jiangPin;

int mx,ml;

int maxNum;

Random ran;

Vector<Integer> fist;

Vector<Integer> sec;

Vector<Integer> third;

Vector<Integer> lucky;

boolean lot=false;

boolean iserr=false;

boolean issetup=false;

String mesg="输入错误";

String priseMsg="继续努力!";

public void init(){

w=400;

h=220;

mx=20;

ml=40;

ran=new Random();

thissetSize(w, h);

thissetLayout(null);

ok=new Button("抽奖");

out=new Button("退出");

setup=new Button("确认设置");

msg=new String[4];

msg[0]="一等奖";

msg[1]="二等奖";

msg[2]="三等奖";

msg[3]="幸运奖";

gaiLv=new TextField[4];

jiangPin=new TextField[4];

for(int i=0;i<4;i++){

gaiLv[i]=new TextField("00"+(i+1));

thisadd(gaiLv[i]);

gaiLv[i]setBounds(mx+ml, 75+i26, 60, 18);

jiangPin[i]=new TextField();

thisadd(jiangPin[i]);

jiangPin[i]setBounds(mx+ml3, 75+i26, 80, 18);

}

thisadd(ok);

oksetBounds(260, 180, 60, 28);

okaddActionListener(new LotButtonAction(this));

thisadd(out);

outsetBounds(330, 180, 60, 28);

outaddActionListener(new LotButtonAction(this));

thisadd(setup);

setupsetBounds(110, 180, 80, 24);

setupaddActionListener(new LotButtonAction(this));

}

public void paint(Graphics g){

gsetColor(Colorwhite);

gfillRect(0, 0, thisgetWidth(), thisgetHeight());

gsetColor(new Color(230,255,230));

gfillRect(0, 0, w, 30);

gsetColor(ColorBLUE);

gdrawString("JAVA抽奖系统", 130, 20);

gsetColor(ColorORANGE);

gdrawRect(10, 40, 230, 170);

gsetColor(ColorBLACK);

gdrawString("设置", mx, 60);

gdrawString("概率", mx+ml, 60);

gdrawString("奖品", mx+ml3, 60);

for(int i=0;i<msglength;i++){

gsetColor(new Color(255-(i30),45,89));

gdrawString(msg[i], 20, 90+i26);

}

if(lot==true){

gsetColor(new Color(rannextInt(255),rannextInt(255),rannextInt(255)));

if(priseMsglength()<=7){

gdrawString(priseMsg, 260, 100);

}else{

gdrawString(priseMsgsubstring(0, 5), 260, 100);

gdrawString(priseMsgsubstring(5), 260, 120);

}

}

if(iserr==true){

gdrawString(mesg, 260, 100);

}

}

public void getLucky(){

float firu=1;

float secu=1;

float thiu=1;

float fouu=1;

float minu=1;

if(gaiLv[0]getText()trim()length()>1){

firu=FloatparseFloat(gaiLv[0]getText());

if(firu<=0||firu>=1){

iserr=true;

return;

}

if(firu<minu){

minu=firu;

}

}

if(gaiLv[1]getText()trim()length()>1){

secu=FloatparseFloat(gaiLv[1]getText());

if(secu<=0||secu>=1){

iserr=true;

return;

}

if(secu<minu){

minu=secu;

}

}

if(gaiLv[2]getText()trim()length()>1){

thiu=FloatparseFloat(gaiLv[2]getText());

if(thiu<=0||thiu>=1){

iserr=true;

return;

}

if(thiu<minu){

minu=thiu;

}

}

if(gaiLv[3]getText()trim()length()>1){

fouu=FloatparseFloat(gaiLv[3]getText());

if(fouu<=0||fouu>=1){

iserr=true;

return;

}

if(fouu<minu){

minu=fouu;

}

}

if(minu>=1||minu<=0){

iserr=true;

return;

}

float aNum=1/minu;

maxNum=(int)aNum;

int count=(int)(firu/minu);

if(firu!=1){

fist=getLotteryVec(maxNum,count);

}else{

fistremoveAllElements();

}

count=(int)(secu/minu);

if(secu!=1){

sec=getLotteryVec(maxNum,count);

}else{

secremoveAllElements();

}

count=(int)(thiu/minu);

if(thiu!=1){

third=getLotteryVec(maxNum,count);

}else{

thirdremoveAllElements();

}

count=(int)(fouu/minu);

if(fouu!=1){

lucky=getLotteryVec(maxNum,count);

}else{

luckyremoveAllElements();

}

issetup=true;

iserr=false;

}

protected Vector<Integer> getLotteryVec(int maxNum,int num){

Vector<Integer> result=new Vector<Integer>();

for(int i=0;i<num;i++){

resultadd(rannextInt(maxNum));

}

return result;

}

protected int getaNum(){

return rannextInt(maxNum);

}

public int isLucky(int pNum){

for(int i=0;i<fistsize();i++){

if(fistget(i)==pNum){

return 1;

}

}

for(int i=0;i<secsize();i++){

if(secget(i)==pNum){

return 2;

}

}

for(int i=0;i<thirdsize();i++){

if(thirdget(i)==pNum){

return 3;

}

}

for(int i=0;i<luckysize();i++){

if(luckyget(i)==pNum){

return 4;

}

}

return -1;

}

public void ButtonActionPerformed(ActionEvent e){

String acName=egetActionCommand();

if(acNameequals("抽奖")){

if(issetup==false){

priseMsg="请先设置参数!";

lot=true;

repaint();

lot=false;

return;

}

lot=true;

priseMsg=getResult(getaNum());

repaint();

// lot=false;

}else if(acNameequals("退出")){

thissetVisible(false);

thisstop();

thisdestroy();

Systemexit(0);

}else if(acNameequals("确认设置")){

lot=false;

getLucky();

repaint();

}

}

public String getResult(int num){

int resu=isLucky(num);

String result="";

switch(resu){

case -1:

result="继续努力!";

break;

case 1:

result="恭喜你!一等奖!\n获得"+jiangPin[0]getText();

break;

case 2:

result="恭喜你!二等奖!\n获得"+jiangPin[1]getText();

break;

case 3:

result="恭喜你!三等奖!\n获得"+jiangPin[2]getText();

break;

case 4:

result="恭喜你!幸运奖!\n获得"+jiangPin[3]getText();

break;

default:

result="继续努力!";

}

return result+num;

}

}

class LotButtonAction implements javaawteventActionListener{

Lottery su;

public LotButtonAction(Lottery bun){

thissu=bun;

}

@Override

public void actionPerformed(ActionEvent e) {

suButtonActionPerformed(e);

}

}

你是要JAVA可视化的 还是控制台的啊?

控制台的话 你可以用循环来取中奖号,将其存入list或set里(最好是set,因为set本来就不会重复)。如果用list存就另外写一个循环方法,来挨个判定该元素是不是已经在list中存在了,如果存在,就让选号的再加选一次,如果不重复,就放到list里去。。。。OK

我写给你,如果是本专业,以后要多多学习。JDK 16

import javaawtGridLayout;

import javaawteventMouseEvent;

import javaawteventMouseListener;

import javautilIterator;

import javautilRandom;

import javautilSet;

import javautilTreeSet;

import javaxswingJButton;

import javaxswingJFrame;

import javaxswingJTextField;

public class LuckyDrawn {

private JFrame f = new JFrame("Lucky Drawn");

private JButton btn = new JButton("Drawn");

private JTextField result = new JTextField("Result");

private static final int MIN = 1;

private static final int MAX = 30;

private static final int RESULT_COUNT = 7;

public LuckyDrawn(){

fadd(btn);

fadd(result);

resultsetEditable(false);

btnaddMouseListener(new MouseListener(){

public void mouseClicked(MouseEvent e) {

Random rand = new Random();

Set<Integer> set = new TreeSet<Integer>();

while(setsize() < RESULT_COUNT){

setadd(new Integer(randnextInt(MAX)+ 1));

}

StringBuffer sb = new StringBuffer("Lucky numbers are: ");

for (Iterator iter = setiterator(); iterhasNext();) {

sbappend(((Integer) iternext())intValue())append(", ");

}

resultsetText(sbsubstring(0, sblength() - 2)toString());

fpack();

}

public void mouseEntered(MouseEvent e) {}

public void mouseExited(MouseEvent e) {}

public void mousePressed(MouseEvent e) {}

public void mouseReleased(MouseEvent e) {}

});

fsetLayout(new GridLayout(2, 1));

fsetVisible(true);

fsetLocation(500, 200);

fpack();

fvalidate();

fsetDefaultCloseOperation(JFrameEXIT_ON_CLOSE);

}

public static void main(String[] args) {

new LuckyDrawn();

}

}

以上就是关于用java设计程序。问题描述:公司总人数为100,计划能随机抽出每一个获奖者,一等奖10%,二等奖全部的内容,包括:用java设计程序。问题描述:公司总人数为100,计划能随机抽出每一个获奖者,一等奖10%,二等奖、java抽奖程序一定要用线程吗、谁能帮我写一个java抽奖小程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9738818.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存