package method;
import method.HuaShe;
public class TestCToFandFToC {
public static void main(String[] args){
System.out.println("摄氏 华氏 华氏 摄氏");
for(int i = 1;i <= 10;i++){
double she1 = 40.0;
double hua1 = cToF(she1);
double hua2 = 120.0;
double she2 = fToC(hua2);
System.out.println(she1 + " " + hua1 + " " + hua2 + " " + she2);
she1 -= 1;
hua2 -= 10;
}
}
}
package method;
public class HuaShe {
static double cToF(double c){
double ft = (9.0 / 5) * c + 32;
double f = (int)(ft * 100) / 100.0;
return f;
}
//--------------------------------------
static double fToC(double f){
double ct = (f - 32) / (9.0 / 5);
double c = (int)(ct * 100) / 100.0;
return c;
}
}
然后运行主函数时
cToF(she1);和fToC(hua2);报错:
The method cToF(double) is undefined for the type TestCToFandFToC
为什么会这样???
谢谢!
TestCToFandFToC 类中没办法直接调用 cToF(she1)和fToC(hua2)这两个方法,不管你是不是import
如果需要使用,可以
HuaShe test = new HuaShe ();
double hua1 = test.cToF(she1);
,也可以
double hua1 = HuaShe.cToF(she1);
还可以import时,
static import method.HuaShe
你定义的HuaShe类里面的方法是静态的,要么通过HuaShe.cToF调用,要么请把static去掉。
用的静态方法,去掉static
package method;
import method.HuaShe;
public class TestCToFandFToC {
public static void main(String[] args){
HuaShe test = new HuaShe ();
System.out.println("摄氏 华氏 华氏 摄氏");
for(int i = 1;i <= 10;i++){
double she1 = 40.0;
double hua1 = test.cToF(she1);
double hua2 = 120.0;
double she2 = test.fToC(hua2);
System.out.println(she1 + " " + hua1 + " " + hua2 + " " + she2);
she1 -= 1;
hua2 -= 10;
}
}
}
写成内部方法 或者静态方法
这样
public..
改成静态方法就应该好了吧