阅读以下说明和Java代码,将解答写在对应栏内。 [说明] 已知类Stock和类JavaMain都定义在JavaMain.java文件中,类stock的定义中有四处错误,分别在代码的第01、02、06、07行。请修改错误并给出修改后该行的完

admin2010-12-16  37

问题 阅读以下说明和Java代码,将解答写在对应栏内。
   [说明]
   已知类Stock和类JavaMain都定义在JavaMain.java文件中,类stock的定义中有四处错误,分别在代码的第01、02、06、07行。请修改错误并给出修改后该行的完整代码,并写出改正错误后程序运行的输出结果。
   [Java代码]
01 public class Stock{
02  static {
03    shares=0;
04    Share_val=0.0;
05  }
06  private Stock()tgetData();}
07  private Stock(int n,double pr=0){
08    shares=n;
09    share val=pr;
10    getData();
11    }
12  public  void getData(){
13    System.out.print(shares+":"+share_val+" ");
14  }
15  Drivate int shares;  //非静态变量
16  Drivate double share val;  //非静态变量
17    };
18
19  publiC class JavaMain{
20  public static void main(String args[]){
21    Stock a=new Stock();
22    Stock b=new Stock(1,67.5);
23    //其他代码省略,且代码无输出
24  }
25  }

选项

答案01代码行修改结果:class Stock{ 02代码行修改结果:{ 06代码行修改结果:public Stock(){getData();} 07代码行修改结果:public Stock(int n,double pr){ 程序运行的输出结果为:0:0.0 1:67.5

解析 本题考查的是用Java程序编程。
   因为JavaMain和Stock定义在同一个文件中,所以只能够有一个公共类,因此Stock前的public应该去掉;因为shares和share_val都是非静态变量,所以不能够用静态初始化块进行初始化,所以应该把静态初始化块改为非静态初始化块,将static关键字去掉;定义中的构造函数为私有的,但构造函数在JavaMain类中被使用,因此构造函数应该为公共的。所以06和07行的代码应该将private改为public;构造函数中调用了输出函数,所以JavaMain程序运行后输出结果为:0:0.0 1:67.5。
转载请注明原文地址:https://kaotiyun.com/show/iBjZ777K
0

最新回复(0)