虽然这可能很简单,但我遇到了麻烦。
我必须创建一个华氏温度摄氏度,摄氏温度到华氏温度转换器。这之后的任务是:
在main方法中声明一个double类型的变量 并将其初始化为一个值。 3.在main中添加一行调用fToC方法的行,并将步骤2中声明的变量作为参数传递。
我知道这也是声明变量并将其设置为数字,我将不得不这样做:
double var = 0;
但我不知道如何调用此方法。
我尝试调用该方法,但它似乎是不正确的格式,我找不到如何正确地做到这一点(谷歌搜索了很多:()
import java.util.Scanner;
public class ExerciseOne {
public static void main( String[] args ) {
int choice;
double variable = 0;
public static float ftoC(double var) { //This line is giving me trouble
System.out.println( "What would you like to do? \n \n 1 - Fahnrenheit to Celsius \n 2 - Celsius to Fahrenheit \n 3 - Quit" );
Scanner dylan = new Scanner(System.in);
choice = dylan.nextInt();
if (choice == 1)
{
System.out.println( "What number do you want to convert to Celsius?" );
float input = dylan.nextFloat();
float output = ftoC(input);
System.out.println( input + " degrees Fahrenheit is " +
ftoC(input) + " degrees Celsius." );
}
if (choice == 2)
{
System.out.println( "What number do you want to convert to Fahrenheit?" );
float input = dylan.nextFloat();
float output = ctoF(input);
System.out.println( input + " degrees Celsius is " +
ctoF(input) + " degrees Fahrenheit." );
}
if (choice == 3)
{
System.out.println( "Exiting application.");
}
}
}
public static float ftoC(float f)
{
float celsius = (f-32)*(5f/9f);
return celsius;
}
public static float ctoF(float c)
{
float fahrenheit = c*9/5 + 32;
return fahrenheit;
}
}
答案 0 :(得分:1)
要调用ftoC
方法,请使用以下语法:
ftoC(x); // Assuming x is the name of the float you created.
注意 :我在您的示例中注意到的一件事是,您是要声明以double variable = 0;
传递的值,但您的方法是期待的float
。如果将double
传递给期望float
的方法,则它将无法编译。您需要将double variable
更改为float variable
。
注意注意 :还有一件事。您应该适当地命名您的变量。即使调用它value
也比调用它variable
更好。名称variable
告诉读者没有关于它的目的。
注意x 3 :我注意到的另一件事是,您将variable
设置为值0
,但问题是指定:
在main方法中声明一个double类型的变量并将其初始化为一个值。 3。
所以你应该考虑用明显的东西替换0
。
答案 1 :(得分:0)
执行:
在main方法中声明一个double类型的变量并初始化它 一个价值。 3.在main中添加一行调用fToC方法和 将步骤2中声明的变量作为参数传递。
您只需调用该方法并将结果分配给变量,就像您在main方法的其余部分中所做的那样(对于选项1和2)。以下是修改main方法第一部分的方法:
import java.util.Scanner;
public class ExerciseOne
{
public static void main( String[] args )
{
int choice;
float initialF = 3; // assign variable to 3 initially
float resultC = ftoC(variable); // simply call the method and assign the result to a variable
...然后是主要方法的其余部分。
答案 2 :(得分:0)
你的代码有点困惑。你已经定义了ftoC()两次,一次在 main ()内,一次是自己的函数。然后你的主()函数什么都不做,只包括嵌入的 ftoC ()函数。实际上什么都没有被召唤。
解决方案是删除内部 ftoC ()。
注意:你可以在 ftoC ()和 ctoF () >主要(),但没有什么可以获得,真的,没有人这样做。
import java.util.Scanner;
public class ExerciseOne {
public static void main( String[] args ) {
int choice;
double variable = 0;
System.out.println( "What would you like to do?\n\n" );
System.out.println( " 1 - Fahnrenheit to Celsius\n" );
System.out.println( " 2 - Celsius to Fahrenheit\n" );
System.out.println( " 3 - Quit]n" );
Scanner dylan = new Scanner(System.in);
choice = dylan.nextInt();
if (choice == 1)
{
System.out.println( "What number do you want to convert to Celsius?" );
float input = dylan.nextFloat();
float output = ftoC(input);
System.out.println( input + " degrees Fahrenheit is " +
ftoC(input) + " degrees Celsius." );
}
if (choice == 2)
{
System.out.println( "What number do you want to convert to Fahrenheit?" );
float input = dylan.nextFloat();
float output = ctoF(input);
System.out.println( input + " degrees Celsius is " +
ctoF(input) + " degrees Fahrenheit." );
}
if (choice == 3)
{
System.out.println( "Exiting application.");
}
}
public static float ftoC(float f) { /* same as before */ }
public static float ctoF(float f) { /* same as before */ }
}
还有其他事情可以修复,但它们超出了这个问题的范围。