我可以在等式中使用一个参数

时间:2014-05-13 23:28:45

标签: java

我必须为学校编写一个程序,使用参数将摄氏温度转换为华氏温度,反之亦然。 我有以下问题:

假设温度在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*/
        }
    }
}

3 个答案:

答案 0 :(得分:5)

您应该使用bargs[1]仍然是一个字符串,这就是你收到错误的原因。

答案 1 :(得分:3)

一般,是的,您可以在任何可以使用该类型的地方直接使用数组元素:

public static void main(String[] args) {
    int[] foo = {2, 4, 6};
    System.out.println(foo[0] * foo[1]); // prints 8
}

在您的特定情况下,您收到错误,因为argsString[](“数组字符串”),并且您无法将字符串相乘通过整数(无论如何,在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);
    }
}

现在你可以完成你的代码了

快乐编码:)

相关问题