public static int f(String input) {
public static Stack<Character> stack = new Stack<Character>();
int n = 0;
for (int i = 0; i < input.length(); i++) {
if (input.charAt(i) == 'd')
stack.push('d');
else if (input.charAt(i) == 'b') {
if (!stack.empty() && stack.pop() == 'd') n++;
}
}
return n;
}
私はうまく動作しないこと、@azurefrogが言うようにちょうどここスタティックはオブジェクトの作成において何を表していますか?
A構文エラー?そのような静的なローカル変数を宣言することはできません。コンパイルされません。 – azurefrog
最初の2行を何とか逆にしてもよろしいですか? – azurefrog
'static'キーワードは、最初の2行を反転させてそのコードをコンパイルしたとしても、' Stack'の*オブジェクト作成*に何も意味しません。フィールドstackの範囲に何か意味がありますが、 'new Stack()'コールには何の影響もありません。 –
Andreas