添加控制结构

时间:2016-04-27 13:46:09

标签: java structure controls

下面的代码将十进制数转换为八进制数。我需要的是让它能够在输入无效时显示这些消息并重复输入过程直到输入有效输入

"输入十进制数:-1

输入不应有任何负号!

输入小数:-a

输入不应有任何负号!

输入不应包含字母!

输入十进制数:-1.1

输入不应该有任何小数点!

输入不应有任何负号!

输入十进制数:-1.a

输入不应该有任何小数点!

输入不应有任何负号!

输入不应包含字母!

输入十进制数:15十进制15 =八进制17"

import java.util.Scanner;

公共班苹果

{

public static void main(String args[])
{
    Scanner sc = new Scanner( System.in );

    System.out.print("Enter a decimal number: ");
    int num =sc.nextInt();


    int rem;
    String str="";

    int num1 = num;
    while(num>0)
    { 
        rem=num%8;
        num=num/8;

        str =rem+str;
    }
    System.out.println("decimal " + num1 + " = octal " + str);
}

}

提前感谢。

1 个答案:

答案 0 :(得分:0)

    boolean continueEntering = true;
    while(continueEntering)
    { 
        int num =sc.nextInt();
        if(your condition failed){
         //print whatever you want
         continueEntering = true; //didnt got the out put so asking again  
        }else{
           //input is valid no need to ask data again
          continueEntering = false; 
        }

    }

你需要在while循环中传递一个布尔值。如果用户输入了无效输入,您可以将布尔值设为true,以便可以再次询问输入。但是,当用户输入有效输入时,我已停止该程序。您可以通过反转布尔值来更改它。