zoukankan      html  css  js  c++  java
  • IO流+数据库课后习题

    1,读取 试题文件 然后做题算分

            File file1=new File("D:\file","test.txt");
            try{
                FileReader in1=new FileReader(file1);
                BufferedReader in2=new BufferedReader(in1);
                String s;
                int count=0;
                for(;(s=in2.readLine())!=null;){
                    if(!s.startsWith("-")){
                        System.out.println(s);
                    }
                    else{
                        System.out.print("input your answer: ");
                        s=s.replaceAll("-","");
                        String daan;
                        Scanner scanner1=new Scanner(System.in);
                        daan=scanner1.next();
                        if(s.equals(daan)){
                            count++;
                        }
                    }
                }
                System.out.println("point "+count);
            }
            catch(Exception e){
                System.out.println(e.getMessage());
            }
        
    View Code


    2,用卡片布局做两个页面,来输入和输出

    package testWin;
    
    import java.awt.EventQueue;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.io.*;
    
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    import javax.swing.JTextArea;
    import javax.swing.JMenuBar;
    import javax.swing.JMenu;
    import javax.swing.JMenuItem;
    import java.awt.CardLayout;
    
    public class TestWin implements ActionListener {
        //使用卡片式布局,由菜单栏调用两个页面
        private JFrame frame;
        File file1;
        JMenuItem input = new JMenuItem("input");
        JMenuItem show = new JMenuItem("show");
        InputArea inputMessage;
        CardLayout card;
        JPanel panel;
        JTextArea textArea;
        /**
         * Launch the application.
         */
        public static void main(String[] args) {
            EventQueue.invokeLater(new Runnable() {
                public void run() {
                    try {
                        TestWin window = new TestWin();
                        window.frame.setVisible(true);
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                }
            });
        }
    
        /**
         * Create the application.
         */
        public TestWin() {
            initialize();
        }
    
        /**
         * Initialize the contents of the frame.
         */
        private void initialize() {
            file1=new File("D:\file","test.txt");
            frame = new JFrame();
            frame.setBounds(100, 100, 450, 300);
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            
            JMenuBar menuBar = new JMenuBar();
            frame.setJMenuBar(menuBar);
            
            JMenu menu = new JMenu("u83DCu5355");
            menuBar.add(menu);
            
            menu.add(input);
            
            menu.add(show);
            
            input.addActionListener(this);
            show.addActionListener(this);
            
            textArea=new JTextArea(12,50);
            inputMessage=new InputArea(file1);
            card=new CardLayout();
            panel=new JPanel();
            panel.setLayout(card);
            panel.add("input",inputMessage);
            panel.add("show",textArea);
            frame.add(panel);
        }
    
        @Override
        public void actionPerformed(ActionEvent e) {
            // TODO 自动生成的方法存根
            if(e.getSource()==input){
                card.show(panel, "input");
            }
            else if(e.getSource()==show){
                int number=1;
                textArea.setText(null);
                card.show(panel, "show");
                try{
                    RandomAccessFile in=new RandomAccessFile(file1,"r");
                    String name=null;
                    for(;(name=in.readUTF())!=null;){
                        textArea.append("
    "+"name :"+name);
                        textArea.append("	"+in.readUTF());
                        textArea.append("	"+in.readUTF());
                        textArea.append("
    ----------------------------------------------------------------------------");
                        number++;
                    }
                    
                    in.close();
                }
                catch(Exception e1){
                    System.out.println(e1.getMessage());
                    System.out.println("2222");
                }
            }
        }
    
    }
    View Code
    package testWin;
    
    import javax.swing.JPanel;
    import java.awt.Color;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.io.*;
    
    import javax.swing.*;
    import javax.swing.BoxLayout;
    import javax.swing.JLabel;
    
    public class InputArea extends JPanel implements ActionListener{
    
        /**
         * Create the panel.
         */
        File file1;
        RandomAccessFile out1;//运用盒式布局,然后用随机流输入到文件
        Box baseBox,box1,box2;
        JButton button1;
        private JLabel lblNewLabel;
        private JLabel lblNewLabel_1;
        private JLabel lblNewLabel_2;
        private JLabel lblNewLabel_3;
        private JTextField text1;
        private JTextField text2;
        private JTextField text3;
        private JButton button;
        public InputArea(File f) {
            setForeground(Color.CYAN);
            this.file1=f;
            baseBox=Box.createHorizontalBox();
            box1=Box.createVerticalBox();
            box2=Box.createVerticalBox();
            baseBox.add(box1);
            
            lblNewLabel = new JLabel("u8F93u5165u59D3u540D");
            box1.add(lblNewLabel);
            
            lblNewLabel_1 = new JLabel("u8F93u5165qq");
            box1.add(lblNewLabel_1);
            
            lblNewLabel_2 = new JLabel("u8F93u5165u7535u8BDD");
            box1.add(lblNewLabel_2);
            
            lblNewLabel_3 = new JLabel("u5355u51FBu5F55u5165");
            box1.add(lblNewLabel_3);
            baseBox.add(box2);
            
            text1 = new JTextField();
            box2.add(text1);
            text1.setColumns(10);
            
            text2 = new JTextField();
            box2.add(text2);
            text2.setColumns(10);
            
            text3 = new JTextField();
            box2.add(text3);
            text3.setColumns(10);
            
            button = new JButton("u5F55u5165");
            box2.add(button);
            add(baseBox);
            button.addActionListener(this);
            
        }
        @Override
        public void actionPerformed(ActionEvent e) {
            // TODO 自动生成的方法存根
            try{
                RandomAccessFile out1=new RandomAccessFile(file1,"rw");
                long length=file1.length();
                out1.seek(length);
                out1.writeUTF("姓名 : "+text1.getText());
                out1.writeUTF("qq : "+text2.getText());
                out1.writeUTF("电话 : "+text3.getText());
                out1.close();
                text1.setText(null);
                text2.setText(null);
                text3.setText(null);
            }
            catch(Exception e1){
                System.out.println(e1.getMessage());
            }
        }
        
    }
    View Code

    3,编译器(编译可以,链接有bug

    主类

    package testWin;
    
    import java.awt.BorderLayout;
    import java.awt.EventQueue;
    
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    import javax.swing.border.EmptyBorder;
    import java.awt.FlowLayout;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.io.*;
    
    import javax.swing.JButton;
    import javax.swing.JLabel;
    import javax.swing.JTextField;
    
    public class TestFrame extends JFrame implements ActionListener{
    
        private JPanel contentPane;
        private JTextField text1;
        private JTextField text2;
        JButton button1 = new JButton("u7528u8BB0u4E8Bu672Cu7F16u8F91u6E90u6587u4EF6");
        JButton button2 = new JButton("u7F16u8BD1");
        JButton button3 = new JButton("u8FD0u884C");
        /**
         * Launch the application.
         */
        public static void main(String[] args) {
            EventQueue.invokeLater(new Runnable() {
                public void run() {
                    try {
                        TestFrame frame = new TestFrame();
                        frame.setVisible(true);
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                }
            });
        }
    
        /**
         * Create the frame.
         */
        public TestFrame() {
            setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            setBounds(100, 100, 869, 111);
            contentPane = new JPanel();
            contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
            setContentPane(contentPane);
            contentPane.setLayout(new FlowLayout(FlowLayout.CENTER, 5, 5));
            
            
            contentPane.add(button1);
            
            JLabel label = new JLabel("   u8F93u5165u6587u4EF6u540D uFF1A");
            contentPane.add(label);
            
            text1 = new JTextField();
            contentPane.add(text1);
            text1.setColumns(15);
            
            contentPane.add(button2);
            
            JLabel label_1 = new JLabel("   u8F93u5165u4E3Bu7C7Bu540DuFF1A");
            contentPane.add(label_1);
            
            text2 = new JTextField();
            contentPane.add(text2);
            text2.setColumns(13);
            
            contentPane.add(button3);
            button1.addActionListener(this);
            button2.addActionListener(this);
            button3.addActionListener(this);
        }
    
        @Override
        public void actionPerformed(ActionEvent e) {
            // TODO 自动生成的方法存根
            if(e.getSource()==button1){
                System.out.println("dd");
                Runtime ce=Runtime.getRuntime();
                File file1=new File("D:\javaWorkSpace\Test\src\test22","test2.java");
    //            File file1=new File("D:\file","test.java");
                try{
                    ce.exec(file1.getAbsolutePath());
                }
                catch(Exception e1){
                    System.out.println(e1.getMessage());
                }
            }
            else if(e.getSource()==button2){
                CompileDialog compileDialog=new CompileDialog();
                String name=text1.getText();
                compileDialog.compile(name);
                compileDialog.setVisible(true);
            }
            else if(e.getSource()==button3){
                RunDialog runDialog=new RunDialog();
                String name=text2.getText();
                runDialog.run(name);
                runDialog.setVisible(true);
            }
        }
    
    }
    View Code

    编译类

    package testWin;
    
    import java.awt.BorderLayout;
    import java.awt.FlowLayout;
    import java.io.BufferedInputStream;
    import java.io.IOException;
    import java.io.InputStream;
    
    import javax.swing.JButton;
    import javax.swing.JDialog;
    import javax.swing.JPanel;
    import javax.swing.border.EmptyBorder;
    import javax.swing.JScrollPane;
    import javax.swing.JTextArea;
    
    public class CompileDialog extends JDialog {
    
        private final JPanel contentPanel = new JPanel();
        JTextArea textArea = new JTextArea(14,70);
        /**
         * Launch the application.
         */
        public static void main(String[] args) {
            try {
                CompileDialog dialog = new CompileDialog();
                dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
                dialog.setVisible(true);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    
        /**
         * Create the dialog.
         */
        public CompileDialog() {
            setBounds(100, 100, 871, 502);
            getContentPane().setLayout(new BorderLayout());
            contentPanel.setLayout(new FlowLayout());
            contentPanel.setBorder(new EmptyBorder(5, 5, 5, 5));
            getContentPane().add(contentPanel, BorderLayout.CENTER);
            {
                JScrollPane scrollPane = new JScrollPane();
                contentPanel.add(scrollPane);
                {
                    scrollPane.setViewportView(textArea);
                }
            }
            {
                JPanel buttonPane = new JPanel();
                buttonPane.setLayout(new FlowLayout(FlowLayout.RIGHT));
                getContentPane().add(buttonPane, BorderLayout.SOUTH);
                {
                    JButton okButton = new JButton("OK");
                    okButton.setActionCommand("OK");
                    buttonPane.add(okButton);
                    getRootPane().setDefaultButton(okButton);
                }
                {
                    JButton cancelButton = new JButton("Cancel");
                    cancelButton.setActionCommand("Cancel");
                    buttonPane.add(cancelButton);
                }
            }
        }
    
            public void compile(String name){
            try{
                Runtime ce=Runtime.getRuntime();
                Process proccess =ce.exec("javac "+name);
                InputStream in1=proccess.getErrorStream();
                BufferedInputStream in2=new BufferedInputStream(in1);
                int n;
                boolean bn=true;
                byte error[]=new byte[100];
                for(;(n=in2.read(error,0,100))!=-1;){
                    String s=null;
                    s=new String(error,0,n);
                    textArea.append(s);
                    if(s!=null)bn=false;
                }
                if(bn)
                    textArea.append("编译正确");
            }
            catch(IOException e2){
                System.out.println(e2.getMessage());
            }
            }
    }
    View Code

    运行类

    package testWin;
    
    import java.awt.BorderLayout;
    import java.awt.FlowLayout;
    import java.io.BufferedInputStream;
    import java.io.FileInputStream;
    import java.io.IOException;
    import java.io.InputStream;
    
    import javax.swing.JButton;
    import javax.swing.JDialog;
    import javax.swing.JPanel;
    import javax.swing.border.EmptyBorder;
    
    
    import javax.swing.JScrollPane;
    import javax.swing.JTextArea;
    
    public class RunDialog extends JDialog {
    
        private final JPanel contentPanel = new JPanel();
        JTextArea textArea = new JTextArea(14,20);
        /**
         * Launch the application.
         */
        public static void main(String[] args) {
            try {
                RunDialog dialog = new RunDialog();
                dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
                dialog.setVisible(true);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    
        /**
         * Create the dialog.
         */
        public RunDialog() {
            setBounds(100, 100, 686, 448);
            getContentPane().setLayout(new BorderLayout());
            contentPanel.setLayout(new FlowLayout());
            contentPanel.setBorder(new EmptyBorder(5, 5, 5, 5));
            getContentPane().add(contentPanel, BorderLayout.CENTER);
            {
                JScrollPane scrollPane = new JScrollPane();
                contentPanel.add(scrollPane);
                {
                    scrollPane.setViewportView(textArea);
                }
            }
            {
                JPanel buttonPane = new JPanel();
                buttonPane.setLayout(new FlowLayout(FlowLayout.RIGHT));
                getContentPane().add(buttonPane, BorderLayout.SOUTH);
                {
                    JButton okButton = new JButton("OK");
                    okButton.setActionCommand("OK");
                    buttonPane.add(okButton);
                    getRootPane().setDefaultButton(okButton);
                }
                {
                    JButton cancelButton = new JButton("Cancel");
                    cancelButton.setActionCommand("Cancel");
                    buttonPane.add(cancelButton);
                }
            }
        }
        public void run(String name){
            try{
                Runtime ce1=Runtime.getRuntime();
                Process proccess=ce1.exec("java "+name);
                InputStream in1=proccess.getInputStream();
                BufferedInputStream in2=new BufferedInputStream(in1);
                byte a[]=new byte[100];
                int n;
                for(;(n=in2.read(a,0,100))!=-1;){
                    String s=new String(a,0,n);
                    textArea.append(s);
                    if(s==null)
                    System.out.println("333");
                }
                System.out.println(n);
                System.out.println("444");
            }
            catch(Exception e){
                System.out.println(e.getMessage());
            }
        }
        
    }
    View Code


    4,和第一个一样,读取数据库来答题,

    import java.io.*;
    import java.util.Scanner;
    import java.sql.*;
    
    public class Test {
        public static void main(String args[]){
            ReadTest test1=new ReadTest();
            test1.setDatabase("Kooing");
            test1.setTable("test");
            int number=test1.getNumber();
            System.out.println("There are "+number+" question what are you want to answer");
            Scanner scanner1=new Scanner(System.in);
            for(;scanner1.hasNextInt();){
                int num=scanner1.nextInt();
                String huiche=scanner1.nextLine();
                test1.setQusetion(num);
                String s=test1.getQusetion();
                System.out.println(s);
                System.out.println("input your answer :");
                String s2=scanner1.nextLine();
    //            String huiche=scanner1.nextLine();
                if(s2.equals(test1.getAnswer().trim())){
                    System.out.println("right");
                }
                else{
                    System.out.println("error");
                }
                System.out.println("There are "+number+" question what are you want to answer");
            }
        }
    }
    
    class ReadTest{
        private Connection con;
        private Statement sql;
        private ResultSet rs;
        private String database,table,daan,wenti;
        private int question;
        ReadTest(){
            try{
                Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
            }
            catch(Exception e){
                System.out.println(e.getMessage());
                System.out.println("1111");
            }
        }
        void setDatabase(String a){
            database=a;
            try{
                con=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;DatabaseName="+database,"sa","kenn5666225");
            }
            catch(Exception e2){
                System.out.println(e2.getMessage());
                System.out.println("2222222222");
            }
        }
        void setTable(String a){
            table=a;
            try{
                sql=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
                rs=sql.executeQuery("select *from "+table);
            }
            catch(Exception e3){
                System.out.println(e3.getMessage());
                System.out.println("33333333");
            }
        }
        int getNumber(){
            int n=0;
            try{
                rs.last();
                n=rs.getRow();
            }
            catch(Exception e4){
                System.out.println(e4.getMessage());
                System.out.println("444444444");
            }
            return n;
        }
        void setQusetion(int a){
            question=a;
        }
        String getQusetion(){
            try{
                rs.absolute(question);
                wenti=rs.getString(1)+"
    "+rs.getString(2)+"
    "+rs.getString(3)+"
    "+rs.getString(4)+"
    "+rs.getString(5);
            }
            catch(Exception e5){
                System.out.println(e5.getMessage());
                System.out.println("55555555");
            }
            return wenti;
        }
        String getAnswer(){
            try{
                daan=rs.getString(6);
            }
            catch(Exception e6){
                System.out.println(e6.getMessage());
                System.out.println("6666666666");
            }
            return daan;
        }
    }
    View Code

  • 相关阅读:
    BZOJ3543: [ONTAK2010]Garden
    python初识面向对象
    python装饰器
    python递归函数及二分法查找
    python内置函数及匿名函数
    生成器和生成器函数以及各种推导式
    第一类对象 函数名 变量名
    函数的进阶
    Python初始函数
    Python文件操作
  • 原文地址:https://www.cnblogs.com/vhyc/p/6052781.html
Copyright © 2011-2022 走看看