用Java语言编写一个班级点名的程序

一、要求:用Java语言编写一个班级点名的程序

二、时间:2015、3、26

三、实现代码:

package dianming;         
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 dianming {  
 List stuList = new ArrayList();   
 // 点名   
 public void calling() throws IOException{  
 while(true){  
     System.out.println("   随机点名现在开始!");  
     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;}  
 }  
 }  
 // 读入学生信息     
 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));  
 }  
 }  
 //存入学生信息    
 public static void main(String[] args) throws Exception {  
     dianming stu = new dianming();  
     System.out.println("开始新一轮的点名【1】,继续上一轮点名【2】:");  
     BufferedReader br = new BufferedReader(new InputStreamReader(System.in));   
     String input = br.readLine();  
     String newFileName = "信管3&4班名单.txt";  
     String oldFileName = "b.txt";  
if(input.toLowerCase().equals("1")){  
     stu.readStudent(newFileName);  
 }else if(input.toLowerCase().equals("2")){  
     stu.readStudent(oldFileName);  
 }  
     stu.calling();  
 }  

四、运行结果截图


  • 7
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值