私は電卓と似たような働きをしていますが、暗号解法の方程式を解きます。 + - * /のような基本的な操作でうまく動作します。 パワーとルートの操作を追加しました。これらの2つの新しい操作を使用すると機能しません。問題は、入力文字列を分割する方法によると思われます。問題は、文字列を "^"演算子で分割しないことです。Javaでの文字列の分割と読み込み
private void findOperator() {
// TODO Auto-generated method stub
String[] tempString = this.rawInputString.split("");
for(String s : tempString){
if(s.equals("+")){
this.operator = "[+]";
break;
}
else if(s.equals("*")){
this.operator = "[*]";
break;
}
else if(s.equals("-")){
this.operator = s;
break;
}
else if(s.equals("/")){
this.operator = s;
break;
}
else if(s.equals("^")){
this.operator = s;
break;
}
else if(s.equals("sqrt")){
this.operator = s;
break;
}
}
}
public void parseInput(){
String[] tempString = rawInputString.split(this.operator);
this.firstString = tempString[0].split("");
this.firstLetterFirstNumber = this.firstString[0];
String temporarySecondPart = tempString[1];//This is where it says I
//have the problem, but it works fine
//with other operators
this.operator = rawInputString.substring(this.firstString.length,this.firstString.length+1);
tempString = temporarySecondPart.split("=");
this.secondString = tempString[0].split("");
this.firstLetterSecondNUmber = this.secondString[0];
this.result = tempString[1].split("");
this.firstLetterResult = this.result[0];
}
そして "問題" は何ですか? –
"^"で分割しようとすると文字列が分割されません。 – Keselme
'toCharArray()'が基本的に同じ処理をする場合、 'split(" ")'を使って文字列を1文字の要素に分割するのはなぜですか? --- 's'は1文字の値だけなので、' sqrt "とどのようにマッチすると思いますか? – Andreas