我试图使用方法显示一个值,然后以不同的十进制格式交替显示它。主要问题是我输入后无法调用该值。这是我所知道的唯一问题,但如果还有其他我不理解的事情,我非常感谢任何见解。
//*************************************************
//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 :(得分:1)
您的方法声明无效:
public static double value2(value)
您需要提供参数 type ,例如
public static double value2(double value)
然后,当您调用该参数时,需要为该参数提供参数,例如
value2 = getValue2(value);
其他说明:
System.exit(0)
- 当main
方法完成时,您的流程已经退出(因为您尚未创建任何主题)IOException
- 你为什么宣称它们可能?您的方法每个都声明一个局部变量,然后分配一个值,然后返回该值。为什么不一步到位呢?
return roundToTenths(value); // Complete body of value3
(当然,这个方法本身毫无意义,因为你可以调用roundToTenths
而不是......)
答案 1 :(得分:0)
您正在调用名称为getValue
的函数,但您引用的函数的名称类似于value
。也许半完全重命名?
在main
中,您只能通过标识符value
访问value
功能,因为您已定义了一个局部变量用这个名字遮住它。因此,要使用value
函数,您需要使用其完全限定名称Hkw8.value
。