我老师给了我这个问题来解决。
设计ComplexNumber类。
一个。从用户那里获取ComplexNumber。
湾实现increaseValue()以增加real和amp;想象部分由2.
℃。使用toString从main方法打印ComplexNumber。
所以,我写了一个类,它将采用字符串输入,即像#34; 5 + i6"这样的复数。 作为回报,它将给出" 7 + i8"
我尝试了代码,我一次又一次地显示错误。 请帮我解决问题所在。如果你有更好的解决方法,请分享。
public class ComplexNumber{
int real, imagine; //(When I declare the integers before it shows compile error too)
public static String complex;
public static void doit(String str){
complex=str;
}
String []splt = complex.split("\\+");
real=Integer.parseInt(splt[0])+2; //This line shows error
splt[1]=splt[1].replaceAll("^[0-9]","");
imagine=Integer.parseInt(splt[1])+2;//This line shows error
public String toString(){ //This line shows error
return (real+"+"+"i"+imagine);
}
} //This 2nd bracket is showing error :/
答案 0 :(得分:0)
您有一些不在方法或构造函数中的语句。你不能在类级别,方法或构造函数之外使用语句。
将这些语句放在方法或构造函数中。
请参阅Oracle Java教程的以下部分:
答案 1 :(得分:0)
您尝试在任何方法上下文之外执行代码,从您的行开始:
String []splt = complex.split("\\+");
在Java中,所有代码都必须在一个方法中。您可能想知道在这种情况下如何执行任何操作。有一种称为main
的特殊方法,用作类的入口点。例如,参见hello world program here,它说明了Java程序的基本结构。
**作为旁注,您的任务似乎旨在教您面向对象编程的基础知识,但您的解决方案并非面向对象。指向正确方向的建议是将ComplexNumber视为事物。它可以用"3+4i"
之类的字符串构造。这成为数字状态的一部分。然后,您可以使用myNumber.increaseIt()
等方法对该数字执行操作。您的工作可能是弄清楚如何从字符串构造ComplexNumber并实现increaseIt()
。