私はスタックの助けを借りてプログラムを書く。私は入力をデコードする必要があります。例えば「he-llo」という単語は「hllo」になりますが、「hello」になります。 ' - 'はその前に来る文字を削除する効果があるはずです。 ポップ(自分で実装しています)を使用する必要があることは知っていますが、2回続けて使用することに問題があります。実際にはすでに最初のif文に 'e'が表示されているためです。私はこれを修正する方法については本当に不明ですが、私はそれを間違って印刷していますか?私はポップコードを適応させるべきですか?スタックで2回ポップできますか? (java)
//my pop code
public char pop() {
if(!this.empty()){
if(top > 0){
temp = arr[top - 1];
arr[top -1] = 0;
top = top -1;
}
return temp;
}else{
return 0;
}
//handling the charachters of the input
if(Character.isLetter(ch) || Character.isDigit(ch)){
Stack.push(ch);
System.out.println(myStack.peek());
}
if(Stack.peek() == '-'){
myStack.pop();
myStack.pop();
System.out.println(Stack.peek());
}
}
完全で検証可能な例を投稿してください。コードをダウンロードして実行できるはずです。主な方法や、スタックを設定してpop()を呼び出すために使用するメソッドは表示されないので、今はできません。 – nhouser9
前にcharを削除してマイナス記号を解決する唯一の問題はありますか? – Joey
@ nhouser9ああ申し訳ありませんが、私のコードは長すぎてここに投稿できません。私はそれを行う許可を持っていません:( – maria