《Java程序设计》第15周课堂实践总结

实践一 教材代码检查-p242

要求

在IDEA中或命令行中运行P242 StackTraceDemo2.java

代码运行结果和教材一致吗?为什么?

代码

/**
* Created by crazymosquito on 2017/3/28.
*/
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();
}
}

我的作答

有区别,因为包不同

我运行的结果是:at StackTraceDemo2.a(StackTraceDemo2.java:25)

教材上是:at cc.openhome.StackTraceDemo2.a(StackTraceDemo2.java:28)

教材代码上定义了包package cc.openhome;而我的代码则缺省了package的定义。

运行结果截图

实践二 MyOD

要求

编写MyOD.java 用java MyOD XXX实现Linux下od -tx -tc XXX的功能

提交测试代码和运行结果截图,加上学号水印,提交码云代码链接。

深入学习Linux下od命令

命令格式:

od [<选项><参数>] [<文件名>]

-t命令详解:

-t<TYPE>,--format=TYPE:指定输出格式,格式包括a、c、d、f、o、u和x,各含义如下:

a:具名字符;

c:ASCII字符或者反斜杠

d[SIZE]:十进制,正负数都包含,SIZE字节组成一个十进制整数;

f[SIZE]:浮点,SIZE字节组成一个浮点数;

o[SIZE]:八进制,SIZE字节组成一个八进制数;

u[SIZE]:无符号十进制,只包含正数,SIZE字节组成一个无符号十进制整数;

x[SIZE]:十六进制,SIZE字节为单位以十六进制输出,即输出时一列包含SIZE字节

代码

IO源代码(教材P305-306)

import java.io.*;

public class IO {
public static void dump(InputStream src, OutputStream dest)
throws IOException {
try (InputStream input = src; OutputStream output = dest) {
byte[] data = new byte[1024];
int length;
while ((length = input.read(data)) != -1) {
output.write(data, 0, length);
}
}
}
}

我的代码

IO.java:
/**
* Created by hp430 on 2017/5/31.
*/
import java.io.*; public class IO {
public static void dump(InputStream src, OutputStream dest)
throws IOException {
try (InputStream input = src; OutputStream output = dest) {
byte[] data = new byte[1024];
int k=input.read(data,0,data.length);
System.out.println(new String(data));
for(int i=0;i<data.length;i++) {
if(data[i]!=0) {
System.out.printf("%c ",data[i]);
if(i%16==0&&i!=0) {
System.out.println();
}
}
}
System.out.println();
int[] in=new int[data.length];
for(int i=0;i<in.length;i++) {
in[i]=data[i]&0xff;
}
for(int i=0;i<data.length;i++) {
if(in[i]!=0) {
System.out.print(Integer.toString(in[i],0x10)+" ");
if(i%16==0&&i!=0) {
System.out.println();
}
}
}
System.out.println();
/*int length;
while ((length = input.read(data)) != -1) {
output.write(data, 0, length);
}*/
}
}
}
MyOD20155314.java:
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException; /**
* Created by hp430 on 2017/5/31.
*/
public class MyOD20155314 {
public static void main(String[] args) throws IOException {
IO.dump(new FileInputStream(args[0]),System.out);
}
}

运行结果截图

参考资料

