0

我的任务是创建一个简单的计算器,可以进行加减乘除。它没有给我任何错误,但是当我输入value1and时它没有给我答案value2。它只是返回我输入的符号,例如+

我哪里做错了?

package CalculatorApp;

import java.util.Scanner;

public class CalculatorUser {

    private int value1;
    private int value2;
    private String option;
    private int results;

    public CalculatorUser(int value1, int value2, String option,
            int results){

        this.value1=0;
        this.value2=0;
        this.option=option;
        this.results=0;

    }

    public int getValue1(){
        return value1;
    }

    public void setValue1(int value1){
        this.value1 = value1;
    }

    public int getValue2(){
        return value2;
    }

    public void setValue2(int value2){
        this.value2 = value2;
    }

    public String option(){

        if (option.equals("+")){
            System.out.println(value1+value2);
        }

        else if(option.equals("-")){
            System.out.println(value1-value2);
        }
        else if(option.equals("*")){
            System.out.println(value1*value2);
        }
        else if(option.equals("/")){
            System.out.println(value1/value2);
        }
        else if(option.equals("unknown")){
            System.out.println("Please type + for Add, " +
                    "- for Subtract, * for Multiply, / for" +
                    "divid and press Enter/Return Key");
        }
        return option;
        }


    public int getResults(){
        return results;
    }

    public void setResults(int results){
        this.results = results;
    }

    public void updateAddFromInput(){
        Scanner scanner = new Scanner(System.in);
        System.out.println("-----CALCULATOR-----");
        int newResults = scanner.nextInt();
        setResults(newResults);
    }
}

 

 package CalculatorApp;

 import java.util.Scanner;

 public class CalculatorApplication {

    public static void main(String[] args){

        System.out.println("Enter First Value: ");
        Scanner scanner = new Scanner(System.in);

        int setValue1 = scanner.nextInt();

        System.out.println("Enter Second Value: ");  

        int setValue2 = scanner.nextInt();

        System.out.println("Would you like to add, subtract, " +
                "multiply or divide:");

        String option=scanner.next();{

            System.out.println("The Total of your Sum is: "+option);
        }   
    }
}
4

5 回答 5

1

您只是在代码中打印运算符值。

System.out.println("The Total of your Sum is: "+option);
于 2013-11-15T09:32:33.063 回答
0

这两个类之间没有联系。

在类 CalculatorApplication 中,您已经声明了 int setvalue1 和 setvalue2,它们在类本身中是实例化的。

您应该实例化计算器用户,他们设置值并从该类中检索值。

实例化和值设置:CalculatorUser cu = new CalculatorUser(setValue1,setValue2,option);

然后 cu.option(); 会打印出你的结果..

就您而言,我想您打算将计算器应用程序用作 UI,并将calculatorUser 用作发生“实际计算”的类。

于 2013-11-15T09:56:34.203 回答
0

1 加、除、减等逻辑位于CalculatorUser类下的option方法中。您需要首先在 main 方法和调用选项方法中创建 CalculatorUser 的实例。

String option=scanner.next();{
CalculatorUser CalculatorUser = new CalculatorUser(setValue1,setValue2,option,0);
CalculatorUser.option();

2 您可以将总和消息放在选项方法中,因为您已经在那里打印了总和。

喜欢,

public String option(){

    if (option.equals("+")){
        System.out.println("The Total of your Sum is: "+option);
    }
}

程序只打印符号而不是总和

于 2013-11-15T10:24:04.753 回答
0

看看这段代码:

import java.util.Scanner;

public class Calculator{
private int value1;
private int value2;
private String option;
private int results;

public Calculator(){
    this.value1=0;
    this.value2=0;
    this.option=null;
    this.results=0;
}

public int getValue1(){
    return value1;
}

public int getValue2(){
    return value2;
}

public void setValue1(int value1){
    this.value1 = value1;
} 

public void setValue2(int value2){
    this.value2 = value2;
}

public void setOption(String option){
    this.option = option;
}

public int getResult(){
    if (option.equals("+")){
        results = value1+value2;
    }else if(option.equals("-")){
        results = value1-value2;
    }else if(option.equals("*")){
        results = value1*value2;
    }else if(option.equals("/")){
        results = value1/value2;
    }else if(option.equals("unknown")){
        System.out.println("Please type + for Add, - for Subtract, * for Multiply, / for divide and press Enter/Return Key");
        return 0;
    }
    return results;
}

public static void main(String[] args){
    Scanner scanner = new Scanner(System.in);        
    System.out.println("Enter First Value: ");
    int value1 = scanner.nextInt();
    System.out.println("Enter Second Value: ");  
    int value2 = scanner.nextInt();
    System.out.println("Would you like to add, subtract, multiply or divide:");
    String option = scanner.next();
    scanner.close();
    Calculator c = new Calculator();
    c.setValue1(value1);
    c.setValue2(value2);
    c.setOption(option);
    System.out.println(c.getResult());        
}

}
于 2013-11-15T10:30:34.477 回答
0

将您的构造函数更改CalculatorUser为:

 public CalculatorUser(int value1, int value2, String option,
        int results){

    this.value1=value1;
    this.value2=value2;
    this.option=option;
    this.results=0;

}

CalculatorApplication用类中的以下代码替换实例块

    String option=scanner.next();{
        CalculatorUser objCalculatorUser = new CalculatorUser(setValue1, setValue2, option.trim(), setValue2);
        System.out.println("The Total of your Sum is: "+ objCalculatorUser.option());
    }
于 2013-11-15T10:00:10.573 回答