⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jisuan.java

📁 用JAVA编写的综合测评系统毕业设计
💻 JAVA
📖 第 1 页 / 共 4 页
字号:
import java.applet.Applet;  //导入需要的类
import java.awt.Panel;
import java.awt.Label;
import java.awt.TextArea;
import java.awt.TextField;
import java.awt.Checkbox;
import java.awt.Button;
import java.awt.Choice;
import java.awt.Frame;
import java.awt.List;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.TextEvent;
import java.awt.event.TextListener;
import java.awt.event.WindowListener;
import java.awt.event.WindowEvent;
import java.awt.BorderLayout;
import java.awt.GridLayout;
import java.awt.CardLayout;
import java.awt.CheckboxGroup;
import java.awt.Color;
import java.awt.Font;
import java.net.InetAddress;
import java.net.Socket;
import java.io.DataOutputStream;
import java.io.DataInputStream;
import java.util.ArrayList;
import javax.swing.JPanel;
import javax.swing.JOptionPane;
import javax.swing.BorderFactory;




public class Jisuan extends Applet implements ActionListener   //applet类
{

	private Zhengzhisixiangsuzhi zhengzhisixiangsuzhi=new Zhengzhisixiangsuzhi();
	private Yewuxueximokuai yewuxuexi=null;
	private Zhinengsuzhi zhinengsuzhi=new Zhinengsuzhi();
	private Tiyusuzhi tiyusuzhi=new Tiyusuzhi();
	private Defenqingkuang defenqingkuang=new Defenqingkuang();
	private Panel butp=new Panel();
	private Panel neirongp=new Panel();
	private Button butzhengzhi =new Button("政治思想素质");
	private Button butyewu=new Button("业务学习得分");
	private Button butzhineng=new Button("智能素质得分");
	private Button buttiyu=new Button("体育素质得分");
	private Button butscore=new Button("综合测评得分");
	private Chengjishangchuan  chengjishangchuanchuangkou=null;
	private Mimaxiugai mimaxiugai=null;
	private float zongchengji=0;
	private CardLayout cardlayout=new CardLayout();    //采用卡片布局
	private InetAddress ip;


	
	public void init()
	{
		this.setLayout(new BorderLayout());
		try
		{
			ip=InetAddress.getByName(getCodeBase().getHost());
		    this.yewuxuexi=new Yewuxueximokuai(ip);
		}
		catch(Exception exception)
		{
			System.out.println(exception);
		}
		this.butzhengzhi.addActionListener(this);
		this.butyewu.addActionListener(this);
		this.butzhineng.addActionListener(this);
		this.buttiyu.addActionListener(this);
		this.butscore.addActionListener(this);
        this.defenqingkuang.butshangchuan.addActionListener(this);
        this.defenqingkuang.butmimaxiugai.addActionListener(this);
		butp.setLayout(new GridLayout(3,5,10,1));
		butp.add(new Label("------------------------------------------------"));
		butp.add(new Label("------------------------------------------------"));
		butp.add(new Label("------------------------------------------------"));
		butp.add(new Label("------------------------------------------------"));
		butp.add(new Label("------------------------------------------------"));
		butp.add(this.butzhengzhi);
		butp.add(this.butyewu);
		butp.add(this.butzhineng);
		butp.add(this.buttiyu);
		butp.add(this.butscore);
		butp.add(new Label("------------------------------------------------"));
		butp.add(new Label("------------------------------------------------"));
		butp.add(new Label("------------------------------------------------"));
		butp.add(new Label("------------------------------------------------"));
		butp.add(new Label("------------------------------------------------"));
		this.add(butp,"North");
		
		neirongp.setLayout(this.cardlayout);
		neirongp.add("zhengzhisixiang",this.zhengzhisixiangsuzhi);
		neirongp.add("yewuxuexi",this.yewuxuexi);
		neirongp.add("zhinengsuzhi",this.zhinengsuzhi);
		neirongp.add("tiyusuzhi",this.tiyusuzhi);
		neirongp.add("defenqingkuang",this.defenqingkuang);
		this.add(this.neirongp);
		this.showStatus("你当前所在的页面是政治思想素质的计算!");


	}
	
	
	public void actionPerformed(ActionEvent e)  //实现ActionListener接口
	{
		if(((Button)e.getSource()).equals(this.butzhengzhi))//点击政治思想素质按钮
		   {
		 	cardlayout.show(this.neirongp,"zhengzhisixiang");
		 	this.showStatus("你当前所在的页面是政治思想素质的计算!");
		 	
		   }
		  
		 if(((Button)e.getSource()).equals(this.butyewu)) //点击业务学习得分按钮
	  	   {
	  	   	
			cardlayout.show(this.neirongp,"yewuxuexi");
			this.showStatus("你当前所在的页面是业务学习成绩的计算!");
		   }
		   if(((Button)e.getSource()).equals(this.butzhineng)) //点击智能素质按钮
	  	   {
	  	   	
			cardlayout.show(this.neirongp,"zhinengsuzhi");
			this.showStatus("你当前所在页面是智能素质得分的计算!");
		   }
		   if(((Button)e.getSource()).equals(this.buttiyu)) //点击体育素质得分按钮
	  	   {
	  	   	
			cardlayout.show(this.neirongp,"tiyusuzhi");
			this.showStatus("你当前所在的页面是体育素质得分的计算!");
		   }
		   if(((Button)e.getSource()).equals(this.butscore)) //点击综合测评得分按钮
	  	   {
	  	   	
			cardlayout.show(this.neirongp,"defenqingkuang");
			
			//将综合测评得分情况在文本框中显示出来
			   this.defenqingkuang.xianshi.setText("");
			   this.defenqingkuang.xianshi.append("\n" + "政治思想素质实际得分:" + this.zhengzhisixiangsuzhi.getshijidefen()+ "\n");
			   this.defenqingkuang.xianshi.append("\n" + "政治思想素质总分:" + this.zhengzhisixiangsuzhi.getzongdefen()+"\n");
			   this.defenqingkuang.xianshi.append("\n" + "业务学习实际得分:" + this.yewuxuexi.getshijidefen()+"\n");
			   this.defenqingkuang.xianshi.append("\n" + "业务学习总得分:" + this.yewuxuexi.getzongdefen()+"\n");
			   this.defenqingkuang.xianshi.append("\n" + "智能素质实际得分:" + this.zhinengsuzhi.getshijidefen()+"\n");
			   this.defenqingkuang.xianshi.append("\n" + "智能素质总得分:" + this.zhinengsuzhi.getzongdefen()+"\n");
			   this.defenqingkuang.xianshi.append("\n" + "体育素质实际得分:" + this.tiyusuzhi.getshijidefen()+"\n");
			   this.defenqingkuang.xianshi.append("\n" + "体育素质总得分:" + this.tiyusuzhi.getzongdefen()+"\n");
			   this.zongchengji=this.zhengzhisixiangsuzhi.getzongdefen()+this.yewuxuexi.getzongdefen()+this.zhinengsuzhi.getzongdefen()+this.tiyusuzhi.getzongdefen();
			   this.zongchengji=this.zongchengji+(float)0.005;
		       this.zongchengji=(float)(int)(this.zongchengji*100);
		       this.zongchengji=this.zongchengji/100;
			   this.defenqingkuang.xianshi.append("\n"+"你的综合测评总得分为:"+ this.zongchengji);
			   this.defenqingkuang.xianshi.append("\n\n你的得分情况说明如下:\n\n" );
			   this.defenqingkuang.xianshi.append(this.zhengzhisixiangsuzhi.getbeizhu()+this.zhinengsuzhi.getbeizhu()+this.tiyusuzhi.getbeizhu());
			
		   }
		   
		   if(((Button)e.getSource()).equals(this.defenqingkuang.butshangchuan)) //点击成绩上传按钮
		   {
		   	
		      String sqlinsert=this.zhengzhisixiangsuzhi.getzongdefen()+","+this.yewuxuexi.getzongdefen()+","
		   	  	                  +this.zhinengsuzhi.getzongdefen()+","+this.tiyusuzhi.getzongdefen()+ "," +this.zongchengji+ ",'"
		   	  	                   +this.zhengzhisixiangsuzhi.getbeizhu()+
		   	  	                   this.zhinengsuzhi.getbeizhu()+this.tiyusuzhi.getbeizhu()+ "'";
		   	  
		   	  if(this.chengjishangchuanchuangkou==null)
		   	  {
		   	  	this.chengjishangchuanchuangkou=new Chengjishangchuan(this.ip);
		   	  	this.chengjishangchuanchuangkou.setLocation(this.getWidth()/2,this.getHeight()/2);
		   	  	this.chengjishangchuanchuangkou.setVisible(true);
		   	  	
		   	  }
		   	  else
		   	  {
		   	  	this.chengjishangchuanchuangkou.setVisible(true);
		   	  }
		   	  
		   	  this.chengjishangchuanchuangkou.setzongheceping(sqlinsert);
		   	  this.chengjishangchuanchuangkou.setyewuxuexi(this.yewuxuexi.getbeizhu());
		   	  
		   }
		   if(((Button)e.getSource()).equals(this.defenqingkuang.butmimaxiugai)) //点击密码修改按钮
           {
           	if(this.mimaxiugai==null)
			{
				this.mimaxiugai=new Mimaxiugai(this.ip);
				this.mimaxiugai.setLocation(this.getWidth()/2,this.getHeight()/2);
				this.mimaxiugai.setVisible(true);
			}
			else
			{
				this.mimaxiugai.setVisible(true);
			}
           	
           }
	  	 
	}	

	
}