《Java程序设计》第15周课堂实践总结的更多相关文章

  1. Java程序设计 第16周 课堂实践 —— 数据库4

    Java程序设计 第16周 课堂实践 -- 数据库4 课堂实践任务4 查询world数据库,查询哪个国家的平均寿命最长. 代码分析 实现查询数据库需要我们修改Message.java,MessageD ...

  2. Java程序设计 第16周 课堂实践 —— 数据库3

    Java程序设计 第16周 课堂实践 -- 数据库3 课堂实践任务3 查询world数据库,获得New Jessey州所有城市的总人口数. 代码分析 实现查询数据库需要我们修改MessageDAO.j ...

  3. Java程序设计 第16周 课堂实践

    Java程序设计 第16周 课堂实践 -- 数据库2 课堂实践任务2 查询world数据库,获得人口超过500万的所有城市的列表. 代码分析 实现查询数据库需要我们修改Message.java,Mes ...

  4. 20145209刘一阳《JAVA程序设计》第九周课堂测试

    第九周课堂测试 1.域名解析服务器(ARP)负责将域名转化为IP地址,从而与主机连接.(B) A .true B .false 2.下列关于URL类的说法,正确的是(BD) A .URL 类自身可根据 ...

  5. 20145209刘一阳《JAVA程序设计》第二周课堂测试

    第二周课堂测试 1.if关键字后面的小括号内,表达式的值可以为10.(B) A .true B .false 2.表达式0xaa | 0x55的值为(C) A .FF B .0 C .255 D .1 ...

  6. 20145209刘一阳《JAVA程序设计》第一周课堂测试

    第一周课堂测试 1.下列不属于Java后继技术的是(D) A .Android B .JSP C .XML D .Python 2.下列关于Java语言特点的描述,正确的一组是(C) A .面向过程: ...

  7. 《Java程序设计》第12周课堂实践总结

    <Java程序设计>第12周课堂实践总结 实践一 教材代码检查-p98 要求 修改教材P98 Score2.java, 让执行结果数组填充是自己的学号: 提交在IDEA或命令行中运行结查截 ...

  8. 20172319 2018.10.19《Java程序设计教程》第7周课堂实践(补写博客)

    20172319 2018.10.19 <Java程序设计教程>第7周课堂实践 课程:<程序设计与数据结构> 班级:1723 学生:唐才铭 学号:20172319 指导老师:王 ...

  9. 20155320 2016-2017-2《Java程序设计》第十二周课堂实践项目

    20155320 2016-2017-2<Java程序设计>第十二周课堂实践项目 1.修改教材P98 Score2.java, 让执行结果数组填充是自己的学号: 2.在IDEA中以TDD的 ...

随机推荐

  1. Java - 数组JVM角度详解

    http://developer.51cto.com/art/201001/176671.htm

  2. problem-solving-with-algorithms-and-data-structure-usingpython(使用python解决算法和数据结构) -- 基本数据结构 -- 队列

    1. 什么是队列? 队列是项的有序结合,其中添加新项的一端称为队尾,移除项的一端称为队首. FIFO:先进先出 2. 队列抽象数据类型 队列操作如下: Queue() 创建一个空的新队列. 它不需要参 ...

  3. 如何去掉iview里面的input,button等一系列标签自带的蓝色边框

    只需要将这些标签加一个:focus{outline:0}即可解决这个问题

  4. excel导入 服务器忘了装组件了。。。

    excel导入 本地没问题 一直在找权限问题  最后发现服务器忘了装组件了... 郁闷 记录下 http://www.microsoft.com/zh-cn/download/confirmation ...

  5. 地图的可视化--Folium

    1.安装folium pip install MarkupSafe-0.23-cp34-none-win_amd64.whl pip install Jinja2-2.8-py2.py3-none-a ...

  6. PHP自定义函数&数组

    <?php//生成随机数 和 时间函数//echo rand();//echo "<br>";//echo rand(0,10);//echo time();// ...

  7. node(2)

    //app.js var express = require("express"); //以后的时后处理POST DELETE PATCH CHECKOUT 这些请求都可以用for ...

  8. Maven环境变量配置和在Eclipse中的配置

    1.Maven环境变量配置 M2_HOME :变量值为maven的安装目录 在path后添加%M2_HOME%\bin; 检查JDK,maven配置的cmd命令 echo %JAVA_HOME% ja ...

  9. Oracle EBS 启动调试日志

    SELECT   * FROM dba_source t WHERE t.TEXT LIKE '%PO_PDOI_TAX_CALCULATION_ERR%' FND:启用调试日志 FND:调试日志级别 ...

  10. C++虚函数原理

    类中的成员函数分为静态成员函数和非静态成员函数,而非静态成员函数又分为普通函数和虚函数. Q: 为什么使用虚函数 A: 使用虚函数,我们可以获得良好的可扩展性.在一个设计比较好的面向对象程序中,大多数 ...