2014-04-08 33 views
1

我有一个Java程序,它执行一些用户输入的计算,最后它必须打印平面的方程。平面方程的格式是6x-2y + 3z-4 = 0。正数的Java打印符号

要获得值6,-2,3,& -4是来自一堆计算。所以我想打印出来的方程式是

System.out.println("Equation is: " + aa + "x" + bb + 
"y" + cc + "z" + gg + "=0"); 

其中aa,bb,cc,gg对应上面的4个整数。但输出

Equation is: 6x-2y3z-4=0 

这似乎是打印在那里减号为负数,但我怎么可以把它打印出一个加号,如果该数字为正数?像之间-2y3z应该是6X-2Y + 3Z-4 = 0

+0

以及你需要添加'+'手动 – Baby

+0

http://stackoverflow.com/questions/5243316/format-a-number-with-leading-sign – Dineshkumar

+0

那么如果它不是z变量是正数,而是它是y变量?或者如果所有变量加上常数都是正数呢? h –

回答

4

你可以使用System.format()

System.out.format("Equation is: %dx %+dy %+dz %+d = 0\n", aa, bb, cc, gg); 
            ^^^

指定+标志应包括符号无论是正面还是负面的。

有关格式化数字输出here的更多信息,

2

您可以尝试使用printf() to display a formatted output

int aa = 6; 
int bb = -2; 
int cc = 3; 
int gg = -4; 

System.out.printf("Equation is: %dx%+dy%+dz%+d=0", aa, bb, cc, gg); 

这里你尤斯格式修改%+d,以指定标志必须显示,即使数量为正。

输出:

Equation is: 6x-2y+3z-4=0 
0

,你需要在你的字符串添加+为正数。你可以做下面的事情。所以最好带一个字符串并在那里添加你的变量。同时加入考虑以下三件事

  1. 如果变量为0不要添加该部分。
  2. 如果变量为正加一个“+”则变量
  3. 如果变量是否定的只是新增了可变