阅读以下说明和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。