用java 从键盘输入两个正整数,表示分数的分子和分母,编写程序完成分数的化简,输出化简结果,如果结果为整数,只输出整数结果
时间: 2024-09-23 13:14:19 浏览: 81
在Java中,你可以通过Scanner类获取用户的输入,然后使用辗转相除法(也叫欧几里得算法)来计算最大公约数(GCD),进而化简分数。以下是简单的示例代码:
```java
import java.util.Scanner;
public class FractionReducer {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// 获取分子和分母
System.out.println("请输入分数的分子:");
int numerator = scanner.nextInt();
System.out.println("请输入分数的分母:");
int denominator = scanner.nextInt();
// 检查分母是否为0,因为除数不能为0
if (denominator == 0) {
System.out.println("分母不能为0,请重新输入!");
return;
}
// 计算最大公约数(GCD)
int gcd = gcd(numerator, denominator);
// 化简分数
int simplifiedNumerator = numerator / gcd;
int simplifiedDenominator = denominator / gcd;
// 输出化简后的结果
System.out.printf("化简后的分数是 %d/%d", simplifiedNumerator, simplifiedDenominator);
if (simplifiedDenominator == 1) { // 如果结果为整数
System.out.println(", 它是一个整数: " + simplifiedNumerator);
} else {
System.out.println("");
}
}
// 辗转相除法计算GCD
private static int gcd(int num1, int num2) {
if (num2 == 0) {
return num1;
} else {
return gcd(num2, num1 % num2);
}
}
}
```
当你运行这个程序,它会提示用户输入分数的分子和分母,并输出化简后的结果。如果结果是整数,还会单独显示出来。
阅读全文