を使って電卓(コードのみ)を作ろうとしているのStringTokenizer
ですが、迷ってしまいます。簡単な数学 (+-*) とその他の基本的ではない操作 (log、sin、tan、指数) を実行できる電卓を作成する必要があります。このコードは、基本的な数学の例です。最初に基本的なことを行い、次にメソッドを使用して他の関数を追加したかったのです。
ただ、操作方法がわからないので、スイッチでもいいのではないかと思っていたのですが、BEMDASだとややこしいです。上記のコードは、オペランドを char 配列に配置し、数値を double 配列に配置するだけなので、続行する方法がわかりませんでした。誰かがこれを続ける方法を説明してくれたり、私を導いてくれたりしたら、感謝します。
import java.util.StringTokenizer;
import java.io.*;
public class Calculator {
public static void main (String[] args) {
int i=0;
int j=0;
int n=0;
int o=0;
double num []= new double [100];
char op[]=new char [100];
String ops[]=new String [100];
String x = "5*10+15/12";
StringTokenizer st = new StringTokenizer(x, "*/-+", true);
while(st.hasMoreTokens()){
ops[j] =st.nextToken();
j++;
}
for(i=0; i<j;i++){
if(i%2==0){
num[n]=Double.parseDouble(ops[i]);
n++;
}
else{
op[o]=ops[i].charAt(0);
o++;
}
}
for(i=0; i<n;i++)
System.out.println(num[i]);
for(i=0; i<o;i++)
System.out.println(op[i]);
}
}