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

Java 程序只打印符号而不是和,java,Java,我的任务是创建一个简单的计算器,可以进行加、减、乘、除运算。它没有给我任何错误,但是当我输入value1和value2时,它没有给我答案。它只返回我输入的符号,例如+ 我哪里出错了 package CalculatorApp; import java.util.Scanner; public class CalculatorUser { private int value1; private int value2; private String option;

我的任务是创建一个简单的计算器,可以进行加、减、乘、除运算。它没有给我任何错误,但是当我输入
value1
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);
    }
}


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

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

这两个类之间没有联系

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

您应该实例化calculatoruser,让他们设置值并从该类中检索值

实例和值设置: CalculatorUser cu=新计算器用户(设置值1、设置值2、选项)

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


在您的情况下,我假设您打算将计算器应用程序用作UI,将calculatorUser用作进行“实际计算”的类。

将您的
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());
    }

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

String option=scanner.next();{
CalculatorUser CalculatorUser = new CalculatorUser(setValue1,setValue2,option,0);
CalculatorUser.option();
2您可以将sum消息放入option方法,因为您已经在其中打印了sum


请查看以下代码:

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());        
}

}
public String option(){

    if (option.equals("+")){
        System.out.println("The Total of your Sum is: "+option);
    }
}
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());        
}

}