无法构建多个类

时间:2011-12-11 13:17:38

标签: java java.util.scanner

好的,所以我知道这是一个菜鸟问题,但是我无法让这段代码工作。代码应该做的是在输入半径时给你直径。我知道我的代码可能被宰了,但是我做错了什么以及为什么因为我正在努力学习。

import java.util.Scanner;

public class Circle{

Scanner dd = new Scanner(ystem.in);

System.out.println("Whats is the radius?");
double r = dd.nextDouble();

public Circle(double r){

    radius = r;
}

public double diameter(){

    double d = radius * 2;
    return d;
}
}

public class Tester{

public static void main(String args[]){

    Circle cir1 = new Circle(35.5);
    System.out.println(Circle.diameter)
}
}

2 个答案:

答案 0 :(得分:1)

您必须将代码放入方法中。该块将导致错误:

Scanner dd = new Scanner(System.in);

System.out.println("Whats is the radius?");
double r = dd.nextDouble();

接下来,在你的主要部分,你做Circle cirl = new Circle(35.5),在下一行,你打电话给Circle.diameter。您应该从新实例中调用直径,如cirl.diameter()。

你可以尝试这样的事情

import java.util.Scanner;

public class Circle{

    private double radius;

    public Circle(double r){

        radius = r;
    }

    public double diameter(){

        double d = radius * 2;
        return d;
    }

    public static void main(String args[]){

        Scanner dd = new Scanner(System.in);

        System.out.println("Whats is the radius?");
        double r = dd.nextDouble();
        Circle cir1 = new Circle(r);
        System.out.println(cir1.diameter())
    }
}

答案 1 :(得分:0)

在同一Java源文件中不能有多个public类。因此要么创建两个源文件(每个类一个),要么在另一个类中定义一个类,例如:

public class Test {

    static class Circle {
       ...
    }

    ...

    public static void main(String[] args) {
        ...
    }
}