阅读以下说明和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
参考答案:0A代码行修改结果:class Stock{
0B代码行修改结果:{
0F代码行修改结果:public Stock(){getData();}
0G代码行修改结果:public Stock(int n,double pr){
程序运行的输出结果为:0:0.0 A:FG.E
解析:
本题考查的是用Java程序编程。
因为JavaMain和Stock定义在同一个文件中,所以只能够有一个公共类,因此Stock前的public应该去掉;因为shares和share_val都是非静态变量,所以不能够用静态初始化块进行初始化,所以应该把静态初始化块改为非静态初始化块,将static关键字去掉;定义中的构造函数为私有的,但构造函数在JavaMain类中被使用,因此构造函数应该为公共的。所以06和07行的代码应该将private改为public;构造函数中调用了输出函数,所以JavaMain程序运行后输出结果为:0:0.0 1:67.5。