正面数字的Java打印符号

时间:2014-04-08 05:01:34

标签: java

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

获取值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

3 个答案:

答案 0 :(得分:5)

您可以使用System.format()

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

指定+标志将包含正面或负面的标志。

您可以找到有关格式化数字输出here的更多信息。

答案 1 :(得分:3)

您可以尝试使用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

答案 2 :(得分:0)

您需要在字符串中添加+以获得正数。你可以做以下事情。所以最好带一个字符串并在那里添加你的变量。虽然添加考虑以下三件事

  1. 如果变量为0,则根本不添加该部分。
  2. 如果变量为正,则添加'+',然后添加变量
  3. 如果变量为负数,则添加变量