Java 尝试在basic循环程序中使用方法
我对Java非常陌生,我知道我在这个程序的某个地方搞砸了。每次我现在试图修复它,我都会让它变得更糟。我想做的是创建一个基本程序来计算圆的半径、直径和周长。代码必须为输出包含printCircleInfo()方法,并且必须声明并使用无参数构造函数为计算输入数据。我想我完全偏离了轨道,但这就是我所做的:Java 尝试在basic循环程序中使用方法,java,methods,Java,Methods,我对Java非常陌生,我知道我在这个程序的某个地方搞砸了。每次我现在试图修复它,我都会让它变得更糟。我想做的是创建一个基本程序来计算圆的半径、直径和周长。代码必须为输出包含printCircleInfo()方法,并且必须声明并使用无参数构造函数为计算输入数据。我想我完全偏离了轨道,但这就是我所做的: import java.util.Scanner; public class Circle4 { public static float PI; // PI. public static float
import java.util.Scanner;
public class Circle4
{
public static float PI; // PI.
public static float radius; // Radius of a circle
public static double dia; // Diameter of the circle
public static double area; // Area of the circle
public Circle4()
{
//Calculations
dia = radius*2; // Diameter calculation.
circ = PI*(radius*2); // Circumference calculation.
area = PI*(radius*radius); // Area calculation.
PI = 3.14159f;
Scanner in;
in = new Scanner(System.in); // Input Scanner
System.out.println("Enter the radius of the circle: "); //prompt for radius of the circle
radius = in.nextFloat();
}
public static void printCircleInfo()
{
System.out.println("The diameter of the cicle is " + dia); // Output of Diameter.
System.out.println("The circumferance of the circle is " + circ); // Output of Circumference.
System.out.println("The area of the circle is " + area); // Output of Area.
}
public static void main (String[] args)
{
circle = circleData;
circleData = Circle4();
print = printCircle;
printCircle = printCircleInfo();
}
}
我把自己弄得如此困惑,以至于我现在都不知道从哪里着手解决它。非常感谢。这里有一些问题:
(一)
在java中,您应该声明每个变量的类型。您将从此代码中获得编译错误
(二)
您正在将字段[例如
半径
,面积
。]声明为静态
,并在构造函数中初始化它们-我怀疑这是您想要的。请注意,静态
字段在此类的所有实例中共享
此代码存在更多问题。试着编译它。您的编译器将告诉您出了什么问题[至少对于编译时错误是这样]。修复错误,然后重新编译。请至少指定错误所在。它应该做什么,它实际上做什么?精确性是关键。请注意:您可以使用Math.PI而不是声明自己的PI常量。其他静态成员实际上不应该是静态的。我鼓励你们仔细阅读静态的含义。在意识到我可能只是在为你们做作业之前,我发布了一个长得离谱的答案。相反,我要说的是:尽量缩小代码的规模,使其尽可能简单,然后一次添加一个东西,直到它工作为止。在之前发生的一切都按你所期望的方式运作之前,不要继续前进。我是认真的,我说你应该从一个只有
main()
方法的类开始,然后从那里开始。
public static void main (String[] args)
{
circle = circleData;
circleData = Circle4();
print = printCircle;
printCircle = printCircleInfo();
}