~~~~~Java project 初学者求思路 > <~~~~~~~~

问题描述

要求是这样的:写一个methodcalculations,method有两个parameters。一个intnumber是最后想要的结果,另一个parameter是一个chararray包括+,-,*,/,%五种运算符号其中任意一到五个。method要return所有能得到number的数学式,数学必须由1,2,3,4,5,6,7,8,9组成,数字顺序不能改变。每个数字之间必须有一个运算符号。举个例子如果calculations(100,{‘+’,’-‘,’*’,’/’})1+2+3+4+5+6+7+8*9应该是其中一个正确答案可以用任意library可以用privatemethod。请问各位大神有没有什么idea?

解决方案

本帖最后由 sinat_18158113 于 2014-07-21 14:22:14 编辑
解决方案二:

解决方案三:
我想:这个问题不是很难(如果能让你随意的加括号才是更难的)可以分成两步:1.得到表达式2.计算表达式的结果并判断他是否是参数1关于第二步应该有好几种方法:1.你可以找现成的库(抱歉我不知道库的名字)2.你或许可以用java中的某种脚本语言(JavaScriptGroovyJPythonJRuby)3.你还可以用Antlr写个parser(Antlr中有关于四则运算的例子)4.如果上面的3种方法都不行。那么你可以尝试着用Java去生成另一个Java文件并手动编译执行。关于第一步(得到表达式)应该是挺简单的。123456789只是在这几个数字之间填符号(一共只能填8个符号)如果参数2的长度是1则只有1种可能如果参数2的长度是2则只有2^8=256种可能如果参数2的长度是3则只有3^8=种可能如果参数2的长度是4则只有4^8=种可能如果参数2的长度是5则只有5^8=种可能可以创建一个8位的N进制数(N的取值是:1,2,3,4,5之一)并且这个N进制数能够根据{'+',"*"}而输出一个表达式比如8位的2进制数01111101在{'+','-'}的时候会输出1+2-3-4-5-6-7+8-9在{'+','*'}的时候会输出1+2*3*4*5*6*7+8*9再比如比如8位的3进制数01201201在{'+','-','*'}的时候会输出1+2-3*4+5-6*7+8-9

时间: 2024-10-03 22:37:05

~~~~~Java project 初学者求思路 > <~~~~~~~~的相关文章

字符-java 中byte数组转换问题,求思路

问题描述 java 中byte数组转换问题,求思路 现在做的项目有一个byte数组转换的问题,思考很久没有思路,求各路大神给点意见. 需求 :将一个byte数组中的每个元素拆分成两个byte.分别保存前一个byte中的16进制两位的内容的ascii码. 事例 : byte[] a = {0x24,0xBD}; byte[] b = new byte[4]; 想得到的结果: b[0] == 0x32; b[1] == 0x34; b[2] == 0x42; b[3] == 0x44;

关于java问题-Java循环结构初学者求大神带

问题描述 Java循环结构初学者求大神带 从键盘接收一批整数,比较其中最大值和最小值,输入数字0时循环结束. 解决方案 import java.util.Scanner;public class Test0305 { public static void main(String[] args) { Scanner s=new Scanner(System.in); int min=Integer.MAX_VALUE; int max=Integer.MIN_VALUE; int value=s.

用java实现单点登录和安全验证系统系统——求思路!!!怎么实现???

问题描述 用java实现单点登录和安全验证系统系统--求思路!!!怎么实现??? 用java构建一个单点登录和安全验证系统,单点登录系统需要提供10万级别用户访问群的承载,安全验证需提供各种可能的验证模式,验证方式采用一种高级的即可安全验证同时需要提供一种比较好的权限控制机制,以实例说明 解决方案 首先:对于Java而言有有框架可以实现你要的功能,比如:shiro如果自己想要实现,可以利用session或cookie机制.1.比如你又两个应用,要实现单点登录功能2.当其中一个应用被用户登录后,你

java 文章发布-利用java系统做个文章发布求思路

问题描述 利用java系统做个文章发布求思路 利用java做一个文章发布系统 初期的想法是使用Spring+Hibernate 在数据库取出的内容如何显示在页面 是用request么? 新手一只求指导 解决方案 数据库资源宝贵,肯定不能把源文件存进去,可以存文件名,再根据文件名到某一路径下获取该文件,使用浏览器可以在线预览或者下载!

java基础-Java 语言,求大神,初学者Java

问题描述 Java 语言,求大神,初学者Java 打印如下图(三角形) * ** ****求大神,求大神,求大神........ 解决方案 和C语言的差不多,打印三角形 解决方案二: public class Test { /** * 打印三角形 * @param num 打印行数/ public static void printTri(int num){ for(int i=1;i<=num;i++){ for(int j=1;j<=num-i;j++){ System.out.print

java题求思路,刚学的数组

问题描述 java题求思路,刚学的数组 有5个班,现在要分别统计这5个班的学生的平均薪资,然后统计整体的平均薪资, 再按照性别在分别统计每个班男女的平均薪资, 然后按照每个班的平均薪资由高到低输出每一个班的每一个学生的薪资.性别和名字. 解决方案 Java小计算器~刚学 解决方案二: 这题目不难啊,就几个FOR循环,加减乘除操作就完了 import java.util.Scanner; public class Method { public static void main(String[]

c-C初学者编程问题 指针对应修改问题 求思路

问题描述 C初学者编程问题 指针对应修改问题 求思路 #include #include //阅读程序,在读懂程序的基础上运行程序, //观察运行结果,发现其中出现的问题,并解决: //修改BubbleSort函数(函数头也可修改),使得 //在对成绩排序时,各成绩对应的人名也做相应调整 //typedef int INT; //typedef char * PCHAR; typedef char STR[10]; typedef STR * PSTR; //输入成绩的函数 float* inp

php ,ajax 二级联动,求思路,求代码

问题描述 php ,ajax 二级联动,求思路,求代码 用ajax写一个二级联动,不需要数据库,说一下思路,新人求代码 解决方案 类似下面这样,实际多少级联动都差不多,关键事件触发ajax,然后获取数据进行加载http://blog.csdn.net/shunyea/article/details/8443902 数据库http://www.thinksaas.cn/group/topic/346669/ 无数据库 解决方案二: 可以存session,或者存在application(java e

算法 ccf acm-有趣的数 算法的题 求思路

问题描述 有趣的数 算法的题 求思路 问题描述 我们把一个数称为有趣的,当且仅当: 1. 它的数字只包含0, 1, 2, 3,且这四个数字都出现过至少一次. 2. 所有的0都出现在所有的1之前,而所有的2都出现在所有的3之前. 3. 最高位数字不为0. 因此,符合我们定义的最小的有趣的数是2013.除此以外,4位的有趣的数还有两个:2031和2301. 请计算恰好有n位的有趣的数的个数.由于答案可能非常大,只需要输出答案除以1000000007的余数. 输入格式 输入只有一行,包括恰好一个正整数