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());
        }
    



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("\u83DC\u5355");
        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("\n"+"name :"+name);
                    textArea.append("\t"+in.readUTF());
                    textArea.append("\t"+in.readUTF());
                    textArea.append("\n----------------------------------------------------------------------------");
                    number++;
                }

                in.close();
            }
            catch(Exception e1){
                System.out.println(e1.getMessage());
                System.out.println("2222");
            }
        }
    }

}

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("\u8F93\u5165\u59D3\u540D");
        box1.add(lblNewLabel);

        lblNewLabel_1 = new JLabel("\u8F93\u5165qq");
        box1.add(lblNewLabel_1);

        lblNewLabel_2 = new JLabel("\u8F93\u5165\u7535\u8BDD");
        box1.add(lblNewLabel_2);

        lblNewLabel_3 = new JLabel("\u5355\u51FB\u5F55\u5165");
        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("\u5F55\u5165");
        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());
        }
    }

}

3

时间: 2024-12-19 00:11:22

IO流+数据库课后习题的相关文章

《七周七语言:理解多种编程范型》のIo课后习题答案

哎,因为上周忙着写OAuth2.0服务端框架草稿 ,耽误了一周学习Io Language了. 本篇习题解答是接着 <七周七语言:理解多种编程范型>のRuby课后习题答案 Io是原型语言,类似于JavaScript,并不区别类和对象,所有的东东都是对象,对象的数据结构就是由键值表来维护的(在Io中就是所谓的槽),通过各种消息传递给对象来实现打印输出,复制对象等功能.因为语法非常简单(也木有语法糖),所以你可以尽情构建自己的库和功能. 第一天: 1. 对1+1求值,然后对1+"one&q

Java笔记(19):IO流(01)

1.try...catch的方式处理异常1 1 package cn.itcast_02; 2 3 /* 4 * 异常:程序出现了不正常的情况. 5 * 6 * 程序的异常:Throwable 7 * 严重问题:Error 我们不处理.这种问题一般都是很严重的,比如说内存溢出. 8 * 问题:Exception 9 * 编译期问题:不是RuntimeException的异常 必须进行处理的,因为你不处理,编译就不能通过. 10 * 运行期问题:RuntimeException 这种问题我们也不处

io流的一些特别用法

之前我们老大给我分配了个任务,要我按数据库表结构建下类,看了一下,尼玛37张表,字段多的有二三十个,想想也是蛋疼,不过还好之前我们老师有给我们说过有一种东西叫敏捷开发,那次给我们演示了下通过io流直接建出一个类,所以我果断的把代码翻出来加工了一下,主要的原理就是先建立模型,把格式固定的代码提取出来,把中间可能会变化的部分用一些特殊单词替换(只要不跟平时的会用到的属性名相同或者包含就行),建立成一个模板(也可以直接写在方法里),然后通过io去读这个模板,并通过字符串的替换.截取等操作把这个模板中的

计算机组成原理_第四版课后习题答案(完整版)

计算机组成原理_第四版课后习题答案(完整版) ?第一章 1.?比较数字计算机和模拟计算机的特点. 解:模拟计算机的特点:数值由连续量来表示,运算过程是连续的: 数字计算机的特点:数值由数字量(离散量)来表示,运算按位进行. 两者主要区别见P1?表1.1. 2.?数字计算机如何分类?分类的依据是什么? 解:分类: 数字计算机分为专用计算机和通用计算机.通用计算机又分为巨型机.大型机. 中型机.小型机.微型机和单片机六类. 分类依据:专用和通用是根据计算机的效率.速度.价格.运行的经济性和适应性来划

IO流的练习 —— 创建用户注册、登陆案例

把上次用集合做的时候的分析拿出来 需求: 用户登录注册案例 按照如下操作,可以让我们更符合面向对象思想: A:这个案例有哪些类 B:每个类中又有哪些东西 C:类与类之间的关系 分析: A:这个案例有哪些类 用户类 测试类 B:每个类中又有哪些东西 用户类: 成员变量:用户名.密码 构造方法:无参构造 成员方法:getXxx().setXxx() 登陆,注册 但,如果用户类的内容过多的时候,维护起来比较麻烦. 所以,为了以后维护起来比较容易,我们需要更清晰的分类: 用户类可以再分为2个类: 用户基

【Android】数据存储-java IO流文件存储

1.数据持久化:将在内存中的瞬时数据保存在存储设备中.瞬时数据:设备关机数据丢失.持久化技术提供一种机制可以让数据在瞬时状态和持久状态之间转换. 2.Android中简单的三种存储方式:文件存储.SharedPreference 存储以及数据库存储. 1.文件存储 :不对数据作任何处理,将数据原封不动地存储到文件中,适合存储一些简单的文本数据和二进制数据. a.将数据存储到文件中 Context类提供了一个openFileOutput()方法,可以用于将数据存储到文件中.这个方法接收两个参数,第

模拟CMOS集成电路 课后习题总结(2.1)

前几天开始自学拉扎维的模设教材,看之前浏览了EETOP论坛里面好多大神们对这本书的看法,当然也有人在抱怨,比如冒出“太科幻”.“一年才看完”之类恐怖的修饰语句,因此在开始看的时候就对此书充满了“敬畏”之情,于是打算以“边看边练”的方法完成课后习题以巩固所学.今天看完了第二章,一个下午只做了2.1-2.5这五道题,看上去不难,做的时候漏洞百出,于是自己打算把遇到的问题回顾一下.由于是半路出家,所以有不对的地方还望各位指出以便改正.刚起步也没做过什么项目,因此说不出什么设计思想,就当是课后习题总结吧

java中的IO流之文件复制

O(∩_∩)O哈哈~ 1.综述 一门成熟的语言肯定具备的几个模块:IO,通信,线程,UI...... Java作为一门成熟的程序语言,其IO流是比较复杂的.上个图大家感受下: 简单分析一下,IO分为两种流:字符流和字节流.字符流的父类Reader(读取到内存)和Writer(从内存输出),字节流的父类InputStream(读取到内存)和OutputStream(从内存输出),然后为了方便各种操作,比如为了文件操作,派生了文件流:为了对象操作,派生了对象流:等等.当初我也是傻傻分不清到底是Inp

黑马程序员-IO流

IO概述 IO流用来处理设备之间的数据传输,java 对数据操作的是通过流的方式 java用于操作流的对象都在IO包中. 流按操作数据分为两种:字节流与字符流 流按流向分为:输入流和输出流 字符流对象中融合了编码表.只有文字涉及到编码 字节流的抽象基类: inputStream,OutputStream 字符流的抽象基类: Reader Writer Writer 方法: write(String str)    写入字符串. write(int c)        写入单个字符. write(