第一次课、课后作业错误总结

由于先前对Java语法知识 的欠缺,而且这学期数据结构课之中一直采用C语言,因而在Java编程过程之中犯了许多错误,特别是直接套用C语言的语法导致错误的,还有就是由于C语言的自带功能比较少,因此在编程过程中思维仍然能继续沿用原来的模式,导致思路僵化(比如C语言是绝对不允许开可变长度的数组但是Java中就允许,这将为解题过程带来便利),因而总结了在编程过程中所遇见的C和Java的不同之处。

一、字符数组的使用

char str[1000];

标准的错误!!!

正确的Java写法是:

char[] str;
str=new char[1000];
//或者简写为:
char[] str=new char[1000]

二、Vector初始化问题

这是自己在第一次见到Vector之后自己写的遇见的问题,原因在于在类里定义成员变量时可以初始化,但是一旦不初始化,对其进行赋值的操作必须在类的方法内进行。(否则你把这个成员变量实例化了),因此上面的声明一个可变数组没有问题,下面的就会报错。

正确的方法(比较规范的):

public class Test{
    Vector<Character> str=new Vector<Character> (10);
}

//模板
Vector <ClassName> 变量名=new Vector<ClassName>(int size);
//注:int size若不填代表默认为10

三、有关Java之中‘\0‘的问题

C语言之中的‘\0‘是作为字符串结尾的,计算strlen的时候不把‘\0’算进去,但是很遗憾Java不存在这个结尾符,Java算str.length时会将‘\0’计算入内。

时间: 2024-10-24 00:16:11

第一次课、课后作业错误总结的相关文章

《linux内核分析》第一次课 实验作业

解释main.c的汇编码的堆栈变化 实验截图如下图所示: 下面从main函数开始进行分析(三个可变数值从上到下分别为4,7,4): 不妨假设一开始为空栈,初始位置为0,ebp=esp,以下用行号进行标记 18:esp指向位置(1),位置(1)的值为esp的地址 19:使ebp指向与esp相同的地址(位置1) 20:esp指向位置(2) 21:位置(2)的值为7 22:调用f函数(标号):esp指向位置(3),位置(3)的值为eip的地址,将f的地址放到eip中 09:esp指向位置(4),位置(

第一次课上作业——编写程序,输出30道四则运算题

一.设计思路 1.首先完成一个四则运算的出题程序,其次运用循环的方式完成30道题2.首先使用随机函数生成四则运算中的第一个数的随机数,随机数要求是整数和真分数,其他的数不支持 2.1.首先生成一个随机数,取值为1或2,以此来确定四则运算中第一个随机数应该是整数还是真分数.若随机数为1则为整数,若随机数为2则为真分数.. 2.2.若为四则运算中的数为真分数,则随机生成两个数,作为分子和分母,并使得分母大于分子. 3.使用随机函数生成四则运算中的第二个数的随机数,此随机数的要求以及操作同第二步 4.

异常处理---动手动脑及课后作业

动手动脑1:请阅读并运行AboutException.java示例,然后通过后面的几页PPT了解Java中实现异常处理的基础知识. 源码: import javax.swing.*; class AboutException { public static void main(String[] a) { int i=1, j=0, k; k=i/j; try { k = i/j; // Causes division-by-zero exception //throw new Exception

20155332 补交ch12课下作业

20155332 补交ch12课下作业 课下测试提交晚了,我课后补做了一遍,答对13题,答错3题. 试题内容如下所示: 课本内容 1.并发(Concurrency) 访问慢I/O设备:就像当应用程序等待I/O中的数据时内核会切换运行其他进程一样,我们的应用也可以用类似的方式,将I/O请求与其他工作重叠从而挖掘并发的潜能. 推迟工作而减少延迟:我们可以推迟一些耗时工作稍后执行,例如内存分配器不在free时整理碎片,而是将这些琐屑的工作推迟到一个稍后执行的独立"逻辑流"(logical f

课后作业

课后作业 "类型转换"知识点考核-2 程序源代码: 1 class Mammal{} 2 class Dog extends Mammal {} 3 class Cat extends Mammal{} 4   5 public class TestCast 6 { 7      public static void main(String args[]) 8      { 9             Mammal m; 10             Dog d=new Dog();

TJU_SCS_C#课后作业(1)

一.作业要求 这是本学期C#课程学习的第一次课后作业,主要大体感受一下C#编程Visual Studio的界面以及一些基本操作.几乎所有编程语言的学习最初都是由hello world开始的,这次我所做的就是根据章老师上课的示范在控制台中显示hello world字样. 二.作业内容 这是一个很简单的代码,最主要的就一句Console.WriteLine("Hello World!"),我还根据章老师上课的示范对控制台的背景和前景进行了些许尝试. 三.课后思考 感觉C#编程语言和Java

课后作业5

动手动脑1:运行示例代码,查看结果,解释为什么是这个结果,从中你能总结出什么? 运行结果:tru truefalse 分析结果:s1,s2,s0均指向hello字符串常量的地址.所以在执行过程中,Java对于同一字符串是不会开辟新的空间的,而在最后的两者的内容虽然相同,但是他们的地址不同所以不等. 动手动脑2:查看String.equals()方法的实现代码 结果分析:s1==s2是判断地址和值,equals()仅仅判断值,s1,s2的值相同,但是地址不同,s3,s4的地址,内容都相同. 动手动

数组求和与课后作业

数组求和: 设计思路: 1.创建一个int型数组,长度为10,用来存放随机数: 2.使用Random类,产生随机数: 3.使用for循环把随机数存入数组中并求出数组中所有元素的和 4.使用JTextArea和JOptionPane生成消息框,输出数组的求和结果 程序流程图: 源程序: package shuzuadd;//包名 import javax.swing.*;//把 javax包里面的swing包里面的 所有东西 引进来. public class ShuZuAdd {//类名 pub

选修课《创新创业运行力》第一次课有感

第一次给学生上 公共选修课--<创新创业运行力>,一看学生名单,200人,还真的压力非常大,但如今.我已经喜欢上这门课程了. 平台学习资料.手冊下载网址(http://pan.baidu.com/s/1eQxjFv8).请第一次学习的同学一定下载下来.细致阅读"学生手冊". 新建了一个QQ群(<创新创业运行力>.90363642).期待大家增加!有兴趣做管理员的同学,请通过QQ留言. 零:学习平台简单介绍 尔雅通识教育平台(课程网址:http://gdou.ts