Java第3周实验

第3周:实现随机点名的签到程序

1、计算闰年,P45 2-4 2,判断某一年份是否为闰年。(类名:LeapYear

提示:年份能被4整除但不能被100整除,或者能被4整除又能被400整除,即为闰年。 

2、实现随机点名的签到程序。(类名:RegisterDemo

 

//判断是否为闰年。

import javax.swing.JOptionPane;  

public class LeapYear  
{  
	public static void main(String args[])  
	{  
		int year = Integer.parseInt(JOptionPane.showInputDialog(null,"请输入一个年份"));  
		if((year % 4 == 0 && year % 100 != 0) || (year % 4 == 0 && year % 400 == 0))  
		{  
			JOptionPane.showMessageDialog(null,year + " 年是闰年!");  
		}         else  
		{            JOptionPane.showMessageDialog(null,year + " 年不是闰年!");  
		}  
	}  
}  


   

 

 

//图形界面学生签到程序。

import java.awt.Button;  
import java.awt.FlowLayout;  
import java.awt.Frame;  
import java.awt.Label;  
import java.awt.TextArea;  
import java.awt.TextField;  
import java.awt.event.*;  
import java.io.File;  
import java.io.FileNotFoundException;  
import java.io.PrintWriter;  
import java.text.SimpleDateFormat;  
import java.util.Date;  
import java.util.Scanner;    
import javax.swing.JFrame;   
public  class RegisterDemo extends Frame implements ActionListener 
{  
	static String[][] stringArray ; 
	static JFrame jf = new JFrame("GUI example");//JFrame容器  
	static Label lb = new Label("学生姓名");  
	static TextField tf = new TextField(10);  
	static Button b1 = new Button("到");  
	static Button b2 = new Button("缺席");  
	static Label b = new Label("缺到名单");  
	static TextArea ta = new TextArea(15,30);  
	static int count2 = 0;//记录学生人数  
	static int count = 0;//记录学生人数  
	static String strAbsent = " ";//记录缺席的学生姓名  

	public static void main(String[] args) throws Exception {  
		File fileinput=new File("E:\\wl121.txt");  //输入文件  
		Scanner sc = new Scanner(fileinput);  //构造新的Scanner,指定fileinput为其生成值  
		Scanner st = new Scanner(fileinput);  //同上  

		while (sc.hasNext()) //确定人数    
		{  
			count++;    
			sc.nextLine();    
		}  
		stringArray = new String[count + 1][2];//给数组stringArray加多一位,后面用得上  
		for (int a = 0; a < count ; a++)//读入数组    
		{         
			stringArray[a][0] = st .nextLine();  
		}    
		sc.close();   
		st.close();  

		stringArray[count][0] = "点名结束";  
		tf.setText(stringArray[count2][0]);//在文本框中加入数组的第一行内容  

		RegisterDemo tu = new RegisterDemo();//构造方法  

		jf.setLayout(new FlowLayout(FlowLayout.LEFT,20,40));//布局管理器  
		jf.add(lb);  
		jf.add(tf);  
		jf.add(b1);  
		jf.add(b2);  
		jf.add(b);  
		jf.add(ta);  
		jf.setSize(350,450);//设定大小  
		jf.setVisible(true);//容器可见  
		b1.addActionListener(tu);//监听按钮  
		b2.addActionListener(tu);//监听按钮  
	}  
	public  void actionPerformed(ActionEvent e)//监听事件  
	{  

		if(e.getSource()==b1 && count2 < count)//点击“到”按钮并且总点击数少于人数时,往下执行
		{               
			count2++;                                           
			tf.setText(stringArray[count2][0]);//在文本框中加入数组的内容  

		}  
		else if(e.getSource()==b2 && count2 < count)//点击“缺席”按钮并且总点击数少于人数时,往下执行  
		{  
			strAbsent = strAbsent + stringArray[count2][0] + "\n";//把缺席的名字记录到strAbsent中  
			count2++;//  
			tf.setText(stringArray[count2][0]);//在文本框中加入数组的内容  
		}  
		if(count2 == count)//当读完了所有名字后,把缺席名单显示在文本域中  
		{  
			ta.setText(strAbsent);  
			ta.getSelectedText();                
		}  
		Date now = new Date();//获得当前日期,以便在每天考勤后自动生成不同名字的考勤结果文件  
		SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd_HHMM");//方便修改日期格式    
		String strDate = dateFormat.format(now);//把时间类型改为字符串  
		File fileoutput = new File("E:\\wl121.txt"+"\\考勤结果" + strDate);  
		PrintWriter output = null;//准备输出考勤结果  
		try
		{  
			output = new PrintWriter(fileoutput);//构造新的PrintWriter,指定fileoutput为其生成值  
		} 
		catch (FileNotFoundException e1) 
		{  
		}
		if(count2 == count)  
		{  
			output.print("缺课名单: ");  
			output.print(strAbsent);//输出考勤结果  
			output.close();  
		}  
	}  
}         


 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值