求一个分组抽签程序,谢谢了,java

求一个分组抽签程序,谢谢了,java,第1张

import java.awt.BorderLayout

import java.awt.Dimension

import java.awt.event.ActionEvent

import java.awt.event.ActionListener

import java.awt.event.KeyEvent

import java.awt.event.KeyListener

import java.io.File

import java.io.FileOutputStream

import java.io.IOException

import java.io.OutputStreamWriter

import java.util.Random

import java.util.Vector

import javax.swing.JButton

import javax.swing.JFrame

import javax.swing.JScrollPane

import javax.swing.JTextArea

import javax.swing.JTextField

public class Ballot extends JFrame implements ActionListener,KeyListener{

//窗卜梁口组建,成员扰雀变量

JTextArea _txt

JButton _ballot

JTextField _print

JScrollPane _panel

int n_o_p

int index

int _index

String[] names

static Vector<Integer>num=new Vector<Integer>()

static Random r=new Random()

//

boolean num_print=true

public static void main(String[] args) {

new Ballot()

}

public Ballot()

{

n_o_p=0

index=0

_index=0

_txt=new JTextArea()

_txt.setText("请在上面输入人数,按Enter结束!")

_txt.setEditable(false)

_panel=new JScrollPane(_txt)

_ballot=new JButton("抽签")

_print=new JTextField(10)

this.setLayout(new BorderLayout())

this.add(_panel,BorderLayout.CENTER)

this.add(_print,BorderLayout.NORTH)

this.add(_ballot,BorderLayout.SOUTH)

_print.addKeyListener(this)

_ballot.addActionListener(this)

this.setVisible(true)

this.setSize(new Dimension(400,200))

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)

}

@Override

public void actionPerformed(ActionEvent e) {

// TODO Auto-generated method stub

if(e.getSource()==_ballot)

{

if(index==n_o_p&&_index!=index)

{

boolean _b=true

while(_b)

{

int _i=r.nextInt(index)

for(int i=0i<num.size()i++)

{

if(_i==num.get(i))

{

num.remove(i)

_txt.append("\r\n序号"+_i+" 姓名:"缓弊早+names[_index])

_index++

_b=false

}

}

}

}

if(_index==index)

{

File f=new File(System.getProperty("user.dir")+"/Save.txt")

if(f.exists())

{

try {

OutputStreamWriter ow=new OutputStreamWriter(new FileOutputStream(f))

ow.write(_txt.getText())

ow.close()

} catch (IOException e1) {

// TODO Auto-generated catch block

e1.printStackTrace()

}

}else

{

try {

f.createNewFile()

OutputStreamWriter ow=new OutputStreamWriter(new FileOutputStream(f))

ow.write(_txt.getText())

ow.close()

} catch (IOException e1) {

// TODO Auto-generated catch block

e1.printStackTrace()

}finally

{

_txt.setText("信息以保存至"+f.getPath()+"下!")

}

}

}

}

}

@Override

public void keyPressed(KeyEvent e) {

// TODO Auto-generated method stub

if(e.getKeyCode()==KeyEvent.VK_ENTER)

{

if(num_print){

if(_print.getText().matches("[0-9]+"))

{

num_print=false

n_o_p=Integer.parseInt(_print.getText())

names=new String[n_o_p]

_print.setText("")

_txt.setText("还需要输入"+n_o_p+"个人名!按回车完成单个人名输入!")

}else

{

_txt.setText("输入的人数非法!请重新输入!")

}

}else

{

if(_print.getText()!=null&&!_print.getText().equals("")&&index!=n_o_p)

{

names[index]=_print.getText()

index++

_txt.setText("还需要输入"+(n_o_p-index)+"个人名!按回车完成单个人名输入!")

}

}

if(index==n_o_p)

{

for(int i=0i<indexi++)

{

num.add(i)

}

_txt.setText("请点击按钮进行抽签!")

}

}

}

@Override

public void keyReleased(KeyEvent e) {

// TODO Auto-generated method stub

}

@Override

public void keyTyped(KeyEvent e) {

// TODO Auto-generated method stub

}

}

import java.awt.GridLayout

import java.awt.event.ActionEvent

import java.awt.event.ActionListener

import java.util.ArrayList

import java.util.regex.Pattern

import javax.swing.JButton

import javax.swing.JFrame

import javax.swing.JPanel

import javax.swing.JTextArea

import javax.swing.JTextField

class People

{

private String name

private int id

public People(String name)

{

this.name = name

}

public void setID(int id)

{

this.id = id

}

public String getName()

{

return name

}

public int getId()

{

return id

}

}

public class test3 extends JPanel

{

private JTextArea jtText

private JButton jbOK

private People[] peoples

public test3()

{

this.setLayout(new GridLayout(1, 2))

jtText = new JTextArea()

this.add(jtText)

jbOK 裂裤= new JButton("抽肆伍简签")

this.add(jbOK)

jbOK.addActionListener(new ActionListener()

{

@Override

public void actionPerformed(ActionEvent e)

{

// TODO Auto-generated method stub

String[] names = jtText.getText().split("\n")

int count = 橘纳Integer.parseInt(names[0])

peoples = new People[count]

boolean[] hasVisited = new boolean[count + 1]

for(int i = 0  i < count  i++)

{

peoples[i] = new People(names[i+1])

int r

while(true)

{

r = (int)(Math.random() * count) + 1

if(!hasVisited[r])

{

peoples[i].setID(r)

hasVisited[r] = true

break

}

}

}

String text = ""

for(int i = 0  i < count  i++)

{

text += peoples[i].getName()

text += "    "

text += peoples[i].getId()

text += "\n"

}

jtText.setText(text)

}

})

}

public static void main(String[] args)

{

test3 panel = new test3()

JFrame frame = new JFrame()

frame.add(panel)

frame.setSize(300,300)

frame.setVisible(true)

}

}


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

原文地址: http://outofmemory.cn/yw/12225817.html

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

发表评论

登录后才能评论

评论列表(0条)

保存