当前位置: 首页 > 知识库问答 >
问题:

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

赫连俊悟
2023-03-14

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

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

>

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

    为Fraction类定义setter(mutators)和getter(accessor)。

    在Fraction类中还定义以下自定义方法:a.showFractionForm b.determineLowestTerm c.DeterminateCimaleEquivalent d.determineFractionType

    分数类型如下:a.适当的分数-分子小于分母b.不适当的分数-分子大于分母,但商是实数(例如:3.45)c.整数-分子大于分母,但商没有小数部分

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

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

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

    这是示例输出:

        import java.util.Scanner;
    
    public class Main 
    {
    
        public static void main (String[]args) 
        {
    
        Scanner input = new Scanner (System.in);
        Fraction frac = new Fraction ();
    
        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 ());
    
    } 
    
    public static class Fraction 
    {
    
    private int num, den;
    private String showFractionForm;
    private String determineFractionType;
    private String determineLowestTerm;
    private double determineDecimalEquivalent;
    
    
    //accessors
    
    
    public String getShowFractionForm () 
    {
    
    String num1 = Integer.toString (num);
    String den1 = Integer.toString (den);
    showFractionForm = num + "/" + den;
    return showFractionForm;
    }
    
    public String getDetermineFractionType()
    {
    if (num % den == 0) {
        determineFractionType = ("WHOLE NUMBER");
    } else if (num < den ) {
        determineFractionType = ("PROPER FRACTION");
    } else if (num > den) {
        determineFractionType = ("IMPROPER FRACTION");
    }
    return determineFractionType;
    }
    
    public String getDetermineLowestTerm () 
    {
    int smaller = num < den ? num : den;
    int HCF = -1;
        for (int i = smaller; i > 0; --i){
            if (num % i == 0 && den % i == 0)
        {
    HCF = i;
    determineLowestTerm = (num / HCF) + "/" + (den / HCF);
    break;
        }
    }
    return determineLowestTerm;
    }
    
    public double getDetermineDecimalEquivalent () 
    {
    determineDecimalEquivalent = (double) num / den;
    return determineDecimalEquivalent;
    }
    
    public int getNum ()
    {
    return num;
    }
    
    public int getDen ()
    {
    return den;
    }
    
    
    //mutators
    
    public void ShowFractionForm (String form) 
    {
    this.showFractionForm = form;
    } 
    public void setDetermineFractionType(String type)
    {
        this.determineFractionType = type;
    }
    public void setDetermineLowestTerm (String term) 
    {
    this.determineLowestTerm = term;
    } 
    
    public void setDetermineDecimalEquivalent (int decimal) 
    {
    this.determineDecimalEquivalent = decimal;
    } 
    
    public void setNum (int num)
    {
    this.num = num;
    } 
    
    public void setDen (int den)
    {
    this.den = den;
    } 
    
    } 
    
    }
    
  • 共有3个答案

    齐意致
    2023-03-14

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

    System.out.println ("Enter numerator: ");
    

    在while循环中。如下所示:

    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;
        }
    
    }
    
    戚浩淼
    2023-03-14

    我想这样的事情会对你有所帮助:

    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;
            }           
        }
    
    封德华
    2023-03-14

    您可以这样尝试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循环的详细信息:https://www.w3schools.com/java/java_while_loop.asp

     类似资料:
    • 我有一个使用Identity server 4的Identity server。当新用户注册时,我们会向他们发送确认电子邮件 发送给用户的url如下所示 http://localhost:5000/Account/ConfirmEmail?userId=21248584 重定向回应用程序 当应用程序定向到身份服务器进行用户登录时,它会发送一个返回函数。此url用于在用户登录后返回应用程序 返回/连

    • 我找到了Polly包,它被设置为在C#中处理try/catch重试。我目前的代码设置如下: 我的方法只是在主线程的当前页面上显示一个: 当我调试这个并切断我的internet连接时。从不显示。发生两件事之一: null 更新: 在将对的调用放到方法中之后,我现在找到了绕过的方法。然而,现在我又有了一个问题。 一旦我断开与internet的连接,就会像应该的那样弹出。程序在完成函数之前等待我单击重试

    • 问题内容: 我们正在Symfony 2中从头开始构建一个业务应用程序,我在用户注册流程上遇到了一些麻烦:用户创建帐户后,应该使用这些凭据自动登录。立即被迫再次提供其凭据。 任何人都对此有任何经验,或者能够为我指明正确的方向? 问题答案: Symfony 4.0 此过程尚未从symfony 3更改为4,但是这里是使用新推荐的AbstractController的示例。无论是和服务注册在父方法,所以你

    • 我创建了一个具有并发gcloud应用程序的Dialogflow代理。但是,当我尝试将它集成到Node.js后端时,它似乎访问了错误的应用程序默认凭据。 我可以确认它正在验证身份验证是否成功,因为当我运行以下代码时,它的控制台记录了正确的项目ID(diagnosistest-56e81): null 当我执行此操作时,会得到不同的错误消息:

    • 我正在尝试在 Go 应用引擎部署上使用具有域范围委派 (DwD) 的服务帐户。 我已按照使用 Google 应用程序默认凭据的步骤将服务帐户与应用引擎配合使用。 我让代码在我的开发计算机上本地运行,但我被困在从我的域中检索实际数据。 我用的是Admin SDK。在“向您的服务帐户授予域范围的权限”一节中,它说我的“服务帐户需要模拟其中一个用户来访问Admin SDK Directory API”。

    • 接口说明 该接口由开发者开放给变现猫,变现猫进行调用 不管积分扣除行为最终成功还是失败,变现猫都会向开发者发出通知。 开发者收到通知后,请以变现猫订单号 orderNum 为准进行处理,改变订单状态,如果扣除成功,开发者在系统内标记此订单为成功状态即可。如果扣除失败,开发者需要将该订单标记为失败,并将之前扣积分接口预扣的积分返还给用户。 无论接受到的结果如何,只要开发者收到该请求,请返回 ok 字