按照你第2點(diǎn)描述,你僅僅是想實(shí)現(xiàn)隨即順序點(diǎn)名而已,并不是隨即點(diǎn)名。
成都創(chuàng)新互聯(lián)公司專注于網(wǎng)站設(shè)計(jì)制作、做網(wǎng)站、網(wǎng)頁設(shè)計(jì)、網(wǎng)站制作、網(wǎng)站開發(fā)。公司秉持“客戶至上,用心服務(wù)”的宗旨,從客戶的利益和觀點(diǎn)出發(fā),讓客戶在網(wǎng)絡(luò)營銷中找到自己的駐足之地。尊重和關(guān)懷每一位客戶,用嚴(yán)謹(jǐn)?shù)膽B(tài)度對待客戶,用專業(yè)的服務(wù)創(chuàng)造價(jià)值,成為客戶值得信賴的朋友,為客戶解除后顧之憂。
我給你個(gè)解決方案:
在每次點(diǎn)中一名學(xué)生后,將java0803_students.txt文件中做個(gè)標(biāo)示,表示該學(xué)生已經(jīng)在本輪點(diǎn)名中被點(diǎn)過。
直到所有學(xué)生都點(diǎn)到后情況這個(gè)表示,準(zhǔn)備下一輪點(diǎn)名做標(biāo)記。
下面我給你一段偽代碼,包含了 random 的使用方法:
public class CallStudents(){
private static Random random = new Random();
public void call(){
// 重新設(shè)置學(xué)生被點(diǎn)名的標(biāo)示(根據(jù)點(diǎn)名情況)
reset();
long value = -1;
while (true) {
value = random.nextInt(maxValue + 1); // maxValue 是你當(dāng)前有學(xué)生的最大數(shù)目
//在這里讀取當(dāng)前隨即號(hào)對應(yīng)的學(xué)生記錄
String student = getStudentByID(value);
//判斷該學(xué)生是否被點(diǎn)過名
if(!checkCalled(student)){
// 設(shè)置已經(jīng)點(diǎn)過名
setCalled(student);
// 在控制臺(tái)上顯示被點(diǎn)名的學(xué)生信息
system.out.println(student);
// 結(jié)束循環(huán)
break;
}
}
}
private String getStudentByID(long id){
// 這個(gè)是讀取文件,需要你自己實(shí)現(xiàn)的
// 返回 java0803_students.txt 文件中對應(yīng)的學(xué)生記錄
}
private boolean checkCalled(String student){
// 至于是什么樣的規(guī)則,有你自己定義
// 我這里給你舉個(gè)例子
// 如果這條學(xué)生記錄中包含 一個(gè)字符為 called 的話,表明這名學(xué)生被點(diǎn)過名
if(student.indexOf("called") != -1){
retrn true;
}
return false;
}
private void setCalled(String student){
// 至于是什么樣的規(guī)則,有你自己定義
// 我這里給你舉個(gè)例子
// 設(shè)置學(xué)生已被點(diǎn)名
student += "_called";
// 將這個(gè)值重新寫回到你的java0803_students.txt 文件中,覆蓋愿信息!
}
private void reset(){
// 判斷是否所有學(xué)生都被點(diǎn)過名,如果點(diǎn)過名,清空所有學(xué)生被點(diǎn)名的標(biāo)記
// 這個(gè)實(shí)現(xiàn)有你自己定義,
// 這里我給你舉個(gè)例子
// 讀取文件,判斷每一個(gè)學(xué)生信息是否都標(biāo)有 called
// 如果都有,執(zhí)行刪除所有 called 的操作,并保存文件。
// 如果只有部分沒有,則表明本輪點(diǎn)名沒有結(jié)束,不做任何操作。
}
public static void main(String[] args){
String con = // 接受控制臺(tái)信息
if(con.equals("y")){
CallStudents call = new CallStudents();
call.call();
}
if(con.equals("n")){
// 結(jié)束程序
}
}
}
//首先我們可以先把名字搞成一個(gè)數(shù)組,或者List都是可以的。
String[]?arr?=?{"張三","李四","王五","xxx"....};
String?random?=?arr[new?Random().nextInt(arr.size())];
System.out.println("隨機(jī)名字為:"+random);
最簡單的一個(gè),你把所有名字存進(jìn)一個(gè)數(shù)組,下面是關(guān)鍵代碼
String[] nameList={"張三","李四","王五"......};//名單全部寫上去就可以了
int rdmNum=(int)(Math.random()*nameList.length)//隨即生成0---“總?cè)藬?shù)-1”的數(shù)字,正好對應(yīng)數(shù)組的索引
System.out.println(nameList[ramNum]);//輸出對應(yīng)的人名
簡單嗎?關(guān)鍵代碼我都給寫出來了哦,用小軟件把它生成一個(gè)EXE文件就可以用了。
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 ListString a;
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("抽獎(jiǎng)");
jtf = new JTextField();
frame.add(jtf);
frame.add(button);
a = new ArrayListString();
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);
}
}
本文題目:java點(diǎn)名滾動(dòng)名字代碼 java滾動(dòng)條怎么設(shè)置
網(wǎng)站URL:http://vcdvsql.cn/article34/ddegdse.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供響應(yīng)式網(wǎng)站、做網(wǎng)站、品牌網(wǎng)站設(shè)計(jì)、品牌網(wǎng)站制作、App設(shè)計(jì)、企業(yè)建站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)