欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

java点名系统怎么写,java点名器代码

时间:2023-02-18 04:03:13

JAVA编程(随机点名程序),高手来篇1

按照你第2点描述,你仅仅是想实现随即顺序点名而已,并不是随即点名。

我给你个解决方案:在每次点中一名学生后,将java0803_students.txt文件中做个标示,表示该学生已经在本轮点名中被点过。直到所有学生都点到后情况这个表示,准备下一轮点名做标记。

下面我给你一段伪代码,包含了random的使用方法:publicclassCallStudents(){privatestaticRandomrandom=newRandom();publicvoidcall(){//重新设置学生被点名的标示(根据点名情况)reset();longvalue=-1;while(true){value=random.nextInt(maxValue+1);//maxValue是你当前有学生的最大数目//在这里读取当前随即号对应的学生记录Stringstudent=getStudentByID(value);//判断该学生是否被点过名if(!checkCalled(student)){//设置已经点过名setCalled(student);//在控制台上显示被点名的学生信息system.out.println(student);//结束循环break;}}}privateStringgetStudentByID(longid){//这个是读取文件,需要你自己实现的//返回java0803_students.txt文件中对应的学生记录}privatebooleancheckCalled(Stringstudent){//至于是什么样的规则,有你自己定义//我这里给你举个例子//如果这条学生记录中包含一个字符为called的话,表明这名学生被点过名if(student.indexOf("called")!=-1){retrntrue;}returnfalse;}privatevoidsetCalled(Stringstudent){//至于是什么样的规则,有你自己定义//我这里给你举个例子//设置学生已被点名student+="_called";//将这个值重新写回到你的java0803_students.txt文件中,覆盖愿信息!}privatevoidreset(){//判断是否所有学生都被点过名,如果点过名,清空所有学生被点名的标记//这个实现有你自己定义,//这里我给你举个例子//读取文件,判断每一个学生信息是否都标有called//如果都有,执行删除所有called的操作,并保存文件。//如果只有部分没有,则表明本轮点名没有结束,不做任何操作。

}publicstaticvoidmain(String[]args){Stringcon=//接受控制台信息if(con.equals("y")){CallStudentscall=newCallStudents();call.call();}if(con.equals("n")){//结束程序}}}。

java的数组做一个点名系统,求代码篇2

importjava.awt.GridLayout;

importjava.awt.event.ActionEvent;

importjava.awt.event.ActionListener;

importjava.util.ArrayList;

importjava.util.Arrays;

importjava.util.List;

importjava.util.Scanner;

importjavax.swing.JButton;

importjavax.swing.JFrame;

importjavax.swing.JTextField;

publicclasstest{

staticString[]arr;

staticbooleanflag=true;

staticLista;

staticJTextFieldjtf;

publicstaticvoidmain(String[]args){

//TODOAuto-generatedmethodstub

JFrameframe=newJFrame();

frame.setLayout(newGridLayout(1,2));

JButtonbutton=newJButton("抽奖");

jtf=newJTextField();

frame.add(jtf);

frame.add(button);

a=newArrayList();

arr=newString[]{"张三","李四","王五"};

button.addActionListener(newActionListener(){

publicvoidactionPerformed(ActionEvente){

inti=0;

fond:

while(true){

Stringstr=arr[(int)(Math.random()*arr.length)];

for(Stringb:a){

if(b.equals(str)){

if(i>=arr.length){

jtf.setText("没有人了");

breakfond;

}

continuefond;

}

i++;

}

a.add(str);

jtf.setText(str);

break;

}

}

});

frame.setSize(500,500);

frame.setLocation(500,500);

frame.setVisible(true);

}

}

java随机点名系统篇3

给楼主改了一下

importjava.awt.*;

importjava.awt.event.ActionEvent;

importjava.awt.event.ActionListener;

importjava.awt.event.WindowAdapter;

publicclassRandomClassguiextendsWindowAdapterimplementsActionListener{

Framef=newFrame("点名系统");

ButtonstartB;

publicvoiddisplay(){

f.setSize(300,200);

f.setLocation(200,140);

f.setBackground(Color.lightGray);

startB=newButton("开始点名");

startB.addActionListener(this);

f.addWindowListener(this);

f.add(startB);

f.setVisible(true);

}

publicvoidactionPerformed(ActionEvente){

if(e.getSource()==startB);

String[]namelist={"小明","小白","小黑","小黄","小兰","小草","小丽","兔子","巫妖","船长","剑圣","冰女"};

intrandomNum=(int)(Math.random()*namelist.length);

System.out.println(namelist[randomNum]);

}

publicstaticvoidmain(Stringargs[]){

newRandomClassgui().display();

}

}

其实没有改太多的地方

只是加了一句

f.add(startB);

随机点名系统java篇4

importjava.awt.Font;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjava.util.ArrayList;importjava.util.List;importjava.util.Random;importjavax.swing.JButton;importjavax.swing.JFrame;importjavax.swing.JLabel;importjavax.swing.JOptionPane;publicclasstest_randomextendsJFrameimplementsActionListener{publicstaticvoidmain(String[]args){test_randomt=newtest_random();t.init();}publicvoidinit(){initListDate();but=newJButton("开始点名");but.setBounds(100,150,100,40);but.addActionListener(this);label=newJLabel("随机点名");label.setBounds(60,20,300,40);label.setFont(newFont("楷体",Font.BOLD,40));show=newJLabel("");show.setBounds(110,80,200,30);show.setFont(newFont("楷体",Font.BOLD,30));reset=newJButton("重新点名");reset.setBounds(203,246,90,25);reset.addActionListener(this);add(but);add(label);add(show);add(reset);setLayout(null);setVisible(true);setResizable(false);setBounds(100,100,300,300);setTitle("点名");(JFrame.EXIT_ON_CLOSE);}publicvoidinitListDate(){//在这个地方添加姓名就可以了list.add("刘天廷");list.add("孔老二");list.add("张三");list.add("李四");list.add("王五");list.add("麻六");list.add("冯七");list.add("京八");list.add("茅台九");}publicvoidactionPerformed(ActionEvente){/*确保每人选一次*/Objectobj=e.getSource();if(obj==but){if(list.size()==0){JOptionPane.showMessageDialog(null,"没有人了!");return;}else{Randomran=newRandom();intnum=ran.nextInt(list.size());show.setText(list.get(num));list.remove(num);}}if(obj==reset){show.setText("");initListDate();}}privateJButtonbut;privateJLabellabel;privateJLabelshow;privateJButtonreset;privateListlist=newArrayList();}。

java随机点名系统篇5

给楼主改了一下importjava.awt.*;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjava.awt.event.WindowAdapter;publicclassRandomClassguiextendsWindowAdapterimplementsActionListener{Framef=newFrame("点名系统");ButtonstartB;publicvoiddisplay(){f.setSize(300,200);f.setLocation(200,140);f.setBackground(Color.lightGray);startB=newButton("开始点名");startB.addActionListener(this);f.addWindowListener(this);f.add(startB);f.setVisible(true);}publicvoidactionPerformed(ActionEvente){if(e.getSource()==startB);String[]namelist={"小明","小白","小黑","小黄","小兰","小草","小丽","兔子","巫妖","船长","剑圣","冰女"};intrandomNum=(int)(Math.random()*namelist.length);System.out.println(namelist[randomNum]);}publicstaticvoidmain(Stringargs[]){newRandomClassgui().display();}}其实没有改太多的地方只是加了一句f.add(startB);。

Java怎么用循环做一个点名机篇6

publicclassCheckName(){

privateString[]name=newString[50];//里面写上你们班的人数,比如说50

publicstaticvoidmain(Stringargs[]){

Scannerin=newScanner(System.out);

for(inti=1;i<=50;i++){

System.out.println("输入第"+i+"个人名");

String[i-1]=in.nextline();//输入信息

}

for(inti=1;i<=50;i++){

System.out.println(String[i-1]);

}

}

JAVA编程(随机点名程序),高手来篇7

代码如下,需要建立两个txt,一个为a.txt,用来保存原有名单,另外一个为b.txt用来保存点名后的名单,在运行时可选,是否继续上次点名还是开始新的点名,程序完整,放入两个txt文件后即可运行,请检测importjava.io.BufferedReader;importjava.io.BufferedWriter;importjava.io.File;importjava.io.FileOutputStream;importjava.io.IOException;importjava.io.InputStreamReader;importjava.io.OutputStreamWriter;importjava.util.ArrayList;importjava.util.List;importjava.util.Scanner;publicclassStudent{ListstuList=newArrayList();/***点名*@throwsIOException*/publicvoidcalling()throwsIOException{while(true){System.out.println("点名请按【Y】,退出请按【N】:");BufferedReaderbr=newBufferedReader(newInputStreamReader(System.in));Stringinput=br.readLine();if(input.toLowerCase().equals("y")){intnoNum=(int)(Math.random()*this.stuList.size());Stringname=(String)this.stuList.get(noNum);this.stuList.remove(noNum);System.out.println("当前点名用户为:"+name);}elseif(input.toLowerCase().equals("n")){Strings;Filef=newFile("b.txt");FileOutputStreamfos=newFileOutputStream(f);BufferedWriterbw=newBufferedWriter(newOutputStreamWriter(fos));while(stuList.size()!=0){Stringname=(String)stuList.get(0);System.out.println("存入name="+name);bw.write(name);bw.newLine();stuList.remove(0);}bw.flush();bw.close();break;}}}/***读入学生信息*@paramfileName*@return*@throwsException*/publicvoidreadStudent(StringfileName)throwsException{Scannersc=newScanner(newFile(fileName)).useDelimiter("\n");intcount=0;while(sc.hasNext()){count++;Stringname=sc.next();System.out.println(count+"="+name);this.stuList.add(newString(name));}}/***存入学生信息*@paramargs*@throwsIOException*/publicstaticvoidmain(String[]args)throwsException{Studentstu=newStudent();System.out.println("开始新的点名【1】,继续上次点名【2】:");BufferedReaderbr=newBufferedReader(newInputStreamReader(System.in));Stringinput=br.readLine();StringnewFileName="a.txt";StringoldFileName="b.txt";if(input.toLowerCase().equals("1")){stu.readStudent(newFileName);}elseif(input.toLowerCase().equals("2")){stu.readStudent(oldFileName);}stu.calling();}}。

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。