2012-11-06 34 views
-2

我正在嘗試使用方法來顯示一個值,然後以不同的十進制格式交替顯示它。主要問題是我輸入後無法調用該值。那是我所知道的唯一問題,但是如果還有其他的事情我不能理解,我會非常感謝任何見解。方法和調用引用

//************************************************* 
//Hwk8 This Program displays Java Methods 
//Written By: Daniel Kellogg 
//Last Modified: 11/05/12 
//************************************************ 
import java.util.Scanner; 
import java.io.*; 
import java.text.DecimalFormat; 
import javax.swing.JOptionPne; 

public class Hwk8 { 
     public static void main (String[] args) throws IOException { 
       double value; 
       double value2; 
       double value3; 
       double value4; 
       double value5; 

       value = getValue(); 
       System.out.println(value); 

       value2 = getValue2(); 
       System.out.println(value2); 

       value3 = getValue3(); 
       System.out.println(value3); 

       value4 = getValue4(); 
       System.out.println(value4); 

       value5 = getValue5(); 
       System.out.println(value5); 

       System.exit(0); 
     } 


     public static double value() 
     { 
       double value; 
       value = JOptionPane.showInputDialog("enter value"); 
       return value; 
     } 

     public static double value2(value) throws IOException 
     { 
       double value2; 
       value2 = roundToInteger(value); 
       return value2; 
     }  

     public static double value3(value) throws IOException 
     {  
      double value3; 
      value3 = roundToTenths(value); 
      return value3; 
     } 

     public static double value4(value) throws IOException 
     { 
       double value4; 
       value4 = roundToHundredths(value); 
       return value4; 
     } 

     public static double value5(value) throws IOException 
     {  
       double value5; 
       value5 = roundToThousandths(value); 
       return value5; 
     } 
} 
+0

您可以通過在標題參考提起電話,但沒有表明與問題的相關性。 –

回答

0

你調用函數與像getValue的名字,但你引用的職能有像value名字。也許是一個半完整的重命名?

在你main,你不會有通過只是標識value訪問您value功能,因爲你已經定義與陰影它這個名字的局部變量。因此,要使用value函數,則需要使用其完全限定名稱Hkw8.value

1

你的方法聲明是無效的:

public static double value2(value) 

您需要提供的參數,例如

public static double value2(double value) 

然後你需要爲參數,當你調用它,例如提供參數

其他說明:

  • 我也強烈建議您在第一次使用點聲明你的局部變量,而不是宣佈他們在該方法的開始沒事。
  • 你並不需要調用System.exit(0) - 你的過程將已經退出時main方法完成(如您尚未創建任何線程)
  • 你的方法不會把IOException - 你爲什麼要宣稱他們可能?
  • 你的方法每個聲明一個局部變量,然後分配一個值,然後返回值。爲什麼不一步做到這一點?

    return roundToTenths(value); // Complete body of value3 
    

    (在這一點上,方法本身是沒有意義的,當然,你可以叫roundToTenths,而不是...)