class Yewuxueximokuai extends Zuhemianban    //业务学习大模块
{
	private Yewuxuexi  yewuxuexi=null;
	private Qita qita=new Qita();
	public Yewuxueximokuai(InetAddress ip)
	{
		super("业务学习得分情况计算");
		this.yewuxuexi=new Yewuxuexi(ip);
		this.add(this.yewuxuexi);
		this.add(this.qita);
		
		
	}
	public float getshijidefen()    //获取实际得分
	{
		float shijidefen=this.yewuxuexi.getscore()/this.yewuxuexi.getxuefen()+this.qita.getscore();
		shijidefen=shijidefen+(float)0.005;
		shijidefen=(float)(int)(shijidefen*100);
		shijidefen=shijidefen/100;

		return shijidefen;
		
	}
	
	public float getzongdefen()     //获取总得分
	{
	
		float  zongdefen=(float)(this.getshijidefen()*0.6);

        zongdefen=zongdefen+(float)0.005;
		zongdefen=(float)(int)(zongdefen*100);
		zongdefen=zongdefen/100;	
		return  zongdefen;
	}
	public String getbeizhu()
	{
		return this.yewuxuexi.getbeizhu()+ ":" + this.qita.getbeizhu();
	}
}
class Yewuxuexi extends JPanel    //所有科目的业务学习情况
{
	private Socket socket=null;
	private DataInputStream datain=null;
	private DataOutputStream dataout=null;
    private ArrayList arraylist=new ArrayList();
    private String[] xinxis;
	public Yewuxuexi (InetAddress ip)
	{
		this.setBorder(BorderFactory.createTitledBorder(""));
		this.setBackground(Color.white);
		
	    try
	    {
	    	this.socket=new Socket(ip,3636) ;
	    	this.datain=new DataInputStream(socket.getInputStream());
	    	this.dataout=new DataOutputStream(socket.getOutputStream());
	    	String chushihuaxinxi="初始化:select * from 课程信息表";
	    	this.dataout.writeUTF(chushihuaxinxi);
		    xinxis=datain.readUTF().split(":");
		    this.dataout.close();
		    this.datain.close();
		    this.datain=null;
		    this.dataout=null;
		    this.socket.close();
		    this.socket=null;
		    
	    }
	    catch(Exception e)
	    {
	    	JOptionPane.showMessageDialog(this,"网络或其他原因,业务学习计算初始化失败!");
	    }
		
		if(xinxis[0].trim().equals("初始化"))
		{
			this.setLayout(new GridLayout(xinxis.length-1,1));
			for(int i=1;i<xinxis.length;i++)
			{
				String[] kechengxinxi=xinxis[i].split(",");
				Xuexichengji xuexichengji=new Xuexichengji(kechengxinxi[0],
				       Float.parseFloat(kechengxinxi[1].trim()),kechengxinxi[2]);
				this.add(xuexichengji);
				this.arraylist.add(xuexichengji);
			}
		}
		
		else
		{
			JOptionPane.showMessageDialog(this,xinxis[0]);
		}
	}
	
