20155310 2016-2017-2《Java程序设计》课堂实践补交

第九周

程序设计中临时变量的使用

public class linshibianliang {

public static int[] insert(int a[], int index, int value) {

    int b[] = new int[a.length + 1];

    for (int i = 0; i < b.length; i++) {

        if (i < index - 1) {

            b[i] = a[i];

        }

        if (i == index - 1) {

            b[i] = value;

        }

        if (i > index - 1) {

            b[i] = a[i - 1];

        }

    }

    return b;

}

public static void printArray(int a[]) {

    for (int i = 0; i < a.length; i++) {

        System.out.print(a[i] + " ");

    }

    System.out.println();

}

public static int[] delete(int a[], int index) {

    int b[] = new int[a.length - 1];

    for (int i = 0; i < b.length; i++) {

        if (i < index - 1) {

            b[i] = a[i];

        } else {

            b[i] = a[i + 1];

        }

    }

    return b;

}

public static void main(String args[]) {

    int[] a = { 1, 2, 3, 4, 5, 6 ,7,8};

    int[]b = delete(a, 5);

    printArray(b);

    b = insert(a, 4, 5);

    printArray(b);

}

}



我记得当时电脑上课时候没电了,下课之后就忘记了这个事情。现在来看比较简单

第十周

递归

代码

public class TestArgs2 {

static int j=0,k;

static int sum = 0;

public static void main(String [] args) {

    Integer num[] = new Integer[args.length];

    int[] num1 = new int[args.length];

    k = args.length;

    for(int i=0;i<args.length;i++) {

        num[i] =Integer.parseInt(args[i]);

        num1[i] = num[i].intValue();

    }

    clSum(num1);

    System.out.println(sum);

}

public static void  clSum(int [] arr) {

    if(j<k) {

        sum += arr[j];

        j++;

        clSum(arr);

    }

}

}

在学霸的带领下一步步学明白的,真的是费劲。还好最后是通过的。

命令行参数

代码:

package cc.openhome;

public class TestArgs {

public static void main(String [] args) {

    int sum = 0;

    int arr[]=new int[args.length];

    for(int i=0;i<args.length;i++){

        arr[i]=Integer.parseInt(args[i]);

        sum+=arr[i];

    }
System.out.println(sum); }

第十一周

代码检查-P74

public class a
{
public static void main(String[] args) {
for(int i=1;i<10;i++)
{
for(int j=2;j<i;j++)
{
System.out.printf("%d*%d=%2d " ,j,i , j*i);
}
System.out.println();
}
}
}//

这个代码为下三角,如果要改为上三角只需要将“j<i”改为"j<10-i"即可。

我发现懂得怎么改之后,敲代码还是有些趣味的,有种豁然开朗的感觉~

表达式后缀表达式

a b * c d e / - f * +

猛地发现自己当时连个后缀表达式都没交。。很懊恼

简易计算器

代码

public class Calc {

    public static void main(String[] args) {

        int[] arr = new int[2];

        char op;

        int result = 0;

        if(args.length==3){

            arr[0] = Integer.parseInt(args[0]);

            arr[1] = Integer.parseInt(args[2]);

            op = args[1].charAt(0);

            switch(op) {

                case '+':

                    result = arr[0] + arr[1];

                    break;

                case '-':

                    result = arr[0] - arr[1];

                    break;

                case '*':

                    result = arr[0] * arr[1];

                    break;

                case '/':

                    result = arr[0] / arr[1];

                    break;

                case '%':

                    result = arr[0] % arr[1];

                    break;

                default:

                    System.out.println("error!");

            }

            System.out.println(args[0] + " " + args[1] + " " + args[2] + " = " + result );

        }

    }

}



这个代码找了好久,真的是不容易。看到简易计算器名称时候我就很感兴趣,所以这个实验是我当时做出来的。后来问到是需要当面找您验收,就有点怕,就没交,现在想想很蠢...

第十二周

教材代码检查-p98

代码:

import java.util.Arrays;
public class Score2 {
public static void main(String[] args) {
int[] scores=new int[10];
for(int score:scores){
System.out.printf("%2d",score);
}
System.out.println();
Arrays.fill(scores,20155310);
for(int score:scores){
System.out.printf("%3d ",score);
}
}
}

so essay~感觉自己好强!我是不是有点太膨胀了...

第十三周

教材代码检查-p145

代码:

import junit.framework.TestCase;
import org.testng.annotations.Test; /**
* Created by myl on 2017/6/11.
*/
public class MathToolTest extends TestCase {
@Test
public void testSum() throws Exception {
assertEquals(7,7);
assertEquals(5,MathTool.sum(2,3));
assertEquals(14,MathTool.sum(2,3,4,5));
assertEquals(2,MathTool.sum(0,0,2));
assertEquals(21,MathTool.sum(1,2,3,4,5,6));
assertEquals(-10,MathTool.sum(-4,-6));
} }

代码是我的idea是别人的很气,idea真的坏了只能用着别人的idea流着自己的泪,

第十四周

没有~

第十五周

Myod

代码:

import java.io.FileInputStream;

import java.io.IOException;

import java.io.InputStream;

public class MyOD {

public static String format(byte []bt){

int line=0 ;

StringBuilder buf=new StringBuilder() ;

for(byte d:bt){

if(line%160)

buf.append(String.format("%05x: ", line)) ;

buf.append(String.format("%02x ", d)) ;

line++ ;

if(line%160)

buf.append("\n");

}

buf.append("\n") ;

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=MyOD.readFile("~//20155310\src\MyOD.txt");

String hexData=MyOD.format(bt) ;

System.out.println(hexData);

}

}

Mycp

代码:

import java.io.*;

public class CharUtilxt {

