A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

现在有这么个需求:我需要这么一个方法,我会往这个方法里头传入四个 int 类型的参数,
即: int  a,  int  b,  int  c, int  d
例如:我传进来的四个int 数是:1,  4,4, 3 现在需要将传入的这四个整型的参数进行 加减乘除 法则运算!

但是现如今的问题是:你不能确定第一个数与第二个数用的是什么运算符连接,同理,第二个数与第三个数也不能确定用什么运算符号连接,第三个数与第四个数也是一样的道理!即:数与数之间连接起来的运算符(+、—、x、÷) 不能确定是用什么运算符连接起来,这就意味着我们在程序当中需要去进行一一罗列!再者,有可能这四个数连接起来用的全部是加法,也有可能全部是减法,有可能只用了其中两种,也有可能只用了运算符的其中三种,也可能四种全部用上了!

最后将运算得到的结果进行筛选,结果大于16的,全部过滤掉,pass掉,只留下小于等于16的结果,0 也可以过滤掉了,没有意义,并将结果进行从小到大排序打印出来!(当然,重复的结果留下其中一个就够了)!

6 个回复

倒序浏览
回复 使用道具 举报
总共有64种不同的运算,假如那四个数字固定的话,可以做出来
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
说了半天炫炫呼呼的不就是个计算器吗。。。。。。可以通红switch语句来选择需要进行的运算规则
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
具体后面的筛选,结果都出来了随你怎么处理
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
回复 使用道具 举报
帖代码
    static String[] symbolArr = new String[]{"+","-","*","/"};
    static int sumNumber =0;
    static int[] valueNumbers =new int[]{1,2,3,4};
    public static void main(String[] args) {
        for (int i = 0; i < symbolArr.length ; i++) {
            for (int j = 0; j < symbolArr.length ; j++) {
                for (int k = 0; k < symbolArr.length; k++) {
                   sumNumber=getValue(valueNumbers,new String[]{symbolArr[i], symbolArr[j], symbolArr[k]});
                    if (sumNumber<=16){
                        System.out.print(sumNumber);
                    }
                }
            }
        }
    }
    static int getValue(int[] values, String[] args){
        for (int i = 0; i < args.length; i++) {
            switch (args[i]){
                case "+":
                    switch (i){
                        case 0:
                            sumNumber =values[0]+values[1];
                            break;
                        case 1:
                            sumNumber = sumNumber+values[2];
                            break;
                        case 2:
                            sumNumber = sumNumber+values[3];
                            break;
                    }
                    break;
                case "-":
                    switch (i){
                        case 0:
                            sumNumber =values[0]-values[1];
                            break;
                        case 1:
                            sumNumber = sumNumber-values[2];
                            break;
                        case 2:
                            sumNumber = sumNumber-values[3];
                            break;
                    }
                    break;
                case "*":
                    switch (i){
                        case 0:
                            sumNumber =values[0]*values[1];
                            break;
                        case 1:
                            sumNumber = sumNumber*values[2];
                            break;
                        case 2:
                            sumNumber = sumNumber*values[3];
                            break;
                    }
                    break;
                case "/":
                    switch (i){
                        case 0:
                            sumNumber =values[0]/values[1];
                            break;
                        case 1:
                            sumNumber = sumNumber/values[2];
                            break;
                        case 2:
                            sumNumber = sumNumber/values[3];
                            break;
                    }
                    break;
            }
        }
        return sumNumber;
    }
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马