Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 程序应在用户确认后返回数据输入,并在用户确认后终止_Java - Fatal编程技术网

Java 程序应在用户确认后返回数据输入,并在用户确认后终止

Java 程序应在用户确认后返回数据输入,并在用户确认后终止,java,Java,我想通过请求y/n输入,循环我的代码返回到输入的分子和分母部分。我正在使用封装(学校项目),我不知道如何做。以下是说明: 编写具有以下规范的Java程序: 在分数类中定义两个私有属性:分子和分母。定义此类的构造函数 定义分数类的setter(mutator)和getter(accessor) 在Fraction类中还定义以下自定义方法: A.显示分形形式 B确定性西学期 C确定CIMALEquivalent D确定动作类型 分数类型如下所示: A.适当分数–分子小于分母 B不正确分数–分子大于分

我想通过请求y/n输入,循环我的代码返回到输入的分子和分母部分。我正在使用封装(学校项目),我不知道如何做。以下是说明:

编写具有以下规范的Java程序:

  • 在分数类中定义两个私有属性:分子和分母。定义此类的构造函数

  • 定义分数类的setter(mutator)和getter(accessor)

  • 在Fraction类中还定义以下自定义方法: A.显示分形形式 B确定性西学期 C确定CIMALEquivalent D确定动作类型

  • 分数类型如下所示: A.适当分数–分子小于分母 B不正确分数–分子大于分母,但商是实数(例如:3.45) C整数–分子大于分母,但商没有小数部分

  • 创建一个名为Math的主类。此类应包含main方法

  • 在main方法中实例化Fraction类的对象

  • 在main方法中调用Fraction类的方法以显示示例输出中所示的需求:

  • 这是示例输出:

    import java.util.Scanner;
    公共班机
    {
    公共静态void main(字符串[]args)
    {
    扫描仪输入=新扫描仪(System.in);
    分数分数分数=新分数();
    System.out.println(“输入分子:”);
    frac.setNum(input.nextInt());
    System.out.println(“输入分母:”);
    frac.setDen(input.nextInt());
    System.out.println(“*******************输出*******************”);
    System.out.println(“分子:+frac.getNum());
    System.out.println(“分母:+frac.getDen());
    System.out.println(“分数形式:+frac.getShowFractionForm());
    System.out.println(“最低期限:+frac.getDetermineLowestTerm());
    System.out.println(“最低项:+frac.getDeterminefActionType());
    System.out.println(“十进制等价物:+frac.getdeterminatedCIMALEquivalent());
    } 
    公共静态类分数
    {
    私有整数,den;
    私有字符串showFractionForm;
    私有字符串determinefActionType;
    专用字符串限定词;
    私有双确定CIMALEquivalent;
    //访问者
    公共字符串getShowFractionForm()
    {
    字符串num1=Integer.toString(num);
    字符串den1=Integer.toString(den);
    showFractionForm=num+“/”+den;
    返回showFractionForm;
    }
    公共字符串getDeterminefActionType()
    {
    如果(数量%den==0){
    DeterminefActionType=(“整数”);
    }否则如果(数量<密度){
    DeterminefActionType=(“适当分数”);
    }否则如果(数值>密度){
    DeterminefActionType=(“不当分数”);
    }
    返回确定动作类型;
    }
    公共字符串getDetermineLowestTerm()
    {
    int较小=num0;--i){
    if(num%i==0&&den%i==0)
    {
    HCF=i;
    determinitelowestterm=(num/HCF)+“/”+(den/HCF);
    打破
    }
    }
    返回期限;
    }
    公共双GetDeterminateCimaleEquivalent()
    {
    determinatedCIMALEquivalent=(双)num/den;
    返回确定CIMALEQUALE;
    }
    公共int getNum()
    {
    返回num;
    }
    公共整数getDen()
    {
    返回巢穴;
    }
    //突变子
    公共void ShowFractionForm(字符串形式)
    {
    this.showFractionForm=表格;
    } 
    公共void setDeterminefActionType(字符串类型)
    {
    this.determinefActionType=类型;
    }
    public void setDetermineLowestTerm(字符串术语)
    {
    this.determineLowestTerm=期限;
    } 
    public void setdeterminatedCIMALEquivalent(整数十进制)
    {
    这个。determinatedCIMALEquivalent=十进制;
    } 
    公共void setNum(int num)
    {
    this.num=num;
    } 
    公共无效设置(内部设置)
    {
    this.den=den;
    } 
    } 
    }
    
    我想这样做会对您有所帮助:

    Scanner sc = new Scanner(System.in);        
        System.out.println("Again? y/n");
        String answer = sc.next(); 
    
        while (answer.equals("y")) {
            System.out.println("Looping job!");         
    
            System.out.println("Again? y/n");
            answer = sc.next(); 
            if(answer.equals("n")) {
                System.out.println("bye T.T");
                break;
            }           
        }
    

    你可以这样尝试smth:

    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        Fraction frac = new Fraction();
        boolean isContinue = true;
        while (isContinue) {
            System.out.println("Enter numerator: ");
            frac.setNum(input.nextInt());
            System.out.println("Enter denominator: ");
            frac.setDen(input.nextInt());
    
            System.out.println("***************OUTPUT***************");
            System.out.println("NUMERATOR: " + frac.getNum());
            System.out.println("DENOMINATOR: " + frac.getDen());
            System.out.println("FRACTION FORM: " + frac.getShowFractionForm());
            System.out.println("LOWEST TERM: " + frac.getDetermineLowestTerm());
            System.out.println("LOWEST TERM: " + frac.getDetermineFractionType());
            System.out.println("DECIMAL EQUIVALENT: " + frac.getDetermineDecimalEquivalent());
            System.out.println("Input again? [y/n]");
            String result = input.next();
            isContinue = result.equals("y");
        }
    }
    

    有关while循环的更多信息:

    只需从以下内容开始包装所有内容:

    System.out.println ("Enter numerator: ");
    
    在一段时间内循环。如下图所示:

    public static void main(String[] args) {
    
        Scanner input = new Scanner (System.in);
    
        while(true) {
            System.out.println("Enter numerator: ");
            //enumerator code here
            System.out.println("Enter denominator: ");
            //denominator code here
    
            //some additional code here
    
            System.out.println("Again? ");
            if (input.nextLine().toLowerCase().equals("n")) break;
        }
    
    }
    

    TL;博士………您好,您能告诉我在我的主要功能中添加该功能的位置吗?
    public static void main(String[] args) {
    
        Scanner input = new Scanner (System.in);
    
        while(true) {
            System.out.println("Enter numerator: ");
            //enumerator code here
            System.out.println("Enter denominator: ");
            //denominator code here
    
            //some additional code here
    
            System.out.println("Again? ");
            if (input.nextLine().toLowerCase().equals("n")) break;
        }
    
    }