import java.lang.Math;
public class math
{
private double xone,xtwo,yone,ytwo,x1,x2,y1,y2;
private double distance;
public void main(String[] args)
{
public distance()
{
setNums(0);
}
public setDistance()
{
setNums(x1,x2,y1,y2);
}
public void setNums()
{
xone = x1;
xtwo = x2;
yone = y1;
ytwo = y2;
}
public void calcDistance()
{
distance = Math.sqrt((xtwo - xone)*(xtwo - xone) + (ytwo - yone)*(ytwo - yone));
}
public String toString()
{
String output = " ";
output += "the distance is " + distance;
return output;
}
}
}
我不确定为什么这个程序不能编译。唯一的错误是非法开始表达和遗失;但我不相信我错过任何一个;
答案 0 :(得分:0)
你的main(String [] args)需要是静态的还是公共的。
答案 1 :(得分:0)
更改
public distance()
到
public math()
构造函数应与类名相同。
更改
public setDistance()
到
public void setDistance()
除此之外,setNums()
方法定义显示在调用它时传递它们时没有任何参数。
您已将大多数方法保留在main
内。将它们取出并保持在同一级别。
我做了一些改动,所以它可以编译。你需要弄清楚你想要实现的目标。
import java.lang.Math;
public class MathTest{
private double xone, xtwo, yone, ytwo, x1, x2, y1, y2;
private double distance;
public static void main(String[] args) {
}
public MathTest() {
setNums();
}
public void setDistance() {
setNums();
}
public void setNums() {
xone = x1;
xtwo = x2;
yone = y1;
ytwo = y2;
}
public void calcDistance() {
distance = Math.sqrt((xtwo - xone) * (xtwo - xone) + (ytwo - yone) * (ytwo - yone));
}
public String toString() {
String output = " ";
output += "the distance is " + distance;
return output;
}
}