loops - 无效输入后循环重复
问题描述
所有的计算都很好。当我得到一个无效条目并且用户输入一个新的正整数时,我遇到了问题。它不会重新开始循环。任何意见是极大的赞赏!
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int start;
int i;
double squareRoot;
System.out.println("Please enter a positive integer: ");
start = in.nextInt();
if (start > 0){
do {
squareRoot = Math.sqrt(start);
start--;
System.out.printf("%.4f", squareRoot);
System.out.println();
}
while (start >= 0);
}
else {
System.out.println("The number you entered is not a postive integer.");
System.out.println("Please enter an integer greater than zero: ");
start = in.nextInt();
}
}
}
解决方案
如果您需要一遍又一遍地执行相同的步骤,则需要一个循环。所以添加一个带有简单条件的while循环并让它一遍又一遍地运行。
这是一个示例代码。我不得不选择退出,所以以-1为线索。
import java.util.Scanner;
public class HelloWorld {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int start;
int i;
double squareRoot;
System.out.println("Please enter a positive integer: ");
boolean quit = false;
while (!quit) {
System.out.println("Enter the integer");
start = in.nextInt();
if (start > 0){
do {
squareRoot = Math.sqrt(start);
start--;
System.out.printf("%.4f", squareRoot);
System.out.println();
}
while (start >= 0);
}
else if (start == -1) {
quit = true;
}
else {
System.out.println("The number you entered is not a postive integer.");
System.out.println("Please enter an integer greater than zero: ");
}
}
}
}
推荐阅读
- html - 如何在 ion-item 中修改 .item-native 类?
- django - Django创建图像文件的路径
- amazon-web-services - 关于检索 AWS EC2 实例作为快照
- amazon-web-services - 用于授予对 AWS 资源的访问权限的 Amazon STS 与身份池
- openlayers - 如何在打开图层图中的标记单击上设置蜘蛛视图标记?
- angular - 如何循环 .subscribe observable
- android - Flutter:如何为常见的平板电脑屏幕密度包含自定义的可绘制资产
- php - 如何通过 $_GET['NameField'] 将 php 值插入 html 标签
- python - pyral deleteAttachment 从测试用例定义中删除附件不起作用
- php - 优点正在从 php 中的 GET 变量中剥离