第三周作业(GUI简单签到程序和判断是否闰年)

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 qiandao2 extends Frame implements ActionListener {
	/**
	 * @param args
	 * @throws FileNotFoundException 
	 */
	static String[][] stringArray ;
	//static Frame f = new Frame("图形界面签到程序");
	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 = " ";                   //记录缺席的学生姓名


	// TODO Auto-generated method stub
	//@SuppressWarnings("resource")
	public static void main(String[] args) throws Exception {
		File fileinput=new File("G:\\我的程序\\大二下学期\\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]);       //在文本框中加入数组的第一行内容

		qiandao2 tu = new qiandao2();      //构造方法
		//tu.outputFile();
		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);                  //监听按钮


		//ta.setEditable(true); 		 	

	}
	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("G:\\我的程序\\大二下学期" + "\\考勤结果" + strDate);
		PrintWriter output = null;                                                                //准备输出考勤结果
		try {
			output = new PrintWriter(fileoutput);          //构造一个新的 PrintWriter,指定fileoutput为它的生成值
		} catch (FileNotFoundException e1) {
			// TODO Auto-generated catch block
			//e1.printStackTrace();
		}
		if(count2 == count)
		{
			output.print("缺课名单: ");
			output.print(strAbsent);                           //输出考勤结果
			output.close();
		}
	}
}		

import javax.swing.JOptionPane;


public class isLeanYear
{
	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 + " 年不是闰年!");
		}
	}
}


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值