2014-04-08 35 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. 如果變量是否定的只是新增了可變