    public static void dump(Reader src, Writer dest) throws IOException {

        try(Reader input = src; Writer output = dest) {

            char[] data = new char[8];

            char []ch = new char[1];

            while((input.read(data)) != -1) {

                String str="";

                for(int i=0;i<8;i++)

                {

                    str+=data[i];

                }

                int ten=Integer.valueOf(str,2);

                ch[0]=(char)ten;

                output.write(ch, 0, 1);

                output.write(" ");

            }

        }

    }

}

第十六周

数据库-3,-4,-5

这三个真的不会弄,周二还有一场考试,感觉时间不够用了,很无奈。

我真的是很想学会这个数据库调用,可是我抱的学霸也不会...这就很尴尬了...

6月11日 代码检查补交

1.代码如下:

import java.util.*;

public class MySort {

    public static void main(String[] args) {
int[] arr = new int[10];
for(int i=0;i<args.length;i++)
{
arr[i]=Integer.parseInt(args[i]);
} for(int i=0;i<args.length-1;i++){
for(int j=0;j<args.length-i-1;j++){
if(arr[j]>arr[j+1]){
int temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
for(int i=0;i<args.length;i++)
{
System.out.printf("%d ",arr[i]);
}
}
}

这个代码我是真的会做,但是无奈idea被我搞坏了,上午就没办法了。但是老师请相信我,代码我是真的会的!!!

回去立刻拿同学的电脑做出来,现在补交上去...

代码如下:

package cc.openhome;

public class SimpleLinkedList {

private class Node {

Node(Object o) {

this.o = o;

}

Object o;

Node next;

}

private Node first;

public void add(Object elem) {
Node node = new Node(elem);
if(first == null) {
first = node;
}
else {
append(node);
}
} private void append(Node node) {
Node last = first;
while(last.next != null) {
last = last.next;
}
last.next = node;
} public int size() {
int count = 0;
Node last = first;
while(last != null) {
last = last.next;
count++;
}
return count;
} public Object get(int index) {
checkSize(index);
return findElemOf(index);
} private void checkSize(int index) throws IndexOutOfBoundsException {
int size = size();
if(index >= size) {
throw new IndexOutOfBoundsException(
String.format("Index: %d, Size: %d", index, size));
}
} private Object findElemOf(int index) {
int count = 0;
Node last = first;
while(count < index) {
last = last.next;
count++;
}
return last.elem;
}
public static void main(String[] args) {
SimpleLinkedList Sim=new SimpleLinkedList();
System.out.println(Sim.size());
}

}

这道题简化之后还是很好做的~但是让插入1再插2再将3插入两者之间我是真的不太会,但是简化之后还算轻松。

写在最后

其实这篇博客是我很早以前就有的想法,从上午检查完代码我就一直在完善这篇博客,当然这篇博客的初衷只是想看看自己有多少不会的题,但也确实没想到会落得个不及格的成绩。感觉很懊悔,当初没有足够重视这门课程,对当初的自己很生气!!现在的悔改看起来有点晚,但是我保证下学期您的课程我一定会好好学!这篇博客的补交也只是想证明一下有些东西是我会的,有些东西是我学到的。我已经知道了同学之间的差距,现在的学霸真的把我甩一条街...但我不会气馁的!在下个学期我会尽力去追赶!学习为本,勿忘本心。

20155310 2016-2017-2《Java程序设计》课堂实践补交的更多相关文章

  1. 2017-2018-1 20155320 《信息安全系统设计基础》第四周学习总结(课堂实践补交+myhead与mytail加分项目)

    2017-2018-1 20155320 <信息安全系统设计基础>第四周学习总结(课堂实践补交+myhead与mytail实现) 课堂实践内容 1 参考教材第十章内容 2 用Linux I ...

  2. 201671010127 2016—2017—2 Java怎样解决Java程序中中文乱码的问题。

    这是本次第二次分享新手在编程中遇到的问题,相信很多Java新手和我一样,在Java编程中会遇到中文乱码的情况,下面我就给大家分享我遇到问题和解决问题的具体过程. 我先用Notepad++写了一个如下的 ...

  3. 201671010127 2016—2017—2 Java学习周结

    时间真是个最公平东西,只要能够好好地利用它,它可以为我们带来我们我们所想要的东西.学习Java已经有一周了,对于Java基础知识的认识也更进一步,对Java的兴趣也愈来愈浓.实现一个Java程序,主要 ...

  4. 20155317 2016-2017-2《Java程序设计》课程总结

    20155317 2016-2017-2<Java程序设计>课程总结 每周作业链接汇总 新玮的首发博客:对师生关系的期望. C语言与java 20155317 王新玮第二次:语言掌握调查 ...

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

    <Java程序设计>第15周课堂实践总结 实践一 教材代码检查-p242 要求 在IDEA中或命令行中运行P242 StackTraceDemo2.java 代码运行结果和教材一致吗?为什 ...

  6. 《Java 程序设计》课堂实践项目-Arrays和String单元测试

    <Java 程序设计>课堂实践项目-Arrays和String单元测试 课后学习总结 目录 改变 Arrays和String单元测试实验要求 课堂实践成果 课后思考 改变 修改了博客整体布 ...

  7. 20155322 《Java程序设计》课堂实践项目 数据库-3-4

    20155322 <Java程序设计>课堂实践项目 数据库-3-4 数据库-3 实践要求 参考教材代码完成下面的要求,提交能连接到world的截图(有学号水印),并提交代码的码云链接.查询 ...

  8. 20155322 《Java程序设计》课堂实践项目MyOD

    20155322 <Java程序设计>课堂实践项目MyOD 实践要求 编写MyOD.java 用java MyOD XXX实现Linux下od -tx -tc XXX的功能 提交测试代码和 ...

  9. 《Java程序设计》课堂实践内容总结

    <Java程序设计>课堂实践内容总结 实践一 要求 修改教材P98 Score2.java, 让执行结果数组填充是自己的学号: 提交在IDEA或命令行中运行结查截图,加上学号水印,没学号的 ...

随机推荐

  1. iOS开发之UIView

    在iPhone里你能看到的.摸到的,都是UIView. 视图坐标系统: UIKit中的坐标都是基于这样的坐标系统:以左上角为坐标的原点,原点向下和向右为坐标轴方向. 坐标值由浮点数来表示,内容的布局和 ...

  2. GCD vs NSOperation

    GCD is a lightweight way to represent units of work that are going to be executed concurrently. You ...

  3. java基础易混点

    1.进制转换由低到高:byte<short(char)<int<long<float<double 2.java八种基本数据类型(存在栈里):  整数类型  byte,s ...

  4. Mac原生Terminal快速登录ssh

    1. 创建rsa key 在终端中输入以下命令: ssh-keygen -t rsa 完成之后可以在~/.ssh目录下找到公钥和私钥     如果你与我一样有使用gitlab,那么这个秘钥应该已经存在 ...

  5. 一篇文章详解iOS之AutoResizing、AutoLayout、sizeClass来龙去脉

    前言 iPhone自诞生以来,随着其屏幕尺寸不断的多样化,屏幕适配的技术一直在发展更新.目前,iOS系统版本已经更新到9.3,XCode的最新版本已经是7.3,仅iPhone历史产品的尺寸就已经有4种 ...

  6. 2018-2019-2 网络对抗技术 20165322 Exp6 信息搜集与漏洞扫描

    2018-2019-2 网络对抗技术 20165322 Exp6 信息搜集与漏洞扫描 目录 实验原理 实验内容与步骤 各种搜索技巧的应用 DNS IP注册信息的查询 基本的扫描技术 漏洞扫描 基础问题 ...

  7. 【LGP5108】仰望半月的夜空

    题目 我还会写\(SA\)和 \(ST\)表真是令人感动 发现这是一个思博题 我们开一个指针,标记一下当前合法的字典序最小的后缀排名在哪里,刚开始自然是\(1\) 我们发现这个后缀不能为我们提供\(i ...

  8. [19/04/18-星期四] Java的动态性_动态编译(DynamicCompiler,Dynamic:动态的,Compiler:编译程序)

    一.概念 应用场景:如在线评测系统,客户端编写代码,上传到服务器端编译运行:服务器动态加载某些类文件进行编译 /*** * */ package cn.sxt.jvm; import java.io. ...

  9. 关于easyui表格右侧多出来的那一列。

    关于easyui表格右侧多出来的那一列,如下图,是给滚动条预留的位置,easyui表格默认就有的. 如果想要不显示:打开jQuery.easyui.min.js文件,找到wrap.width();所在 ...

  10. PAT——1026. 程序运行时间

    要获得一个C语言程序的运行时间,常用的方法是调用头文件time.h,其中提供了clock()函数,可以捕捉从程序开始运行到clock()被调用时所耗费的时间.这个时间单位是clock tick,即“时 ...