类Stock的定义中有两处错误,请指出错误所在行号并给出该行修改后的完整结果。

题目

类Stock的定义中有两处错误,请指出错误所在行号并给出该行修改后的完整结果。


相似考题
更多“类Stock的定义中有两处错误,请指出错误所在行号并给出该行修改后的完整结果。 ”相关问题
  • 第1题:

    阅读以下说明和Java代码,请回答问题1和问题2。

    【说明】

    己知类Stock和类cxyjava都定义在cxyjava.java文件中,类Stock的定义中第14行前共有四行出现了错误,将下面代码修改正确并完善后的输出结果为:

    0:0

    1:23

    【Java代码】

    01 public class Stock{

    02 static {

    03 shares = 0;

    04 share val = 0.0;

    O5 }

    06 public Stock(){getData();}

    07 public Stock(int n, iht pr=0){

    08 shares = n;

    09 share val = pr;

    10 getData();

    11 }

    12 public void getData() {

    13 System.out.println(shares + ":"+share_val);

    14 }

    15 private int shares;

    16 private int share_val;

    17 };

    18

    19 public class cxyjava{

    20 public static void main(String args[]) {

    21 Stock a = (1) ;

    22 Stock b = new Stock(1,23);

    23 //其他无输出代码省略

    24 }

    25 }

    请指出错误所在行号并给出该行修改后的完整结果。


    正确答案:错误1:第1行修改为:class Stock{ 错误2:第2行修改为:{ 错误3:第4行修改为:share val:=0; 或share_val=(int)0.0; 错误4:第7行修改为:public Stock(int nint pr){
    错误1:第1行,修改为:class Stock{ 错误2:第2行,修改为:{ 错误3:第4行,修改为:share val:=0; 或share_val=(int)0.0; 错误4:第7行,修改为:public Stock(int n,int pr){

  • 第2题:

    待修改的【C程序】中存在3个错误,请指出各个错误所在的行号,并给出相应的修改意见。


    正确答案:第3行变量num没有初始化应将其初始值设为0 第7行scanf函数参数错应将语句“scanf("%1d"n);”中的n修改为“&n”或者在n之前加取地址符号 第13行循环条件错应将语句中“n>=O”修改为“n>0”
    第3行,变量num没有初始化,应将其初始值设为0 第7行,scanf函数参数错,应将语句“scanf("%1d",n);”中的n修改为“&n”,或者在n之前加取地址符号 第13行,循环条件错,应将语句中“n>=O”修改为“n>0” 解析:本问题考查程序检错和排错能力。程序错误一般分成语法错误和语义错误两种类型,其中语法错误是形式上的错误,语义错误是含义上的错误,编译程序能够发现程序中的所有语法错误。语义错误又可分为静态语义错误和动态语义错误,静态语义错误编译时检查,而动态语义错误在程序运行时表现。
    在C程序中,常见的错误有:①使用的变量没有定义;②变量没有赋值初就直接使用;③输入输出的数据类型与所用格式说明符不一致;④超出数据范围;⑤输入时数据的组织方式与要求不符;⑥误把“=”作为关系运算符“等于”;⑦语句的分号缺少或放置错误;⑧缺少花括号“{}”,或圆括号“()”、中括号“[]”不配对;⑨符号引用错误;⑩引用数组元素超界等。
    在本试题给出的C程序中,所出现的错误及其修改建议如表6-18所示。

  • 第3题:

    1、以下类的声明中有错误,请指出错误的代码行号 class A { public: A(int a=0){ x=a; } static void f1(){ x++; }; private: int x; static int y; };

    A.3

    B.4

    C.7

    D.11


    double a=1.2e0.8;

  • 第4题:

    阅读以下说明和C++代码。

    [说明]

    已知类SubClass的getSum方法返回其父类成员与类SubClass成员j的和,类 SuperClass中的getSum为纯虚拟函数。程序中的第23行有错误,请修改该错误并给出修改后的完整结果,然后完善程序中的空缺,分析程序运行到第15行且尚未执行第15行的语句时成员变量j的值,最后给出程序运行后的输出结果。

    [C++代码]


    正确答案:(1)this->j (2)SuperClass∷ 错误更正结果:SuperClass*s=new SubClass(-3); 变量i的值:0 运行结果:-32
    (1)this->j (2)SuperClass∷ 错误更正结果:SuperClass*s=new SubClass(-3); 变量i的值:0 运行结果:-3,2 解析:本题考查的是面向对象程序设计语言C++。
    考查的主要知识点为C++程序设计语言中类成员变量的初始化、父类成员方法的调用、对象的构造等。第一空要求用用参数j的值更新数据成员,由于成员变量名也为i因此需要明确地指出需要更新的变量j为类中的成员变量,可以在前面加上一个明确的前缀this来表示,因此(1)处应填写this->j:(2)处要求调用父类的成员方法getValue(),为了和子类中的getValue()相区别,需要加上域前缀,因此(2)处应该填写SuperClass∷,表明该函数属于类SuperClass;在程序的第23行,由于SuperClass s表明已经定义了一个对象,因此,后面不应该使用new再次分配一个对象,但是后面的程序代码将s作为一个对象指针使用,因此需要将s定义为一个指针,因此更改后结果应为:SuperClass*s= new SubClass(-3);当程序运行到第15行但是还没有执行15行的语句时,成员变量i的值应为构造函数初始化列表中指定的j的初始化值,本题目为0:最后程序的输出为-3和 2,-3为子类中成员变量j的值,而2表示父类中i的值和子类中i的值的和。

  • 第5题:

    以下类的声明中有错误,请指出错误的代码行号 class A { public: A(int a=0){ x=a; } static void f1(){ x++; }; private: int x; static int y; };

    A.3

    B.4

    C.7

    D.11


    D