• 20155331第十五周课堂练习


    第十五周课堂练习

    MyOD

    编写MyOD.java 用java MyOD XXX实现Linux下od -tx -tc XXX的功能提交测试代码和运行结果截图。

    代码:

    import java.io.FileInputStream;
    
    import java.io.IOException;
    
    import java.io.InputStream;
    
    public class IO {
    
    public static String format(byte []bt){
    
        int line=0 ;
    
        StringBuilder buf=new StringBuilder() ;
    
        for(byte d:bt){
    
            if(line%16==0)
    
                buf.append(String.format("%05x: ", line)) ;
    
            buf.append(String.format("%02x  ", d)) ;
    
            line++ ;
    
            if(line%16==0)
    
                buf.append("
    ");
    
        }
    
        buf.append("
    ") ;
    
        return buf.toString();
    
    }
    
    public static byte[] readFile(String file) throws IOException{
    
        InputStream is=new FileInputStream(file) ;
    
        int length=is.available() ;
    
        byte bt[]=new byte[length] ;
    
        is.read(bt) ;
    
        return bt;
    
    }
    
    public static  void main(String[]agrs) throws IOException{
    
        byte []bt=IO.readFile("C:\Users\zx50jx\Desktop\20155331.txt");
    
        String hexData=IO.format(bt) ;
    
        System.out.println(hexData);
    
    }
    
    }
    

    教材代码检查-p242

    在IDEA中或命令行中运行P242 StackTraceDemo2.java
    代码运行结果和教材一致吗?为什么?

    代码:

    public class StackTraceDemo2 {
    public static void main(String[] args){
        try{
            c();
        }catch(NullPointerException ex){
            ex.printStackTrace();
        }
    }
    static void c(){
        try{
            b();
        }catch(NullPointerException ex){
            ex.printStackTrace();
            throw ex;
        }
    }
    static void b(){
        a();
    }
    static String a(){
        String text=null;
        return text.toUpperCase();
    }
    }
    

    不完全一致,

    MyCP

    编写MyCP.java 实现类似Linux下cp XXX1 XXX2的功能,要求MyCP支持两个参数:

    • java MyCP -tx XXX1.txt XXX2.bin 用来把文本文件(内容为十进制数字)转化为二进制文件

    • java MyCP -xt XXX1.bin XXX2.txt 用来二进制文件把转化为文本文件(内容为十进制数字)

    代码:

    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.*;
    
    /**
    
      * Created by 10337 on 2017/5/31.
    
     */
    import java.io.*;
    
     public class MyCP
     {  
    public static void main(String[] args) throws IOException {
        FileInputStream in = new FileInputStream(args[1]);
        FileOutputStream out = new FileOutputStream(args[2]);
        String str = new String(args[0]);
    
        byte[] data = new byte[1024];
        int length;
        if(str.equals("-tx")){
            while((length = in.read(data)) != -1){
    
                int number = data.hashCode();
                String binaryNum = Integer.toBinaryString(number);
                data = binaryNum.getBytes();
    
                out.write(data); // 5 toBinary :101
    
            }
        }
        else if(str.equals("-xt")){
            while((length = in.read(data)) != -1){
                int number = data.hashCode();
                String binaryNum = Integer.toString(number);
                data = binaryNum.getBytes();
    
                out.write(data); // 5 toBinary :101
    
            }
        }
    
    }
    }
    

  • 相关阅读:
    Caused by: com.mysql.cj.core.exceptions.InvalidConnectionAttributeException: The server time zone value '�й���׼ʱ��' is unrecognized or represents more than one time zone. You must configure either the
    Caused by: java.lang.IllegalArgumentException: @EnableAsync annotation metadata was not injected
    jpa单向一对一关系外键映射
    jpa关联映射
    svn 插件去除已经保存的密码方法
    【前端】less学习
    【CodeForces 520E】Pluses everywhere
    费马小定理证明
    【前端】纯前端的一个‘喜欢我吗?’
    Sublime text3 插件HTML/CSS/JS prettify 格式化代码
  • 原文地址:https://www.cnblogs.com/dd1174751354/p/6931401.html
Copyright © 2020-2023  润新知