C#问题运算符的问题

usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Da... using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace chajian
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void btnComputer_Click(object sender, EventArgs e)
{
double r, dblHalf, dblVol;
if(double.TryParse(txtR.Text,out r))
{
if (chkHalf.Checked) dblHalf = 0.5;
else dblHalf = 1;
if (rdoBall.Checked) dblVol= dblHalf * CalBall;
else if (rdoCub.Checked) dblVol = dblHalf * CalCube;
else if (rdoCylin.Checked) dblVol = dblHalf * CalCylinder;
}
else
{
MessageBox.Show("请选择立方体形状");
}
this.txtVol.Text = dblVol.ToString("f3");
}
double CalCylinder(double dblR)
{
return Math.PI * dblR * dblR * dblR;
}
static double CalBall(double dblR)
{
return 4.0 / 3.0 * dblR * dblR * dblR;
}
private double CalCube(double dblR)
{
return 8 * dblR * dblR * dblR;
}
}
}
这个程序运行出来的错误是 运算符“*”无法应用于“double”和“方法组”类型的操作数
if (rdoBall.Checked) dblVol= dblHalf * CalBall;
else if (rdoCub.Checked) dblVol = dblHalf * CalCube;
else if (rdoCylin.Checked) dblVol = dblHalf * CalCylinder;
“*”指的就是这个地方的*
大哥些按你们的意见改了下 出现了新的问题就是错误 1 使用了未赋值的局部变量“dblVol”
this.txtVol.Text = dblVol.ToString("f3"); 就是这个地方。。小弟先谢了 我是初学,,很多问题老出错、
展开
 我来答
lipai006
2008-05-29 · TA获得超过240个赞
知道小有建树答主
回答量:610
采纳率:0%
帮助的人:225万
展开全部
他们的方式是正确地 我呢 就是不复制啦 (他们手快没办法,尤其是那个姓二的5级法师,比不过他)
我给你讲讲错误的原因吧
没错static double CalBall(double dblR)
{
return 4.0 / 3.0 * dblR * dblR * dblR;
}
这个CalBall方法确实有一个double类型的返回值可以用来计算
但是你也得完成这个方法的调用才可以
看见(double dblR)这个没 这个是这个方法的参数 必须给这个方法一个参数才可以完成对这个方法的调用
所以呢 如果只写CalBall()编辑器是找不到static double CalBall(double dblR) 这个方法得 你得传给他一个double的值才可以
你声明一个double类型的变量double aa=11.2;
然后CalBall(aa);就可以了 或者直接写CalBall(11.2);也是可以地
明白了吧
还有啊 注意了
static double CalBall()
和static double CalBall(double dblR)
是2个完全不同的方法 虽然名字一样 但却不是一个方法以此类推
static double CalBall(double dblR)
和static double CalBall(double dblR,double dblr2)也不是一个 这叫方法的重写(- -!好像是哦,这个理论。。比较差。。恩!应该是对的,相信我)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友5f2ac23
2008-05-30 · TA获得超过1526个赞
知道小有建树答主
回答量:845
采纳率:100%
帮助的人:515万
展开全部
private void btnComputer_Click(object sender, EventArgs e)
{
double r, dblHalf, dblVol;
dblVol = 0.0;
if(double.TryParse(txtR.Text,out r))
{
if (chkHalf.Checked) dblHalf = 0.5;
else dblHalf = 1;
if (rdoBall.Checked) dblVol= dblHalf * CalBall(r);
else if (rdoCub.Checked) dblVol = dblHalf * CalCube(r);
else if (rdoCylin.Checked) dblVol = dblHalf * CalCylinder(r);
}
else
{
MessageBox.Show("请选择立方体形状");
}
this.txtVol.Text = dblVol.ToString("f3");
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
到茧照
2008-05-29 · TA获得超过1901个赞
知道大有可为答主
回答量:1589
采纳率:0%
帮助的人:1996万
展开全部
CalBall
CalCube
它们不都是方法么???你怎么可以直接拿它与别的变量相乘??
你的括号呢?晕...

这样儿乘就OK了:dblVol= dblHalf * CalBall(你的参数);
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式