2015-10-08 24 views
1

美好的一天!我做了一個程序,可以找到一個點的軌跡方程,如果它是一個正數,我想讓我的輸出顯示一個「+」號。然而,當它反面時,它表現出一個「 - 」符號,因爲我回報了它們的價值觀。這裏是我的代碼:在java中顯示正號或負號的格式

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {           

     int x1 , y1, x2, y2, 
      inverted_x1, inverted_y1, inverted_x2, inverted_y2, 
      x1Times2, x2Times2, y1Times2, y2Times2, 
      x1raised, y1raised, x2raised, y2raised, 
      computeX, computeY, computeS, 
      x2inverted, y2inverted, invertedx2times2, invertedy2times2; 

     try{ 
      x1 = Integer.parseInt(jTextField1.getText()); 
      y1 = Integer.parseInt(jTextField2.getText()); 
      x2 = Integer.parseInt(jTextField3.getText()); 
      y2 = Integer.parseInt(jTextField4.getText()); 

      int[] array = new int[4]; 
        array[0] = x1; 
        array[1] = x2; 
        array[2] = y1; 
        array[3] = y2; 

      inverted_x1 = x1 *= -1; 
      inverted_y1 = y1 *= -1; 
      inverted_x2 = x2 *= -1;  
      inverted_y2 = y2 *= -1;   

      jTextField5.setText("(x" + Integer.toString(inverted_x1) + ")² + (y" + Integer.toString(inverted_y1) + ")²" 
        + " = (x" + Integer.toString(inverted_x2) + ")² + (y" + Integer.toString(inverted_y2) + ")²"); 

      x1Times2 = inverted_x1*2; 
      y1Times2 = inverted_y1*2;   
      x2Times2 = inverted_x2*2; 
      y2Times2 = inverted_y2*2;         
      x1raised = inverted_x1*inverted_x1; 
      y1raised = inverted_y1*inverted_y1;   
      x2raised = inverted_x2*inverted_x2; 
      y2raised = inverted_y2*inverted_y2; 

      jTextField9.setText("x" + Integer.toString(x1Times2) + "x" + Integer.toString(x1raised) + "+y²" + Integer.toString(y1Times2) 
        + "y" + Integer.toString(y1raised) + "= x²" + Integer.toString(x2Times2) + "x" + Integer.toString(x2raised) + "+y²" 
        + Integer.toString(y2Times2) + "y" + Integer.toString(y2raised));    

      x2inverted = x2raised *= -1; 
      y2inverted = y2raised *= -1; 
      invertedx2times2 = x2Times2 *= -1; 
      invertedy2times2 = y2Times2 *= -1; 
      computeX = x1Times2 + invertedx2times2; 
      computeY = y1Times2 + invertedy2times2; 
      computeS = x2inverted + y2inverted + x1raised + y1raised; 

      jTextField17.setText(Integer.toString(computeX) + "x" + Integer.toString(computeY) + "y" + Integer.toString(computeS) + "=0");                     

      XYLineChart_AWT chart = new XYLineChart_AWT("Locus of Point Graph", "", array); 
      chart.pack();   
      RefineryUtilities.centerFrameOnScreen(chart);   
      chart.setVisible(true);    

     }catch(Exception e){ 
      JOptionPane.showMessageDialog(null, "Please fill necessary inputs"); 
     } 
    }  

下面是一個示例輸出: Click Me。如果我的輸出結果爲正數,可以顯示「+」符號嗎?

預先感謝您!

回答

1

您可以用條件表達式覈對數量,然後用符號打印爲字符串:

private static String formatSign(int number) { 
    return (number > 0 ? "+" : "") + number; 
} 

因爲你沒弄清楚如何處理0,我以爲你想離開它無符號。

輸出例如:

-5 
0 
+5 
+0

謝謝,我現在明白了! – Diestro