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

Java-初学者代码,添加分数

周正真
2023-03-14

下周我有一个学校项目要做,我正试图找到解决这个问题的方法。问题是开发一个程序,将用户输入的分数相加,直到输入-1。

  • 输入将总是成对和正数
  • 只能使用:int、for、while、if、scanner(因此没有中断或数组)
  • 最好使用GCD,因为需要打印减少的分数和

所以我的问题是:

  • 在用户使用扫描仪键入-1之前,我可以使用同时循环吗?
  • 是否可以使用“同时”让用户输入“无限”(我知道在java中没有这样的)数字直到终止?
  • 在上一个问题的代码中我为方程写了公因数,我如何为未知数量的变量写公因数

编辑:这是我的代码,问题是,它只运行4*n个数字,我需要它能够运行2*n个数字:(如2/4或2/4 1/3 1/2)

Scanner myScanner=new Scanner(System.in);
        int a;
        int b;
        int c;
        int d;
        int m = a*d + b*c;
        int n = b*d;
        int r = m%n;

        while((a = myScanner.nextInt()) != -1)
        {
            b = myScanner.nextInt();
            c = myScanner.nextInt();
            d = myScanner.nextInt(); 
            while (r != 0) {
                m=n;
                n=r; 
                r = m%n;
            }
            m = (a*d + b*c)/n;
            n = (b*d)/n;

            System.out.println(m);
            System.out.println(n);

        }

}

共有1个答案

赵高雅
2023-03-14

可以一直从扫描仪读取输入,直到输入定义的消息(在这种情况下是成对的数字,直到输入-1

Scanner scanner = new Scanner(System.in);
int num1;
int num2;

while((num1 = scanner.nextInt()) != -1)
{
    num2 = scanner.nextInt();
    //do stuff with num1 and num2
}

a .的要点是允许用户输入可变的数量,所以除非你有一个硬限制的理由,否则理论上它应该接受无限的输入

与其在得到任何数字之前试图计算公因数,不如在得到数字时更容易计算公因数

int newNumerator = numerator1 * denominator2 + numerator2 * denominator1;
int newDenominator = denominator1 * denominator2;

跟踪当前的分子和分母,当你得到更多对时更新

然后可以将A应用于无限输入

Scanner scanner = new Scanner(System.in);
int numerator = 0;
int denominator = 0;
int tempNumer = 0;
int tempDenom = 0;

if((numerator = scanner.nextInt()) != -1)
{
    denominator = scanner.nextInt();
    while((tempNumer = scanner.nextInt()) != -1)
    {
        tempDenom = scanner.nextInt();
        numerator = numerator * tempDenom + tempNumer * denominator;
        denominator = denominator * tempDenom;
    }
}
 类似资料:
  • 我是一个非常初级的程序员,正在上暑期班。因此,请轻松使用代码。我需要创建一个投资应用程序,计算2500美元的投资如果以每年7.5%的复利计算,需要多少年才能达到至少5000美元的价值。顺便说一下,我不知道什么是for循环。我只是想不出如何处理循环,不是方程式而是循环。请帮忙!! 这就是我目前所拥有的。

  • (下面是完整的代码)我刚刚交了一个课堂实验,在那里我们必须做一个描述某本书的课堂。我不知道怎么做两件事。1.如果有人为“页面”或“SuggestedMetalPrice”输入的值小于零,则该值必须设置为零。在该代码中,即使值为正,该值也设置为0。在: 如果我将第二个“0”设置为不同的数字,比如说: 那么你输入的“页面”的值将是1。但是如果你输入的值是负数,它不应该只有1吗?我不明白我做错了什么。

  • 在此输入图像说明

  • 我对AngularJS不熟悉,只是在玩弄这些东西。这是我的HTML: 以下是控制器代码: 我已经使用属性设置了输入文本字段的值。因此,我期望控制器函数读取这些值并在页面加载时返回全名。但我得到的是: 输入文本框为空。为什么会这样呢?

  • 每次我输入东西时,这段代码都会循环。如何修复它? 这是整个事情的截图: