当前位置:懂科普 >

综合知识

> java点名系统怎么写 java随机点名系统

java点名系统怎么写 java随机点名系统

1.java随机点名系统

给楼主改了一下

java点名系统怎么写 java随机点名系统

import java.awt.*;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.awt.event.WindowAdapter;

public class RandomClassgui extends WindowAdapter implements ActionListener{

Frame f = new Frame("点名系统");

Button startB;

public void display() {

f.setSize(300,200);

f.setLocation(200,140);

f.setBackground(Color.lightGray);

startB = new Button("开始点名");

startB.addActionListener(this);

f.addWindowListener(this);

f.add(startB);

f.setVisible(true);

}

public void actionPerformed(ActionEvent e) {

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

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

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

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

}

public static void main(String args[]){

new RandomClassgui().display();

}

}

其实没有改太多的地方

只是加了一句

f.add(startB);

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

import java.awt.GridLayout;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.util.ArrayList;

import java.util.Arrays;

import java.util.List;

import java.util.Scanner;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JTextField;

public class test {

static String[] arr;

static boolean flag=true;

static Lista;

static JTextField jtf;

public static void main(String[] args) {

// TODO Auto-generated method stub

JFrame frame=new JFrame();

frame.setLayout(new GridLayout(1,2));

JButton button = new JButton("抽奖");

jtf = new JTextField();

frame.add(jtf);

frame.add(button);

a = new ArrayList();

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

button.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e) {

int i=0;

fond:

while(true){

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

for(String b:a){

if(b.equals(str)){

if(i>=arr.length){

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

break fond;

}

continue fond;

}

i++;

}

a.add(str);

jtf.setText(str);

break;

}

}

});

frame.setSize(500, 500);

frame.setLocation(500, 500);

frame.setVisible(true);

}

}

3.随机点名系统 java

import java.awt.Font; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.ArrayList; import java.util.List; import java.util.Random; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; public class test_random extends JFrame implements ActionListener{ public static void main(String[] args) { test_random t = new test_random(); t.init(); } public void init(){ initListDate(); but = new JButton("开始点名"); but.setBounds(100,150,100,40); but.addActionListener(this); label = new JLabel("随机点名"); label.setBounds(60,20,300,40); label.setFont(new Font("楷体",Font.BOLD,40)); show = new JLabel(""); show.setBounds(110,80,200,30); show.setFont(new Font("楷体",Font.BOLD,30)); reset = new JButton("重新点名"); 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); } public void initListDate(){ //在这个地方添加姓名就可以了 list.add("刘天廷"); list.add("孔老二"); list.add("张三"); list.add("李四"); list.add("王五"); list.add("麻六"); list.add("冯七"); list.add("京八"); list.add("茅台九"); } public void actionPerformed(ActionEvent e) { /*确保每人选一次*/ Object obj = e.getSource(); if(obj == but){ if(list.size()==0){ JOptionPane.showMessageDialog(null,"没有人了!"); return ; }else{ Random ran = new Random(); int num = ran.nextInt(list.size()); show.setText(list.get(num)); list.remove(num); } } if(obj == reset){ show.setText(""); initListDate(); } } private JButton but ; private JLabel label; private JLabel show; private JButton reset; private List list = new ArrayList(); }。

4.java随机点名系统

给楼主改了一下import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.WindowAdapter;public class RandomClassgui extends WindowAdapter implements ActionListener{ Frame f = new Frame("点名系统"); Button startB; public void display() { f.setSize(300,200); f.setLocation(200,140); f.setBackground(Color.lightGray); startB = new Button("开始点名"); startB.addActionListener(this); f.addWindowListener(this); f.add(startB); f.setVisible(true); } public void actionPerformed(ActionEvent e) { if(e.getSource()==startB); String[] namelist={"小明","小白","小黑","小黄","小兰","小草","小丽","兔子","巫妖","船长","剑圣","冰女"}; int randomNum=(int)(Math.random()*namelist.length); System.out.println(namelist[randomNum]); } public static void main(String args[]){ new RandomClassgui().display(); }} 其实没有改太多的地方只是加了一句f.add(startB);。

5.JAVA编程(随机点名程序),高手来

代码如下,需要建立两个txt,一个为a.txt,用来保存原有名单,另外一个为b.txt用来保存点名后的名单,在运行时可选,是否继续上次点名还是开始新的点名, 程序完整,放入两个txt文件后即可运行,请检测import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStreamWriter;import java.util.ArrayList;import java.util.List;import java.util.Scanner;public class Student { List stuList = new ArrayList(); /** * 点名 * @throws IOException */ public void calling() throws IOException{ while(true){ System.out.println("点名请按【Y】,退出请按【N】:"); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String input = br.readLine(); if(input.toLowerCase().equals("y")){ int noNum = (int) (Math.random()*this.stuList.size()); String name = (String) this.stuList.get(noNum); this.stuList.remove(noNum); System.out.println("当前点名用户为:"+name); }else if(input.toLowerCase().equals("n")){ String s; File f=new File("b.txt"); FileOutputStream fos =new FileOutputStream(f); BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(fos)); while (stuList.size() != 0) { String name = (String)stuList.get(0); System.out.println("存入name="+name); bw.write(name); bw.newLine(); stuList.remove(0); } bw.flush(); bw.close(); break; } } } /** * 读入学生信息 * @param fileName * @return * @throws Exception */ public void readStudent(String fileName) throws Exception { Scanner sc = new Scanner(new File(fileName)).useDelimiter("n"); int count = 0; while(sc.hasNext()){ count++; String name = sc.next(); System.out.println(count+"="+name); this.stuList.add(new String(name)); } } /** * 存入学生信息 * @param args * @throws IOException */ public static void main(String[] args) throws Exception { Student stu = new Student(); System.out.println("开始新的点名【1】,继续上次点名【2】:"); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String input = br.readLine(); String newFileName = "a.txt"; String oldFileName = "b.txt"; if(input.toLowerCase().equals("1")){ stu.readStudent(newFileName); }else if(input.toLowerCase().equals("2")){ stu.readStudent(oldFileName); } stu.calling(); }}。

6.JAVA编程(随机点名程序),高手来

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

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

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

}public static void main(String[] args){String con = // 接受控制台信息 if(con.equals("y")){ CallStudents call = new CallStudents(); call.call(); } if(con.equals("n")){ // 结束程序 }}}。

7.Java怎么用循环做一个点名机

public class CheckName(){

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

public static void main(String args[]){

Scanner in=new Scanner(System.out);

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

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

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

}

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

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

}

}

标签: 点名 系统 随机 java
  • 文章版权属于文章作者所有,转载请注明 https://dongkepu.com/zonghezhishi/3omkjx.html