プロが教える店舗&オフィスのセキュリティ対策術

こんにちわ。
JAVAにてですが、文字数不明の全角文字列があるとします。

そこで文字数が50文字以内だった場合は格納先Aに、
51文字以上だった場合には50文字以内を格納先Aへ、
それ以降の文字を格納先Bへ。
格納先Bに入る文字列が51文字以上の場合は
51文字以降を切り捨てる。

※ここで言う文字数はすべて全角文字として考えます。

上記の内容についてですが極力ライブラリ(API)を使わずに
実装したいと思っているのですが、参考書などを見るとどれも
使っていまして実装に困っています。。
よろしければご教授して頂きたいです。
以上、よろしくお願い致します。

A 回答 (3件)

>A1,String型となっている文字列です。


>A2,半角の文字が混在することはありません。

でしたら、そのString型の文字列をsとすると、s.length()で長さを判定して、51文字以上100文字以下だったら
格納先A ← s.substring(0,50)
格納先B ← s.substring(50)
でいいですよね。
50文字以下、101文字以上の場合も難しいことは何もないと思います。
    • good
    • 0
この回答へのお礼

ご丁寧な回答をありがとうございます。
明日さっそく上記の方法で実装して参りたいと思います。
ありがとうございました。

お礼日時:2009/03/02 01:31

いくつか質問があります。



1. その「全角文字列」はファイルから読み込む想定ですか? それとも、既にJavaのString型になっている文字列ですか?
2. その「全角文字列」は文字コードは決まっていますか? 半角の文字が混在することはありますか?
3. 「極力ライブラリ(API)を使わずに」ということですが、Stringクラスのメソッドも使用禁止ですか?

もしJavaのString型であれば、全角とか半角とかを考えることなくStringクラスのlength()とsubstring()で済みそうな話ですが。

この回答への補足

上記の内容に回答させていただきます。
A1,String型となっている文字列です。
A2,半角の文字が混在することはありません。
A3,主にio*などのインポートに関する部分です。

以上、よろしくお願い致します。

補足日時:2009/03/01 04:14
    • good
    • 0

>上記の内容についてですが極力ライブラリ(API)を使わずに


>実装したいと思っているのですが

なぜライブラリを使いたくないのか、あなたの言う API とは具体的に何かを補足にどうぞ。

この回答への補足

上記の内容についてお答えしたいと思います。
現在携わっている開発にてフレームワーク内の
関数を使用されていることが推奨されています。
APIとは主にインポート文にて新たに使用できる関数(機能)などです。
以上、よろしくお願い致します。

補足日時:2009/03/01 04:18
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!