我正在尝试实施基本计算。该程序接受2个数字,它工作正常10除以5并给出答案2.如果任何较小的值除以较大的值它将给我0,我可以得到分数的答案吗?
实施例8除以100等于8/100而不是0.
public class numtheory {
public static void main(String[] args) {
int n1;
int n2;
Scanner scan = new Scanner(System. in );
System.out.println("input number 1: ");
n1 = scan.nextInt();
System.out.println("input number 2: ");
n2 = scan.nextInt();
int temp1 = n1 / n2;
System.out.print("\n Output :\n");
System.out.print(temp1);
System.exit(0);
}
}
答案 0 :(得分:4)
您需要将您的号码转换为double
:
double temp = ((double) n1) / n2;
答案 1 :(得分:3)
如果你想制作一个分数,你可以打印出来:
System.out.println(n1 + "/" + n2);
这将打印出您给出的任何数字,但不会减少。 你可以通过以下方式自己减少它们:
int n = n1;
int d = n2;
while (d != 0) {
int t = d;
d = n % d;
n = t;
}
int gcd = n;
n1 /= gcd;
n2 /= gcd;
然后打印出来:
System.out.println(n1 + "/" + n2);
答案 2 :(得分:0)
您需要使用double,而不是使用整数。 这是因为整数只能包含double可以包含十进制数的数字。
你可以将所有的int改为double,或者通过dooing将in转换为double加倍
((double) yourIntValue)
答案 3 :(得分:0)
您还可以将输入作为字符串获取,并使用
进行解析double dval=Double.parseDouble(value);