[第四季]考试结束

终于考试结束了

第四季的学习早在7月12号就结束了,当时是边看视频边敲代码,连续看完了第三季和第四季所有的27个视频,看的倒是挺爽的.

第四季结束要考试,所以要复习,留下的只有代码和及其少量的注释,悲剧的是我发现代码看不懂了,并且离看完视频已经有10天了,记忆已经很模糊,错过了最好的总结时间,java是自己选的,学java是认真的,不能随便对待吧,所以20多篇代码从新自己敲一遍,消化里面的知识,翻JAVA API中文文档,写笔记.

中午联系助教调试代码,叫我不要在基础知识上浪费太多时间,如果在基础知识上纠结过久会浪费太多的时间,这个我觉得很有道理.

目前第四季结束后的考试已经通过,准备考试第五季的学习,这次会在视频后抽出一定时间总结消化知识,并且注意不要太钻牛角尖,注意进度和时间的问题.

package javastudy;

import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Scanner;



public class Test {

    public static void main(String[] args) throws ClassNotFoundException, SQLException, IOException
    {
        showMenu();
        System.out.println("请输入操作序号:");
        Scanner scan=new Scanner(System.in);
        int choise=scan.nextInt();
        while(choise!=5)
        {

            switch (choise) 
            {
            case 1:
                /*
                 本来想要一个个的scan,并且伴随后就stu.ar=scan.next的,但是这样代码重复率太高
                 所以直接先扫面完成,再进行实例化.
                Student stu=new Student();
                 */
                /*
                 定义各个参数
                 */
                String name;
                String gender;
                int age;
                String teleNo;
                System.out.println("请输入姓名:");
                name=scan.next();
                System.out.println("请输入性别:");
                gender=scan.next();
                System.out.println("请输入年龄:");
                age=scan.nextInt();
                System.out.println("请输入电话号码:");
                teleNo=scan.next();
                /*
                 根据上面的参数实例化
                 */
                Student stu=new Student(name, gender, age, teleNo);
                Save(stu);
                System.out.println();
                break;
            case 2:
                System.out.println("请输入要删除的学生的姓名:");
                String Student=scan.next();
                delete(Student);
                break;
            case 3:
                System.out.println("查询学生信息");
                show();
                break;

            case 4:
                System.out.println("请输入学生姓名:");
                String student=scan.next();
                export(student);
                break;

            default:
                System.out.println("输入不正确,请重新输入!");
                break;
            }
            showMenu();
            System.out.println("请输入操作序号:");
            choise=scan.nextInt();
        }
        System.out.println("再见!欢迎再次使用本系统。");
        scan.close();

    }

    static void showMenu()
    {
        System.out.println("**************************************");
        System.out.println("*      欢迎使用新趋势学生信息管理系统V1.0      *");
        System.out.println("*                                    *");
        System.out.println("*      请选择你要执行的命令:                                              *");
        System.out.println("*                                    *");
        System.out.println("*       1.输入学生信息          2.删除学生信息                 *");
        System.out.println("*       3.查询学生信息          4.导出学生信息                 *");
        System.out.println("*       5.退出系统                                                                 *");
        System.out.println("**************************************");
    }


    static void Save(Student student) throws ClassNotFoundException, SQLException
    {
        System.out.println("这里是Save函数");
        Connection con=getconn();
        Statement st=con.createStatement();
        String str="insert into studinformation values ('" + student.name +"','"+ student.gender +"',"+ student.age +",'"+ student.teleNo +"')";
        System.out.println(str);
        st.executeUpdate(str);
        con.close();
    }
    //******************************删除学生的函数*********************************
    static void delete(String student) throws ClassNotFoundException, SQLException
    {

        Connection con=getconn();
        Statement st=con.createStatement();
        ResultSet rst=st.executeQuery("select * from studinformation where name='"+student+"'");
        /*
         判断是否有学生存在,如果没有就输出提示并退出函数.否则进行删除.
         */
        if(rst.next()==false)
        {
            System.out.println("提示:你输入的学生不存在。");
            return;
        }else 
        {
            String str="delete from studinformation where name='"+ student+"'";
            System.out.println(str);
            st.executeUpdate(str);
        }
        con.close();
    }

