public static void main(String[] a){
int i = 0
System.out.println("2x+3y=65在6<=x<=40,15<=y<=50区间中的全部整数解有:")
for(int x=6x<=40x++){
for(int y=15y<=50y++){
if((2*x+3*y)==65){
i++
System.out.println("第"+i+"组解:x="+x+",y="+y)
}
}
}
}
}
不知道你在给公式赋完变量之后是要做什么,是直接输出公式计算结果呢,还是直接把整个公式打印出来呢。如果你是想输出计算结果的话,你的所谓的公式应该是写成了一个方法的吧,这样直接把参数传给该方法就可以得到你想要的结果了吧。
如果你是想输出替换变量之后的公式的话,那就用替换做呗,JAVA里面有一个叫MessageFormat的类可以帮你做这个事情。
比方说一个一元一次方程ax=3,a就是你想替换的变量了如果你想把它替换成3,这样的话在java里面可以这么实现
String string = "{0}x=3"
String result = MessageFormat.format(string, "3")
得到的result就是3x=3了。
二元式子的话就这么干啦:
String string = "{0}x+{1}y=3"
String result = MessageFormat.format(string, "3", "3")
结果就是3x+3y=3的啦
上例程序中首先进行宏定义,定义M来替代表达式(y*y+3*y),在s=3*M+4*M+5* M中作了宏调用。在预处理时经宏展开后该语句变为:s=3*(y*y+3*y)+4*(y*y+3*y)+5*(y*y+3*y)
但要注意的是,在宏定义中表达式(y*y+3*y)两边的括号不能少。否则会发生错误。如当作以下定义后:
#difine M y*y+3*y
在宏展开时将得到下述语句:
s=3*y*y+3*y+4*y*y+3*y+5*y*y+3*y;
这相当于:
3y2+3y+4y2+3y+5y2+3y;