我必须为学校编写一个程序,使用参数将摄氏温度转换为华氏温度,反之亦然。我有以下问题:
假设温度在arg[1]
中传递,我可以将对话方程直接应用于arg[1]
吗?
args[1] * 9 / 5 + 32
我试过了,但我对*
操作符有一个错误,说"操作符*对参数类型未定义。"我还尝试使用"*"
代替。
这是到目前为止未完成的代码。
请不要给我最后的代码本身,因为我想学习而不是给出答案
public class Temperature {
public static void main(String[] args) {
int a = Integer.parseInt(args[0]);
int b = Integer.parseInt(args[1]);
System.out.println("Veuillez specifier c (celsius) ou f (fahrenheit) suivi de la température. Exemple argc arg32");
if (args[0].equals ("c"))
{
/*convertir en fahrenheit*/
int temperature = args[1] *9 /5 +32;
}
else if (args[0].equals ("f"))
{
/*convertir en celsius*/
}
}
}
您应该使用b
。args[1]
仍然是一个字符串,这就是为什么你得到这个错误。
一般来说,可以在任何可以使用该类型的地方直接使用数组元素:
public static void main(String[] args) {
int[] foo = {2, 4, 6};
System.out.println(foo[0] * foo[1]); // prints 8
}
在特定的情况下,您会得到一个错误,因为args
是String[]
("字符串数组"),并且您不能将字符串乘以整数(无论如何在Java中)。如果你有一个像上面例子一样的整型数组,它会工作得很好。
学习的最好方法是通过举例
这是一个如何使用命令行参数添加数字的示例:
由于这些参数是通过命令行传递的,因此它们被称为命令行参数。传入的String参数存储在main()声明中指定的数组中。args[]现在是一个包含三个元素的字符串数组。访问这些元素的方式与访问普通数组元素的方式相同。下面是完整的Add程序,它能够添加作为命令行参数传递的任意数量的整数。
public class Add {
public static void main(String[] args) {
int sum = 0;
for (int i = 0; i < args.length; i++) {
sum = sum + Integer.parseInt(args[i]);
}
System.out.println("The sum of the arguments passed is " + sum);
}
}
现在你可以结束你的代码
快乐编码:)