-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;
        }
}
4

2 回答 2

1

您的方法声明无效:

public static double value2(value)

您需要提供参数类型,例如

public static double value2(double value)

然后,您需要在调用它时为该参数提供一个参数,例如

value2 = getValue2(value);

其他注意事项:

  • 我还强烈建议您在首次使用时声明局部变量,而不是在方法开始时声明它们。
  • 您无需调用System.exit(0)- 当方法完成时您的进程将已经退出main(因为您尚未创建任何线程)
  • 你的方法永远不会抛出IOException——你为什么要声明它们可能会抛出?
  • 您的方法每个都声明一个局部变量,然后分配一个值,然后返回该值。为什么不一步到位呢?

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

    (此时,该方法本身当然毫无意义,因为您可以roundToTenths改为调用......)

于 2012-11-06T10:13:52.190 回答
0

您正在调用名称getValue为 的函数,但您引用的函数的名称为value. 也许是半完整的重命名?

在您的, 您将无法仅通过标识符main访问您的value 函数value,因为您已经定义了一个具有该名称的局部变量,它会隐藏它。因此,要使用该value 函数,您需要使用其完全限定名称Hkw8.value.

于 2012-11-06T10:11:12.920 回答