使用parseInt()和其他错误时出错

时间:2013-07-25 07:34:42

标签: java

package practiceapplication;
import static java.lang.Integer.parseInt;

class Practiceapplication{

static int calculate(String arguments[]){
    int sum = 0;

if (arguments[0] == "+")   //How do I use .equals() method at this point?
    for(int x = 0; x < arguments.length; x++){
        arguments = Integer.parseInt(arguments);
        sum += arguments[x]; 
 }
     return sum;


if (arguments[0] == "*") {

    for(int x =0; x < arguments.length; x++){
        arguments =Integer.parseInt(arguments[]);
        sum *= arguments[x];
    }
} return sum;
if (arguments[0] == "-"){
    for(int x = 0; x< arguments.length; x++){
        arguments = Integer.parseInt(arguments);
        sum -= arguments[x];
    }
} return sum;

if(arguments[0] == "/"){
    for(int x =0; x< arguments.length; x++){
        arguments = Integer.parseInt(arguments);
        sum /= arguments[x];


        }
    } return sum;


}
public static void main(String[] arguments){
    if(arguments.length > 0)
        Practiceapplication.calculate(arguments);
    System.out.print("The answer is: " + sum);     //Why was there an err at "sum"?
}
}

我刚开始学习java,所以我不太了解。 如果我挫败你,我道歉,但是,嘿,没有人开始知道一切。

无论如何,我认为你知道我想要做什么样的应用程序。 我想把我所知道的一切都归结为这件事,所以它可能看起来很混乱。 无论如何,有人可以告诉我什么是错的,并可能编辑部分在哪里 我犯了错误吗?

谢谢!

3 个答案:

答案 0 :(得分:5)

if (arguments[0] == "+")   //How do I use .equals() method at this point?

使用此:

if ("+".equals(arguments[0]))

从相关帖子Java String.equals versus ==

了解有关字符串比较的详情

与parseInt相关的错误:

您只需要确保将有效数字字符串(带数字)传递给parseInt方法。如果你不这样做,它将抛出一个数字格式。

答案 1 :(得分:0)

//为什么“总和”出错了? 在某个变量中获取返回值

public static void main(String[] arguments){
    if(arguments.length > 0)        
    System.out.print("The answer is: " + Practiceapplication.calculate(arguments););     
}

答案 2 :(得分:0)

您的代码中存在多个问题。最有可能的是你应该首先阅读一些Java教程!

(1)您可以使用Strings source来比较arguments[0].equals("+")(2)声明后,calculate()方法中的return代码无法执行 (3)熟悉Java

中的数组和方法

不过,这是工作代码,希望你能从中学到一些东西:

static int calculate(String arguments[]) {
    int sum = 0;

    if (arguments[0].equals("+")) {
        for (int x = 0; x < arguments.length; x++) {
            int arg = Integer.parseInt(arguments[x]);
            sum += arg;
        }
    } else if (arguments[0].equals("*")) {
        for (int x = 0; x < arguments.length; x++) {
            int arg = Integer.parseInt(arguments[x]);
            sum *= arg;
        }
    } else if (arguments[0].equals("-")) {
        for (int x = 0; x < arguments.length; x++) {
            int arg = Integer.parseInt(arguments[x]);
            sum -= arg;
        }
    } else if (arguments[0].equals("/")) {
        for (int x = 0; x < arguments.length; x++) {
            int arg = Integer.parseInt(arguments[x]);
            sum /= arg;
        }
    }
    return sum;

}

public static void main(String[] arguments) {
    int result = 0;
    if (arguments.length > 0)
        result = Practiceapplication.calculate(arguments);
    System.out.print("The answer is: " + result);
}