繁体   English   中英

如何从一个 class 中的扫描仪获取用户输入,然后将其应用于同一 package 中的另一个 class?

[英]How do I take an user input from Scanner in one class and then apply it to another class in the same package?

例如

package testcircle1;

导入 java.util.Scanner;

公共 class TestCircle1 {

public static void main(String[] args) {
    System.out.println("Welcome!!!!");
    Circle c1 = new Circle( );
    Scanner in= new Scanner(System.in);

     System.out.println("Please enter a number");

    c1.setRadius() = in.nextDouble();

    System.out.println(c1.getRadius()); 

}

}

package testcircle1; 公共class圈{

public Circle() {   
}

public Circle(double radius) {

}

public void setRadius(double radius) {
    if (radius >= 0)
        this.radius = radius;
}

public double getRadius() {
    return radius;
}

}

我究竟做错了什么?

您需要添加以下两个。 1.增加'私人双半径;' 在 class Circle 2. 在 main 方法中,您需要使用 c1.setRadius(in.nextDouble())

提供相同的代码

导入 org.slf4j.Logger; 导入 org.slf4j.LoggerFactory;

导入 java.util.Scanner;

公共 class TestCircle1 {

私人 static 记录器 logger = LoggerFactory.getLogger(TestCircle1.class);

公共 static 无效主(字符串 [] 参数){

System.out.println("Welcome!!!!");
Circle c1 = new Circle();

try {
  Scanner in = new Scanner(System.in);

  System.out.println("Please enter a number");

  if (!in.hasNextDouble()) {
    throw new IllegalArgumentException("Input is not a double value");
  }

  c1.setRadius(in.nextDouble());

  System.out.println(c1.getRadius());
} catch (IllegalArgumentException e) {
  logger.error(e.getMessage());
}

} }

public class Circle {
    private double radius;
    public Circle() {
    }

    public Circle(double radius) {

    }

    public void setRadius(double radius) {
        if (radius >= 0)
            this.radius = radius;
    }

    public double getRadius() {
        return radius;
    }

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM