高人进来啊,学习中碰到的问题?

huangxw000 2007-11-01 07:00:59
一个关于复数的类,
public class fushu
{
public static void main(String agrs[])
{
ComplexNumber a1=new ComplexNumber(1.2,3.4);
ComplexNumber a2=new ComplexNumber(1.7,9.4);
System.out.println(a1.toString);
System.out.println(a2.toString);
System.out.println(a1.complexAdd(a2).tostring);
System.out.println(a1.complexMinus(a2).tostring);
System.out.println(a1.complexMulti(a2).tostring);
}
}

public class ComplexNumber
{
double m_dRealPart;
double m_dImagePart;
ComplexNumber()
{
m_dRealPart=0.0;
m_dImagePart=0.0;
}
ComplexNumber(double r,double l)
{
m_dRealPart=r;
m_dImagePart=l;
}
double getRealPart()
{
return (m_dRealPart);
}
double getImagePart()
{
return (m_dImagePart);
}
ComplexNumber setmagePart(double d)
{
m_dRealPart=d;
return(this);
}
ComplexNumber setImagePart(double d)
{
m_dImagePart=d;
return(this);
}
ComplexNumber complexAdd(ComplexNumber c)
{
double r,double l;
r=this.m_dRealPart+c.m_dRealPart;
l=this.m_dImagePart+c.m_dImagePart;
c.setmagePart(r);
c.setImagePart(l);
return(c);
}
ComplexNumber complexMinus(ComplexNumber c)
{
double r,double l;
r=this.m_dRealPart+c.m_dRealPart;
l=this.m_dImagePart+c.m_dImagePart;
c.setmagePart(r);
c.setImagePart(l);
return(c);
}
ComplexNumber complexMulti(ComplexNumber c)
{
double r,double l;
r=this.m_dRealPart+c.m_dRealPart;
l=this.m_dImagePart+c.m_dImagePart;
c.setmagePart(r);
c.setImagePart(l);
return(c);
}

String tostring()
{
String s;
s="复数:"+m_dRealPart+"+"+m_dImagePart+"*i";
return(s);
}
}
编译出现:
D:\java实验\fushu.java:49: 需要 <标识符>
double r,double l;
^
D:\java实验\fushu.java:58: 需要 <标识符>
double r,double l;
^
D:\java实验\fushu.java:67: 需要 <标识符>
double r,double l;
^
3 错误

工具以退出代码 1 完成
需要 <标识符>是什么意思啊?请高手帮修改下啊?


...全文
148 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
imA 2007-11-02
  • 打赏
  • 举报
回复
public class fushu {
public static void main(String agrs[]) {
ComplexNumber a1 = new ComplexNumber(1.2, 3.4);
ComplexNumber a2 = new ComplexNumber(1.7, 9.4);
System.out.println(a1.toString());
System.out.println(a2.toString());
System.out.println(a1.complexAdd(a2).tostring());
System.out.println(a1.complexMinus(a2).tostring());
System.out.println(a1.complexMulti(a2).tostring());
}
}

class ComplexNumber {
double m_dRealPart;
double m_dImagePart;

ComplexNumber() {
m_dRealPart = 0.0;
m_dImagePart = 0.0;
}

ComplexNumber(double r, double l) {
m_dRealPart = r;
m_dImagePart = l;
}

double getRealPart() {
return (m_dRealPart);
}

double getImagePart() {
return (m_dImagePart);
}

ComplexNumber setmagePart(double d) {
m_dRealPart = d;
return (this);
}

ComplexNumber setImagePart(double d) {
m_dImagePart = d;
return (this);
}

ComplexNumber complexAdd(ComplexNumber c)
{
double r,l;
r=this.m_dRealPart+c.m_dRealPart;
l=this.m_dImagePart+c.m_dImagePart;
c.setmagePart(r);
c.setImagePart(l);
return(c);
}

ComplexNumber complexMinus(ComplexNumber c)
{
double r,l;
r=this.m_dRealPart+c.m_dRealPart;
l=this.m_dImagePart+c.m_dImagePart;
c.setmagePart(r);
c.setImagePart(l);
return(c);
}

ComplexNumber complexMulti(ComplexNumber c) {
double r, l;
r = this.m_dRealPart + c.m_dRealPart;
l = this.m_dImagePart + c.m_dImagePart;
c.setmagePart(r);
c.setImagePart(l);
return (c);
}

String tostring() {
String s;
s = "复数: " + m_dRealPart + "+ " + m_dImagePart + "*i ";
return (s);
}
}
seachips 2007-11-01
  • 打赏
  • 举报
