宇视科技2015应届生招聘笔试题

xiaoxiao2021-02-28  109

收集到到的试题不全,分享给有需要的同学~

用JAVA实现了分数的加减法,其中输入的字符串为“a/boc/d“,其中a,b,c,d时一个0-9的整数,o是运算符“+“或者“-”

public class Test1 { public static void main(String[] args) { Scanner in = new Scanner(System.in); String A = in.next(); in.close(); char[] B = A.toCharArray(); int[] C = new int[4];//用于存储abcd的值 int ii = 0; for (int i = 0; i < C.length; i++) { C[i] = Integer.parseInt(String.valueOf(B[ii])); ii += 2; } if (C[1] == 0 || C[3] == 0 ) { System.out.println("输入有误,分母不能为0!"); System.exit(0); } int temp = 0; if (C[1] != C[3]) {//分母不同 temp = C[1] * C[3]; C[0] = C[0] * C[3]; C[2] = C[2] * C[1]; C[1] = temp; C[3] = temp; } if (B[3] == '+') { temp = C[0] + C[2]; } else { temp = C[0] - C[2]; } int operate = 1;//代表运算后分数的正负号 if (temp < 0) { operate = -1; } temp *= operate; /** * 获得分子分母的公约数 */ int min = 0; int max = 0; int value = 1; if (temp > C[1]) { max = temp; min = C[1]; } else { max = C[1]; min = temp; } for (int i = 2; i <= min; i++) { if (min % i == 0 && max % i == 0) { value = i; } } temp /= value; C[1] /= value; temp *= operate; if (temp == 0) { System.out.println(0); } else { System.out.println(String.valueOf(temp) + "/" + String.valueOf(C[1])); } } }

转载请注明原文地址: https://www.6miu.com/read-31274.html

最新回复(0)