import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.Random;
import java.sql.*;
public class fhh1 implements ActionListener
{ JFrame frame;
JButton b1,b2,b3,b4,b5;
public fhh1()
{
frame=new JFrame();
frame.setLayout(new FlowLayout());
b1=new JButton("温度转换");
b2=new JButton("判断大小写");
b3=new JButton("职工信息操作");
b4=new JButton("矩阵最大元素值");
b5=new JButton("水仙花数");
frame.add(b1);
frame.add(b2);
frame.add(b3);
frame.add(b4);
frame.add(b5);
JMenuBar mb=new JMenuBar();
frame.setJMenuBar(mb);
JMenu m1=new JMenu("File");
JMenu m2=new JMenu("Edit");
JMenu m3=new JMenu("Help");
JMenuItem mi1=new JMenuItem("Open");
JMenuItem mi2=new JMenuItem("Save");
JMenuItem mi3=new JMenuItem("Close");
mb.add(m1);
mb.add(m2);
mb.add(m3);
m1.add(mi1);
m1.add(mi2);
m1.add(mi3);
b1.addActionListener(this);
b2.addActionListener(this);
b3.addActionListener(this);
b4.addActionListener(this);
b5.addActionListener(this);
frame.setSize(400,400);
frame.setVisible(true);
frame.setDefaultCloseOperation(frame.EXIT_ON_CLOSE);
}
public void actionPerformed(ActionEvent e)
{
JButton btn=(JButton)e.getSource();
if(btn==b1)
this.convertUnit();
else if(btn==b2)
MatchCase.main(null);
else if(btn==b3)
StaffInformation.main(null);
else if(btn==b4)
MaxMatrix.main(null);
else
this.searchNarcissisticNumber();
}
public static void main(String[] args)
{
fhh1 eg=new fhh1();
}
//温度转换类方法
public static void convertUnit()
{
int fahr,cels;
System.out.println("Celsius Fahrenherit\n");
for(cels=0;cels<=30;cels+=5)
{fahr=cels*9/5+32;
System.out.println(cels+"\t"+fahr);
}
}
//寻找水仙花数类方法
public static void searchNarcissisticNumber()
{int a,b,c,i;
System.out.println("Narcissistic Number:\n");
for(i=100;i<=999;i++)
{a=i/100;
b=i%100/10;
c=i%10;
if(a*a*a+b*b*b+c*c*c==i)
System.out.println(i);
}
}
}
//判断字母大小写类
class MatchCase
{
public static void main(String args[])
{ System.out.println("Match Upper or Lower Case:");
String s="AbCDefg";
int i;
for(i=0;i<s.length();i++)
{
char ch=s.charAt(i);
if(ch>=65&&ch<=90)
System.out.println(ch+"是大写的");
else if(ch>=97&&ch<=112)
System.out.println(ch+"是小写的");
else
System.out.println("字符串中不包含字母!");
}
}
}
//求矩阵元素最大值类
class MaxMatrix{
public static void main(String args[])
{
MaxMatrix matrix = new MaxMatrix();
int array[][]=matrix.initArray(7,8);
matrix.displayArray(array);
int max = matrix.countArray(array);
System.out.println("矩阵的最大元素为"+max);
}
public int[][] initArray(int m,int n)
{
Random rand = new Random();
int array[][] = new int[m][n] ;
for(int i=0;i<m;i++){
for(int j=0;j<n;j++){
array[i][j]=rand.nextInt(100);
}
}
return array;
}
public void displayArray(int array[][]){
for(int i=0;i<array.length;i++){
for(int j=0;j<array[i].length;j++){
System.out.print(j==array[i].length-1?array[i][j]:array[i][j]+" ");
}
System.out.println();
}
}
public int countArray(int array[][]){
int maxValue = 0;
for(int i =0;i<array.length;i++)
for(int j=0;j<array[i].length;j++){
if(maxValue < array[i][j])
{
maxValue = array[i][j];
}
}
return maxValue;
}
}
//职工信息操作类
class StaffInformation
{
public static void main(String []args)
{
try
{Statement stmt;
ResultSet rs;
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String urlName="jdbc:odbc:SW";
Connection con=DriverManager.getConnection(urlName);
stmt=con.createStatement();
//当前表内容
rs=stmt.executeQuery("select*from Sworkers");
System.out.println("当前表内容:\n");
System.out.println("Snumber\t Sname\t Sage\t Swage\t Slevel");
while(rs.next()){
System.out.printf("%s\t%s\t%s\t%s\t%s\n",rs.getString(1),rs.getString(2),rs.getString(3),Math.round(rs.getFloat(5))*100/100,rs.getString(6));
}
//查
rs=stmt.executeQuery("select Snumber,Sname,Swage from Sworkers where Slevel='A'");
System.out.println("查询级别为A的职工结果:\n");
while(rs.next()){
String strSnumber=rs.getString("Snumber");
String strSname=rs.getString("Sname");
Float floSwage=rs.getFloat(3);
System.out.println("Snumber:"+strSnumber+"sname:"+strSname+"Swage:"+floSwage);
}
//增
stmt.executeUpdate("insert into Sworkers('06','胡思',30,4000,'B')");
rs=stmt.executeQuery("select*from Sworkers");
System.out.println("插入一条记录后,该表内容:\n");
System.out.println("Snumber\t Sname\t Sage\t Swage\t Slevel");
while(rs.next()){
System.out.printf("%s\t%s\t%s\t%s\t%s\n",rs.getString(1),rs.getString(2),rs.getString(3),Math.round(rs.getFloat(5))*100/100,rs.getString(6));
}
//删
stmt.executeUpdate("delete from Sworkers where Sage<30");
rs=stmt.executeQuery("select*from Sworkers");
System.out.println("\n将年龄在30岁以下的员工信息删除后,该表内容:\n");
System.out.println("Snumber\t Sname\t Sage\t Swage\t Slevel");
while(rs.next()){
System.out.printf("%s\t%s\t%s\t%s\t%s\n",rs.getString(1),rs.getString(2),rs.getString(3),Math.round(rs.getFloat(5))*100/100,rs.getString(6));
}
//改
stmt.executeUpdate("update Sworkers set Swage=Swage*1.25 where Sage>=40");
rs=stmt.executeQuery("select*from Sworkers order by Swage");
System.out.println("\n将年龄在40岁以上的员工工资增加25%并排序后,该表内容:\n");
System.out.println("number\t Sname\t Sage\t Swage\t Slevel");
while(rs.next()){
System.out.printf("%s\t%s\t%s\t%s\t%s\n",rs.getString(1),rs.getString(2),rs.getString(3),Math.round(rs.getFloat(5))*100/100,rs.getString(6));
}
rs.close();
stmt.close();
}catch(Exception e)
{
e.printStackTrace();
}
}
}