我必须为学校编写一个程序,使用参数将摄氏温度转换为华氏温度,反之亦然。 我有以下问题:
假设温度在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*/
}
}
}
答案 0 :(得分:5)
您应该使用b
。 args[1]
仍然是一个字符串,这就是你收到错误的原因。
答案 1 :(得分:3)
一般,是的,您可以在任何可以使用该类型的地方直接使用数组元素:
public static void main(String[] args) {
int[] foo = {2, 4, 6};
System.out.println(foo[0] * foo[1]); // prints 8
}
在您的特定情况下,您收到错误,因为args
是String[]
(“数组字符串”),并且您无法将字符串相乘通过整数(无论如何,在Java中)。如果你有一个像上面例子一样的int数组,它会正常工作。
答案 2 :(得分:0)
学习东西的最好方法是举例
这是如何使用命令行参数添加数字的示例:
由于这些参数是通过命令行传递的,因此它们被称为命令行参数。传递的String参数存储在main()声明中指定的数组中。 args []现在是一个三元素的String数组。这些元素的访问方式与普通数组的元素相同。以下是完整的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);
}
}
现在你可以完成你的代码了
快乐编码:)