2013-11-15 40 views
0

我的任務是創建一個簡單的計算器,它將進行加,減,乘和除。它沒有給我任何錯誤,但是當我輸入value1value2時,它並沒有給我答案。它只是返回我輸入的符號,例如+程序只是打印標誌而不是總和

我哪裏錯了?

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

回答

1

你只是打印在你的代碼操作價值。

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

這兩個類之間沒有聯繫。

在類CalculatorApplication中,聲明瞭int setvalue1和setvalue2,它們是類本身的實例。

您應該instanciate calculatoruser和他們設置值,並從該類中檢索值。

Instanciation和值設置: CalculatorUser cu = new CalculatorUser(setValue1,setValue2,option);

然後 cu.option(); 將打印出你的結果..

在你的情況,我想你打算使用計算器應用程序作爲用戶界面和calculatorUser作爲「真正的計算」發生的類。

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

1中的邏輯關係,如加,除,。減去等,都位於選項方法在CalculatorUser類下。您需要首先在主要方法和調用選項方法中創建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); 
    } 
} 

Program just prints sign rather than sum

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

} 
相關問題