    //******************************删除学生的函数*********************************

    //******************************显示学生信息*********************************
    static void show() throws ClassNotFoundException, SQLException
    {
        Connection con=getconn();
        Statement st=con.createStatement();
        ResultSet rs=st.executeQuery("select * from studinformation");
        //*********打印表头

        while(rs.next())
        {
            for(int i=1;i<=rs.getMetaData().getColumnCount();i++)
            {
                System.out.print(rs.getString(i)+"\t");
//              System.out.println(i);

            }
            System.out.println();
        }
        con.close();
    }
    //******************************显示学生信息*********************************

    //******************************输出学生信息到文件*********************************
    static void export(String student) throws IOException, ClassNotFoundException, SQLException
    {
//      System.out.println("这里是export函数");
        FileWriter fw=new FileWriter("d:\\234.txt");
        PrintWriter pw=new PrintWriter(fw);
        Connection con=getconn();
        Statement st=con.createStatement();
        ResultSet rs=st.executeQuery("select * from studinformation where name='"+student+"'");

        while(rs.next())
        {
            for(int i=1;i<rs.getMetaData().getColumnCount();i++)
            {
                pw.append(rs.getString(i)+"\t");
            }
            pw.println();
        }

        st.close();
        pw.close();
        fw.close();
        st.close();
        con.close();


    }
    //******************************输出学生信息到文件*********************************

    public static Connection getconn() throws SQLException, ClassNotFoundException
    {
        Class.forName("com.mysql.jdbc.Driver");
        Connection conn=DriverManager.getConnection("jdbc:mysql://localhost/student?&useSSL=true", "root", "123456");
        return conn;
    }
}

Student class代码

public class Student 
{
    String name;
    String gender;
    int age;
    String teleNo;

    public Student() 
    {

    }

    public Student(String name,String gender,int age,String teleNo) 
    {
        this.name=name;
        this.gender=gender;
        this.age=age;
        this.teleNo=teleNo;
    }
}

考试题目

测试案例题

一.在mysql中建立一下表格
student(id,name,sex,age,telephone)
二.程序中输出主菜单


  • 欢迎使用新趋势学生信息管理系统V1.0 *
  • *
  • 请选择你要执行的命令: *
  • *
  • 1.输入学生信息 2.删除学生信息 *
  • 3.查询学生信息 4.导出学生信息 *
  • 5.退出系统 *


    三.请输入你的选择:

1.如果用户输入1

依次提示

(1)请输入姓名
(2)请输入性别
(3)请输入年龄
(4)请输入电话号码

将接收到的信息存入到数据库中

然后继续显示主菜单√

2.如果用户输入2
提示

请输入要删除的学生的姓名:
接收到姓名后,如果该姓名不存在,提示:你输入的学生不存在。
否则将该学生删除掉。

然后继续显示主菜单

3 .如果用户输入3
则将所有学生信息列出来

然后继续显示主菜单

4 .如果用户输入4
则将所有学生信息写入到一个文本文件d:\data.txt中

然后继续显示主菜单

5.如果用户输入5

显示:再见!欢迎再次使用本系统。

===========================================================

提示:

1.将主菜单的显示放在一个方法中,叫做showMenu();

2.如何让程序不退出,循环接收用户的命令输入

ShowMenu();
Scanner scan=new Scanner(System.in);
int choice=scan.nextInt();
while(choice!=5){
switch(choice){
case 1:
break;
case 2:
break;
case 3:
break;
case 4:
break;
case 5:

}
choice=scan.nextInt();
}

3.保存学生信息,编写一个方法
public void save(Student student)

4.删除学生信息,编写一个方法
public void delete(String name)

5.显示学生信息,编写一个方法
public void show(Student student)

6.导出数据,编写一个方法
public void export(String fileName)

7.因为各处都要获取数据库连接,编写一个获取数据库连接的方法
public Connection getConn()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值