回复
两个单独的class怎么能写在同一个.java文件里?把class ComplexNumber单独放在一个叫ComplexNumber.java的文件里,然后在class fushu创建一个ComplexNumber类的实例,通过实例访问ComplexNumber就好了。
一个.java文件里只允许有一个class存在(内部类除外)。
uaudy 2007-11-01
  • 打赏
  • 举报
回复
a2_3 你的类名必须和文件名一样
huangxw000 2007-11-01
  • 打赏
  • 举报
回复
郁闷啊,怎么没人帮我解决下啊,我调试了好久了,运行还错误:Exception in thread "main"java.lang.NOClassDefFoundError:fushu
我也在百度中也找了许多说法,但都说环境变量的错误,可是我设置了环境变量啊,而且运行Applet不会报错,但一运行appication程序就出错,如我就运行了简单helllo,java!
import java.io.*;
public class a2_3
{
public static void main(String args[])
{
System.out.println("hello,java!");
}
}
也是出现:Exception in thread "main"java.lang.NOClassDefFoundError:fushu..
JAVA高手进啊,帮帮忙,先谢谢了.
Esengnet 2007-11-01
  • 打赏
  • 举报
回复
帮你顶下!!!
天气冷了,帮你的女朋友,老婆买件衣服吧:http://shop.paipai.com/312561265
seachips 2007-11-01
  • 打赏
  • 举报
回复
把文件等名字fushu.java改成ComplexNumber.java就OK了!
huangxw000 2007-11-01
  • 打赏
  • 举报
回复
不是主类不可以冠以访问控制符public,我叫复数类的Public去掉以后编译通过了.但运行却没结果...那位帮改下啊..
huangxw000 2007-11-01
  • 打赏
  • 举报
回复
D:\java实验\fushu.java:15: 类 ComplexNumber 是公共的,应在名为 ComplexNumber.java 的文件中声明
public class ComplexNumber
这个是错误怎么改啊?高手进啊..
huangxw000 2007-11-01
  • 打赏
  • 举报
回复
LS的说的对的,我改了之后原来的错误没了,怎么有多出另外3错误啊,晕啊...怎么开始不报错呢.
D:\java实验\fushu.java:15: 类 ComplexNumber 是公共的,应在名为 ComplexNumber.java 的文件中声明
public class ComplexNumber
^
D:\java实验\fushu.java:7: 找不到符号
符号: 变量 toString
位置: 类 ComplexNumber
System.out.println(a1.toString);
^
D:\java实验\fushu.java:8: 找不到符号
符号: 变量 toString
位置: 类 ComplexNumber
System.out.println(a2.toString);
^
3 错误

工具以退出代码 1 完成
jy00464346 2007-11-01
  • 打赏
  • 举报
回复
试着 double r,i;
你的 l是 i还是l?
lhf165446471 2007-11-01
  • 打赏
  • 举报
回复
改成double r,l;
或double r;
double l;

double r,double l; 不是个语句!
huangxw000 2007-11-01
  • 打赏
  • 举报
回复
LS上的我加了括号后,错误同上.
:\java实验\fushu.java:49: 需要 <标识符>
double r,double l;
^
D:\java实验\fushu.java:58: 需要 <标识符>
double r,double l;
^
D:\java实验\fushu.java:67: 需要 <标识符>
double r,double l;
^
3 错误

工具以退出代码 1 完成
johnsoncr 2007-11-01
  • 打赏
  • 举报
回复
程序不短哦,没时间看,看了前面的
System.out.println(a1.toString);
System.out.println(a2.toString);
System.out.println(a1.complexAdd(a2).tostring);
System.out.println(a1.complexMinus(a2).tostring);
System.out.println(a1.complexMulti(a2).tostring);

toString是个方法,方法名后面要有括号吧?应该是tostring()

62,612

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