Java 方法不工作,没有编译器错误
对于这个问题我很抱歉,因为我知道它非常简单,但我已经习惯了python和js,所以java对我来说非常陌生,我还没有找到任何东西告诉我为什么它不起作用Java 方法不工作,没有编译器错误,java,methods,Java,Methods,对于这个问题我很抱歉,因为我知道它非常简单,但我已经习惯了python和js,所以java对我来说非常陌生,我还没有找到任何东西告诉我为什么它不起作用 import java.util.Scanner; public class HelloWorld{ public static void main(String []args){ } public static double changeToFahrenheit(){ Scanner read
import java.util.Scanner;
public class HelloWorld{
public static void main(String []args){
}
public static double changeToFahrenheit(){
Scanner reader = new Scanner(System.in);
System.out.println("Enter a number between 0-20: ");
double celsius = reader.nextInt();
double fahrenheit = (9/5) * celsius +32;
System.out.println(fahrenheit);
return fahrenheit;
}
}
当我运行这个程序时,我得到了“sh-4.3$java-Xmx128M-xms16mHelloWorld”
我使用的是codinggrounds Java编译器和执行器,我想让它请求一个数字,然后在用户输入时将其转换为华氏温度您没有从
main()
方法调用changeToFahrenheit()
方法,因此它不会执行任何操作并退出- 由于该方法是静态方法,您可以在不创建对象的情况下调用该方法
- reader.nextInt();//这将返回整数。。所以将其存储在整数中
- 除非有其他方法重用返回的值,否则不必返回该值
changeToFahrenheit
,因此您的代码是:
import java.util.Scanner;
public class HelloWorld{
public static void main(String []args){
changeToFahrenheit();
}
public static double changeToFahrenheit(){
Scanner reader = new Scanner(System.in);
System.out.println("Enter a number between 0-20: ");
double celsius = reader.nextInt();
double fahrenheit = (9/5) * celsius +32;
System.out.println(fahrenheit);
return fahrenheit;
}
}
要使用函数,必须调用函数(这类似于C#中的
Main
函数)。顺便说一下,您不能执行9/5
,因为整数除法将产生一个整数,1
。尝试9.0/5.0
进行计算。在许多其他事情中,9/5
是整数除法,只会给你1。谢谢你让它运行起来,我做了一点C#但是我真的不知道Java main()的用途,所有在线的东西都自然地有它,但没有说为什么。你能告诉我我的摄氏度变量是否有问题吗。当我输入一个数字时,我得不到正确的华氏转换。例如,我输入了10,得到了42,但应该是50谢谢我修正了它@chryli需要把9.0改为9,或者在除法之前只乘以摄氏度,这有点烦人。