java - 如何排除错误的数据输入
问题描述
这是一个初学者的问题。我想修改计算多边形面积的程序。多边形必须至少有 3 条边。如何排除错误的数据输入?(1 面、0 面、-4 面等)
import java.util.Scanner;
public class Polygon {
private static Scanner input;
public static double polygonArea(double n, double s) {
// (n*s^2)/(4*tan(π/n))
return (n * s * s) / (4 * Math.tan(Math.PI / n));
}
public static void main(String[] args) {
input = new Scanner(System.in);
System.out.println("Input the number of sides: ");
double sideNumber = input.nextDouble();
// System.out.println("Wrong number of sides!");
System.out.println("Input the length of one of the sides: ");
double sideLenght = input.nextDouble();
input.close();
System.out.println("The area of a polygon is: " + polygonArea(sideNumber, sideLenght));
}
}
解决方案
我终于用布尔值做了它并做while循环。谢谢帮助。
public static void main(String[] args) {
double sideNumber;
input = new Scanner(System.in);
System.out.println("Input the number of sides: ");
boolean invalidInput = true;
do {
sideNumber = input.nextDouble();
if (sideNumber > 2) {
invalidInput = false;
} else
System.out.println("Wrong number of sides!");
} while (invalidInput);
System.out.println("Input the length of one of the sides: ");
double sideLenght = input.nextDouble();
input.close();
System.out.println("The area of a polygon is: " + polygonArea(sideNumber, sideLenght));
推荐阅读
- django - Django 从当前连接的配置文件打印不同的用户配置文件页面
- java - 即使使用双向检查,JPA 分离实体也可以持续存在
- reactjs - React:将 Firestore 信息传递给组件的最佳方式?
- android - 使用应该为真的条件时,我的 Kotlin for 循环不会中断
- nuget - webdriver没有在根项目C#中复制
- php - 在 wordpress/woocomerce 上以编程方式添加产品缩略图和图像
- swift - swiftui和observableObject的双重属性的两种方式绑定
- powershell - Powershell:您可以导入模块的单独副本吗?
- php - PHP查找字符串中包含句点并以空格结尾的所有子字符串
- ruby-on-rails - 客户端(反应)更新后如何从 Rails 控制器更新操作重定向?