gpt4 book ai didi

java - 创建了java计算器,我想使用答案并替换为第一个数字?

转载 作者:行者123 更新时间:2023-12-01 12:22:44 25 4
gpt4 key购买 nike

所以我创建了一个 java 计算器,现在如何通过我的 Memory 类访问答案并替换为第一个数字?示例:1 + 1 = 2,然后使用答案 (2) 作为我的第一个数字,因此等式将是 2 + 1 = 3。

import java.util.*;

public class calculatortest
{
private Num num;
private Ope ope;
private Mem mem;
public static void main(String args[]){
calculatortest c = new calculatortest();
c.start();
}

public calculatortest()
{
}
public void start()
{
while(true)
{

describeProgram();
getInput();
getMemory();
}
}
private void describeProgram()
{
System.out.println("this is my program and it starts from here");

}
private void getInput()
{
String number1;
String operator2;
String number2;

Scanner scanner = new Scanner(System.in);
System.out.print("Number 1: ");
number1 = scanner.next();
System.out.print("Operator: ");
operator2 = scanner.next();
System.out.print("Number 2: ");
number2 = scanner.next();

Num num1= new Num(number1);
Num num2 = new Num(number2);
Ope ope = new Ope(num1, operator2, num2);
Num answer = ope.equation;
if (answer.type == 'i') {
System.out.println("Answer: " + answer.iNum);
} else if (answer.type == 'd') {
System.out.println("Answer: " + answer.dNum);
}
}
private void getMemory()
{
System.out.println("Enter 'YES' to use previous answer OR 'NO' to exit!");
Scanner scanner = new Scanner(System.in);
String number1 = scanner.next();

if (number1.equals("YES")){
mem.getStorednumber();

} else if(number1.equals("NO")){
System.exit(0);
}

}
}


class Num //Type checking the numbers
{
public char type;
public double dNum;
public int iNum;

public Num(String value)
{
if (value.contains(".")) { //I if the values contain a decimal point run double
type = 'd';
dNum = Double.parseDouble(value);
} else
{ // Else run as integer
type = 'i';
iNum = Integer.parseInt(value);
}
}
public Num(int value) {
type = 'i';
iNum = value;
}
public Num(double value) {
type = 'd';
dNum = value;
}
class Ope{

public String operator2;
public Num num1, num2;
public Num equation;
public Ope(Num num1, String operator2, Num num2 )
{
this.num1 = num1;
this.operator2 = operator2;
this.num2 = num2;
equation = answer();
}
public Num answer() {

if(operator2.equals("+"))
{
if(num1.type == 'i' && num2.type == 'i'){
int answer = num1.iNum + num2.iNum;
return new Num(answer);
}
else if
(num1.type == 'i' && num2.type =='d'){
double answer = num1.iNum + num2.dNum;
return new Num(answer);
}
else if
(num1.type == 'd' && num2.type =='i'){
double answer = num1.dNum + num2.iNum;
return new Num(answer);
}
else if
(num1.type == 'd' && num2.type =='d'){
double answer = num1.dNum + num2.dNum;
return new Num(answer);
}
}
else if(operator2.equals("-"))
{
if(num1.type == 'i' && num2.type == 'i'){
int answer = num1.iNum - num2.iNum;
return new Num(answer);
}
else if
(num1.type == 'i' && num2.type =='d'){
double answer = num1.iNum - num2.dNum;
return new Num(answer);
}
else if
(num1.type == 'd' && num2.type =='i'){
double answer = num1.dNum - num2.iNum;
return new Num(answer);
}
else if
(num1.type == 'd' && num2.type =='d'){
double answer = num1.dNum - num2.dNum;
return new Num(answer);
}
}
else if(operator2.equals("*"))
{
if(num1.type == 'i' && num2.type == 'i'){
int answer = num1.iNum * num2.iNum;
return new Num(answer);
}
else if
(num1.type == 'i' && num2.type =='d'){
double answer = num1.iNum * num2.dNum;
return new Num(answer);
}
else if
(num1.type == 'd' && num2.type =='i'){
double answer = num1.dNum * num2.iNum;
return new Num(answer);
}
else if
(num1.type == 'd' && num2.type =='d'){
double answer = num1.dNum * num2.dNum;
return new Num(answer);
}
}
else if(operator2.equals("/"))
{
if(num1.type == 'i' && num2.type == 'i')
{
int answer = num1.iNum / num2.iNum;
System.out.println("Modulo " + num1.iNum % num2.iNum);
return new Num(answer);
}
else if
(num1.type == 'i' && num2.type =='d'){
double answer = num1.iNum / num2.dNum;
return new Num(answer);
}
else if
(num1.type == 'd' && num2.type =='i'){
double answer = num1.dNum / num2.iNum;
return new Num(answer);
}
else if
(num1.type == 'd' && num2.type =='d'){
double answer = num1.dNum / num2.dNum;
return new Num(answer);
}
}
return null;
}
}


class Mem /// THIS IS WERE THE PROBLEMS PERTAINS.
{
void getStorednumber() {

System.out.println(" memory answer is ");
}

}

最佳答案

要让计算器执行以下操作:

     number_a = (put your number here)

number_b = (put your number here)
class Calculator
def add(number_a, number_b)
number_a + number_b
end

def subtract(number_a, number_b)
number_a - number_b
end
end

因此,如果我的 number_a 是 2,number_b 是 1,那么:

     number_a = 2

number_b = 1
class Calculator
def add(number_a, number_b)
number_a + number_b
end

def subtract(number_a, number_b)
number_a - number_b
end
end

在文本编写器中编写计算器。如果你运行它,除非你做更多的编辑,否则它不会工作。希望对您有所帮助。

关于java - 创建了java计算器,我想使用答案并替换为第一个数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26557421/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com