2017-11-23 6 views
-1

私は2つのソースファイルsearchworkerとsearchvalidatorを持っています。作業者はプログラムがどのように機能するか(論理的に)、バリデーターはユーザーの入力を検証するだけです。Javaで文字列の長さをデフォルトの長さに戻す方法は?

私の場合、ユーザーが9桁のキー(例:GGHYK1221)を例外なく入力すると、システムは正しく動作します。ユーザーが9桁以下または9桁を入力すると、エラーメッセージが表示されます。

実際には、キーはGG-H-YK-1221です。したがって、システム仕様と一致しません。最初のハイフン( - )は手動で削除する必要があります。今、私は最大12桁のユーザー入力を許可し、ハイフンを削除したいと思います。 regexを使ってハイフンを削除しましたが、バリデータを渡すために入力の長さが9に固定されています。これや他の方法を解決するための任意のアイデア?

私はJavaを使用しています。

あなたは

+0

バリデータがどのように実装されているか、または「入力の長さが9に固定されています」という意味がはっきりしません。つまり、バリデーションが行われる前にバリデーションが行われることを意味します。String.replaceAll () '? – lockcmpxchg8b

+0

という意味です。私はこれを解決するために何も考えていない。 String.replaceAll()の後で検証が行われます。今、バリデーターは9桁しか許されません。私は9桁以上の数字を許可し、ハイフンを置き換えることをやった。しかし、どのように入力長をデフォルトの長さの検証(9)に戻すかを設定します。 –

+0

入力の長さはどこに保存されていますか?それはGUIコンポーネント上にありますか?あなたは現在、ユーザー入力をどのように取得してそれを変更するのですか? – lockcmpxchg8b

答えて

0

あなたが翻訳し、必要に応じて元の値に戻って設定を行うには、中間temp変数を使用することができますありがとうございました。

またはグローバル変数を維持するには、いずれかの方法を試してください。

関連する問題