首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我使用if语句编写了代码,但如果用户输入了无效的数字,我需要它来重新提示用户输入数字

我使用if语句编写了代码,但如果用户输入了无效的数字,我需要它来重新提示用户输入数字
EN

Stack Overflow用户
提问于 2013-09-20 05:51:05
回答 2查看 777关注 0票数 0

我需要制作一个从2到24的偶数个星号的框,如果输入了错误的数字,我不知道如何重新提示。代码运行得很好,只是它不会重新提示。我尝试在if语句的末尾使用continue语句,但现在我意识到它不会接受。有没有其他方法可以让它在不更改代码的情况下重新提示?

代码语言:javascript
复制
import java.util.Scanner;

public class Box
{
public static void main(String[] args)
{
Scanner input = new Scanner (System.in);
System.out.print("Enter an even number (2-24): ");
int line = input.nextInt();

if(line < 2 || line > 24 || line % 2 !=0)
    {
    System.out.println("Value must be an even number from 2-24");
 //THE PROBLEM IS THAT I NEED IT TO REPROMPT RIGHT HERE--HELP???
    }
else
{
int j=0;
while(j<line)
    {
    System.out.print("*");
    j++;// j=j+1
    }

System.out.println();       

int k=0;
while(k<line-2)
    {
    System.out.print("*");  
    int c=0;
    while(c<line-2)
        {
        System.out.print(" ");
        c++;
        }
    System.out.println("*");
    k++;
    }

int r=0;
while(r<line)
    {
    System.out.print("*");
    r++;// j=j+1
    }

System.out.println();
}

}

}
EN

回答 2

Stack Overflow用户

发布于 2013-09-20 05:54:03

您需要将if语句更改为另一个while循环。当line值不可接受时,它需要循环。确保在循环体内重新提示并重新接受输入:

代码语言:javascript
复制
int line = input.nextInt();

while (line < 2 || line > 24 || line % 2 !=0)
{
    System.out.println("Value must be an even number from 2-24");
    //THE PROBLEM IS THAT I NEED IT TO REPROMPT RIGHT HERE--HELP???
    System.out.print("Enter an even number (2-24): ");
    line = input.nextInt();
}

然后,您可以删除现在已删除的ifelse部分。

票数 4
EN

Stack Overflow用户

发布于 2013-09-20 06:17:38

出于好奇心,您可以将其作为一行for循环:

代码语言:javascript
复制
int n;
System.out.print("Enter an even number (2-24): ");
for (n = input.nextInt(); n < 2 || n > 24 || n % 2 !=0; n = input.nextInt())
    System.out.println("Value must be an even number from 2-24\nEnter an even number (2-24): ");
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18905511

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档