2016-02-06 32 views
-5

我有一项计算机科学课。我已经把所有我需要的东西放在代码中,但是我不知道如何调试它。我得到8个错误,但是我需要修正这些错误而不去掉重要的代码。JAVA:8错误,需要更正

import java.awt.*; 
import java.io; 
import java.lang.Object.*; 
import java.util.Scanner; 
import java.lang.Math; 

public class Circle() 
{ 

public double xCor; 
public double yCor; 
public double r; 
public circle() 
{ 
xCor = 5.0; 
yCor = 5.0; 
r = Math.PI; 
} 

public static void main(String args[]) 
{ 

public circle(double a, double b, double c) 
{ 

xCor = a; 
yCor = b; 
r = c; 
} 

Circle c1 = new Circle(); 
Circle c2 = new Circle(1.0, 3.0, 2.0); 

c1.x = c1.x + c1.R; 
c2.R = 1.0 + c2.y; 
c1.R = 2.0; 

double n; 
n = c1.getArea(); 
System.out.println(“Circle1’s area is “ + n); 

System.out.println(“The area of a circle with radius 3 is:”); 
calcAreaForThisRadius(3); 
} 

public double getArea() 
{ 
return Math.PI * r * r; 
} 

public static calcAreaForThisRadius(double radius) 
{ 
return radius * radius * Math.PI; 

} 
} 
} 
+0

欢迎来到StackOverflow。请访问[帮助]并阅读[问]。 StackOverflow不是一个网站,您可以在其中发布作业并期望其他人为您完成工作。整个过程就是让你学习如何解决这个问题。 –

+0

或者下载eclipse并用ctrl + 1修复。这应该可以解决您在这里遇到的大多数问题。 –

+0

这是不好的建议。 1)自动纠正有可能以错误的方式纠正问题。 2)它首先为学习者提供了很少的见解,使他/她做错了什么。 –

回答

0

正如别人所说,这不是StackOverflow期望的那种问题,但这里是一个提示。

重试代码之前

Circle c1 = new Circle(); 

移动这两条线后

public static void main(String args[]) 
{ 

到行这个故事的寓意是:你应该澄清在{}包围。当您的代码站立时,您将该类的构造函数和其他方法放入main()方法中。 Java(任何版本,不只是8)不允许在方法内嵌套方法。

1

这是我对如何解决这个问题的建议(对于一个新的Java程序员)。

  1. 阅读编译错误信息。试着了解他们在说什么。这并不总是奏效,因为编译器错误将基于编译器(编写器)认为你是可能是试图做的事情,并且很容易混淆它。

  2. 仔细阅读您自己的代码。愚蠢的错别字往往造成巨大的差异。

  3. 如果似乎编译错误并没有任何意义,然后回到你的课堂讲义/教科书/在线教程,并在示例中的语法比较正在使用的语法,在你的代码 。

    例如,你的代码说:

    public class Circle() { 
    

    如果你看一下类的例子,你应该注意到的东西你的代码和例子之间的不同。圆括号不应该在那里。

  4. 纠正您可以理解的错误通常会导致其他一些(无法解释的)错误消失。有时候,你糟糕的语法可能会让编译器充分混淆,以至于它会在代码中的其他地方产生幻影错误。


一对夫妇更提示:

  1. 在Java中,你得到的市值权是很重要的。 Circlecircle是不同的标识符。

  2. 在Java中,每个类都应该在一个单独的文件中。 (应该 ...)

  3. 在Java中,构造必须正确嵌套,并且每个{应该有匹配的}


1 - 对于非初学编程的(例如,一个三年级学生CS),我会建议不同。对于他们,我会建议咨询编程语言的语法规范。学习“阅读”BNF/EBNF /语法图......或者使用任何符号。