1

所以我是 Java 新手,我最近的一段代码没有用。我得到error: not a statement两次和error: ';' expected一次。

如果我尝试radius=double;,它会出现错误:Error: '.class' expected在第 8 行,插入符号显示在分号下方。

我不确定出了什么问题,但这是我的代码。时间不长...提前谢谢你。

import java.util.Scanner;
import static java.lang.Math;

public class Formula {
    public static void main(String[] args);{
    double = radius;

        Scanner in = new Scanner(System.in);
        System.out.print("Radius of circle (cm) :> ");
        double radius = in.nextDouble();
        System.out.print("Area of circle :> " + Math.PI * Math.pow(radius,2));
        System.out.print("Circumference of circle :> " + 2 * Math.PI * radius);
        System.out.print("Surface area the sphere with that radius :> " + 4 * Math.PI * Math.pow(radius,2));
        System.out.print("Volume of sphere with that radius :> " + 4/3 * (radius * Math.pow(radius,2)));

    }
}
4

6 回答 6

5

改变

double = radius;

double radius = 0;

并删除方法定义;之后的。public static void main(String[] args);

此外,在语句中,double radius = in.nextDouble();您必须删除double关键字,因为您已经定义了同名的变量。

于 2013-10-15T15:07:57.090 回答
3

您的代码存在三个问题:

删除 main 方法声明上的分号。

public static void main(String[] args)

你的第二个问题是你没有你的双变量的参考。所有变量都必须有引用。考虑你的代码应该是:

double radius = 0;

double是数据类型,radius是引用。换句话说,double 是变量的类型,radius 是变量的名称。

你的第三个问题是这条线。

double radium = in.nextDouble();

您应该将其更改为:

radius = in.nextDouble();

必须正确引用所有变量。同样,通过再次声明变量,您正在遮蔽旧变量。


最好不要初始化变量然后再次初始化它,而是删除您的行:

double = radius

或者如果您将其更改为我上面所说的,请删除

double radius = 0;
于 2013-10-15T15:14:19.390 回答
1

去除 ';' 从你的主要

public static void main(String[] args);

public static void main(String[] args)
于 2013-10-15T15:08:10.823 回答
0

您的变量声明很困惑:double = radius;没有意义,因为double它是一种类型,而不是变量(变量声明看起来像type identifier = value;not type = identifier;or identifier = type;),并且您声明但从不使用该radium变量。应该是这样的:

Scanner in = new Scanner(System.in);
System.out.print("Radius of circle (cm) :> ");
double radius = in.nextDouble();
System.out.print("Area of circle :> " + Math.PI * Math.pow(radius,2));
System.out.print("Circumference of circle :> " + 2 * Math.PI * radius);
System.out.print("Surface area the sphere with that radius :> " + 4 * Math.PI * Math.pow(radius,2));
System.out.print("Volume of sphere with that radius :> " + 4/3 * (radius * Math.pow(radius,2)));

而且您不应该在方法声明行;的末尾使用它。main

于 2013-10-15T15:09:13.297 回答
0

罪魁祸首(即声明变量的错误方式):

双=半径;

应该是这种形式:

双半径 = 0;

但是,我看到您再次使用 radius,但这次是正确的,以获取用户从控制台输入的值,因此您可以安全地删除罪魁祸首语句,它应该可以工作。

于 2013-10-15T15:17:50.180 回答
0

您拥有的代码:

import java.util.Scanner;
import static java.lang.Math;

public class Formula
{
public static void main(String[] args);
{
double = radius;

    Scanner in = new Scanner(System.in);
    System.out.print("Radius of circle (cm) :> ");
    double radius = in.nextDouble();
    System.out.print("Area of circle :> " + Math.PI * Math.pow(radius,2));
    System.out.print("Circumference of circle :> " + 2 * Math.PI * radius);
    System.out.print("Surface area the sphere with that radius :> " + 4 * Math.PI * Math.pow(radius,2));
    System.out.print("Volume of sphere with that radius :> " + 4/3 * (radius * Math.pow(radius,2)));

    }
}

它应该是什么样子:

import java.util.Scanner;
import static java.lang.Math;

public class Formula
{
public static void main(String[] args) {

double radius = 0;

    Scanner in = new Scanner(System.in);
    System.out.print("Radius of circle (cm) :> ");
    radius = in.nextDouble();
    System.out.print("Area of circle :> " + Math.PI * Math.pow(radius,2));
    System.out.print("Circumference of circle :> " + 2 * Math.PI * radius);
    System.out.print("Surface area the sphere with that radius :> " + 4 * Math.PI * Math.pow(radius,2));
    System.out.print("Volume of sphere with that radius :> " + 4/3 * (radius * Math.pow(radius,2)));

    }
}

你的方法后面有一个分号,声明一个 double 需要等于什么,你不需要说double radius = in.nextDouble(); 你只需要radius = in.nextDouble();

于 2013-10-15T15:24:11.307 回答