	public float getscore()     //获取各门课程的学分成绩总和
	{
		float sum=0;
		for(int i=0;i<this.arraylist.size();i++)
		{
			sum=sum+((Xuexichengji)(arraylist.get(i))).getscore();
		}
		
	
		return sum;
	}
	
	public float getxuefen()   //获取所有科目的学分总和
	{
		float sum=0;
		for(int i=0;i<this.arraylist.size();i++)
		{
			sum=sum+((Xuexichengji)(arraylist.get(i))).getxuefen();
		}
		return sum;
	}
	
	public String getbeizhu()
	{
		String beizhu="";
		String names="";
		String scores="";
		for(int i=0;i<this.arraylist.size();i++)
		{
			if(((Xuexichengji)(arraylist.get(i))).geibeizhu().trim().length()!=0)
			{
				String[] temp=((Xuexichengji)(arraylist.get(i))).geibeizhu().split(",");
				names+=","+temp[0];
				scores+=",'"+temp[1] +"'";
			}
		}
		beizhu=names+ ":" +scores;
		return beizhu;
	}
}
class Xuexichengji extends JPanel    //每一科的学习成绩情况
{
	private Label lkechengming=new Label();
	private Inputfloat fenshu=new Inputfloat();
	private Choice dengji=new Choice();
	private float xuefen=0;
	private String leixing;
	private String strkechengming;
	public Xuexichengji(String  strkechengming,float f ,String leixing)
	{
		this.strkechengming=strkechengming;
		this.setBorder(BorderFactory.createTitledBorder(""));
		this.setBackground(Color.white);     
	    this.xuefen=f;
	    this.leixing=leixing;
		this.lkechengming.setText(strkechengming+ "("+ f + "学分) 得分:");
		this.add(this.lkechengming);
		this.dengji.add("不及格          ");
		this.dengji.add("及格");
		this.dengji.add("中");
		this.dengji.add("良");
		this.dengji.add("优");
				
		if(leixing.trim().equals("分数"))
		{
			this.add(this.fenshu);
			
		}
		else
		{
			this.add(this.dengji);
		}
		
	}
	public float getscore()   //取得这一科的学分成绩
	{
		if(leixing.trim().equals("分数"))
		{
			return this.fenshu.getfloat()*this.xuefen;
		}
		else
		{
			if(dengji.getSelectedIndex()==0)
			{
				return 0;
			}
			else
			{
				return (float)((this.dengji.getSelectedIndex()*10+50)*this.xuefen);
			}
		}
		
	
	}
	
	public float getxuefen()  //获取这一科目的学分
	{
		
		if(this.getscore()==0)
		return 0;
		else
		return xuefen ;
	}
	
	public String geibeizhu()
	{
		String beizhu="";
		if(this.getscore()!=0)
		{
			beizhu=this.strkechengming +",";
		    if(this.leixing.equals("分数"))
		    {
			beizhu+=this.fenshu.getfloat();
	  	    }
	   	   else
		   {
			switch(this.dengji.getSelectedIndex())
			{
				case 1: beizhu+="及格";
				break;
				case 2: beizhu+="中";
				break;
				case 3: beizhu+="良";
				break;
				case 4: beizhu+="优";
				break;
			}
		   }
		}
		
		
		return beizhu;

	}
}

 class Zuhemianban extends JPanel   //面板类的扩展
{

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -