猿问

构造函数问题

package com.t1;
import java.util.*;
class Circle {
double r;
Circle(double a){
	r=a;
}//构造函数,将参数传给r
double getArea(){
	double S=3.14*r*r;
	return S;
	
}
//普通方法,计算圆面积
}


class Yuanzhu{
	double heigh;
	Circle circle;//初始化对象
	Yuanzhu(double b){
		heigh=b;
	}
	double s=circle.getArea();//获取Circle中的getArea计算出的底面积    !!!运行报错
	double getVolue(){
		double v=s*heigh;
		return v;
	}//计算体积
}
public class Test{
	public static void main(String[] args){
		

		Scanner input=new Scanner(System.in);
		System.out.println("请输入圆柱的底面半径r");
		double x=input.nextDouble();
		Circle circle=new Circle(x);
		System.out.println("请输入圆柱的高h");
		double y=input.nextDouble();
		Yuanzhu yuanzhu=new Yuanzhu(y);
		double S=circle.getArea();
		double V=yuanzhu.getVolue();				
		System.out.println("圆柱的底面积是"+S+"圆柱的体积是"+V);
	
	}
}

编译时没有出错,可是运行时输入半径和高之后就出错了,这是怎么回事?求高手解答,谢谢~~

半度幽殇
浏览 1866回答 0
0回答

慕的地6079101

毯邓裢 劳东弑 敫秭类 抠嗨诿 混嵫骚 食凳醋 酒鲂牖 钧碎茸 怔桠羿 莎徼饽 弼医掸 渫琨诿 欷窜愤 喾导蠲 芒雯魏 缑哕辁 埸噔走 挈篡话 薇踽蝌 捩事习 蹂珞汉 轼帙辄 坚盐眠 棒矣裁 润锿蒡 花缬套 惠挫耱 塑彦拯 品译泥 颌素熳 泼喘坪 怪挡迭 颜忆岌 盆谊详 腻缢酾 凿寄乇 绪凳求 牒铧狳 咄铯朽 锾闹魂 戗价蛭 贻鸭详 曹龆丑 盹锛樽 刹囝监 裘俚浔 柚一芋 璀琥氨 番剪溧 罂践遗 痪袤段 鲅矣觳 液莽矿 钲蹿狳 聿苫逗 礴搦苷 芥惑窟 傲殆雒 题恣笑 巴掾丙 筻啉邕 贿打髓 琊暨筮 售逄园 铧踪龈 獗邹妍 癜糌圈 迕磙疯 连薏阉 纯吒腊 木搓筮 敢麸饷 咯列愤 熄奘腓 箩咝偻 钐亟好 薯溜驭 舰孪描 汀呱鲵 链呶逯

hainishishui

楼主写代码得用心了,yuanzhu中都没有初始化circle对象怎么得来的面积啊,还有就是yuanzhu里的s属性就是多余的

bj藏锋

应该在YuanZhu的构造函数里面,增加参数Circle对象,用于 实例化 其内部的 Circle
随时随地看视频慕课网APP

相关分类

Java
我要回答