java - 如何在一个类中从 Scanner 获取用户输入,然后将其应用于同一包中的另一个类?
问题描述
例如
包 testcircle1;
导入 java.util.Scanner;
公共类 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());
}
}
包 testcircle1; 公共类圈子{
public Circle() {
}
public Circle(double radius) {
}
public void setRadius(double radius) {
if (radius >= 0)
this.radius = radius;
}
public double getRadius() {
return radius;
}
}
我究竟做错了什么?
解决方案
您需要添加以下两个。1.增加'私人双半径;' 在类 Circle 2 中。在 main 方法中,您需要使用 c1.setRadius(in.nextDouble())
提供相同的代码
导入 org.slf4j.Logger;导入 org.slf4j.LoggerFactory;
导入 java.util.Scanner;
公共类 TestCircle1 {
私有静态 Logger logger = LoggerFactory.getLogger(TestCircle1.class);
公共静态无效主要(字符串[]参数){
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;
}
}
推荐阅读
- python - 直接使用python将图像从链接保存到ftp服务器是否可行
- react-native - 我可以将道具传递给
React Native 中的组件? - javascript - 如何将javascript异步函数的返回值传递给python变量
- python - 使用 Beam 管道构建全局词汇表
- php - 使用 PHP 和 CSRF 登录 CURL 在本地而不是在线工作
- amazon-web-services - 通过 NGINX 反向代理访问时来自 AWS API 网关的 403 禁止错误
- c# - APIController 检查所有受支持的版本,而无需将 APIVersion(s) 属性添加到控制器
- mysql - Jenkins - 通过管道将数据导出到 mysql 数据库
- angular - 如何检查是否所有节点都使用管道启用?
- excel - 搜索多个条件得到多个结果