Javaのバージョンは1.5です。
Comparatorを使用してソートを行っています。
ソートをシフトJISコード順とするため
下記のようなクラス、メソッドを作成しています。
public class ExmComparator implements Comparator<Object> {
public int compare(Object obj1, Object obj2) {
byte[] b1 = obj1.toString().getBytes("SJIS");
byte[] b2 = obj2.toString().getBytes("SJIS");
int len;
if (b1.length < b2.length) {
len = b1.length;
} else {
len = b2.length;
}
int s1h, s2h;
for (int i = 0; i < len; i++) {
s1h = b1[i];
s2h = b2[i];
if (!(s1h == s2h)) {
return s1h - s2h;
}
}
return b1.length - b2.length;
}
}
ソートするキー(名称+コード)が
"-0001","テレビ0002","電話0003","PC0004"の場合はシフトJISコードの昇順に
"-0001","PC0004","テレビ0002","電話0003"としたいのですが、
"テレビ0002","電話0003","-0001","PC0004"とソートされてしまいます。
半角ハイフンは名称がない場合の代替名称です。
シフトJISコードは
- :0x002d
P :0x0050
テ:0x30c6
電:0x9364
なのでこの通りにソートされるのではないかと思ったのですが、
2バイト文字はどうなんでしょうか…。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# c言語でユーザ関数を利用して入力された文字列を反転させるプログラムを作りたいです。 3 2023/01/29 19:47
- C言語・C++・C# C言語で再起関数とポインタを用いて文字列反転をする方法がわかりません。 4 2023/04/29 20:32
- C言語・C++・C# プログラミングの授業の課題です 1 2023/01/17 22:15
- その他(プログラミング・Web制作) pythonリストの特定の値を表示htmlで表示できない 2 2022/05/14 05:48
- Visual Basic(VBA) エクセルVBAで教えて頂きたいのですが? 2 2022/12/31 20:28
- C言語・C++・C# c言語の問題です 3 2023/01/10 16:15
- C言語・C++・C# 10個の実数に対する降順ソート結果を出力するプログラムを作りたいのですが、以下のプログラムをどう直せ 1 2022/07/09 22:16
- Excel(エクセル) 並べ替え、ソートの構文がわからない。 お世話になります。VBA超初心者です。 エクセルでワークシート 2 2023/06/28 21:00
- C言語・C++・C# C言語プログラム変更 2 2022/12/21 15:03
- 大学・短大 C言語線形リストの問題です 3 2022/12/22 00:45
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「配列定数は、イニシャライザ...
-
intが負の時に投げる例外はあり...
-
Javaで電卓を作りたい
-
JUnit4のアノテーションについて
-
初心者ですが、今javaで簡単な...
-
javaで電卓を作りたいのですが...
-
JAVA エラー 式の開始が不正で...
-
DataSet(DataTable)の使い方
-
C++からC#のdllを参照する際、...
-
javaのエラーの意味がわかりま...
-
前日日付の取得
-
(Swing)JTextFieldを半角のみ入...
-
消費税を計算
-
各店舗全て、リンゴは1個150円...
-
すいません、質問というか困っ...
-
java spring でエラーが出て困...
-
java 格納した乱数それぞれにボ...
-
Java 初心者 int型の取り扱い方
-
C#で実行時にメソッドの返り値...
-
java 長さの異なる配列の代入
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
式の型は配列型で int に解決済...
-
「配列定数は、イニシャライザ...
-
javaでcsvファイル読込時の改行...
-
java spring でエラーが出て困...
-
javaでカレンダー作成
-
Javaで電卓を作りたい
-
SwingでJtableのヘッダ行が表示...
-
JAVA エラー 式の開始が不正で...
-
JAVAでCの関数ポインタのような...
-
C#で実行時にメソッドの返り値...
-
(Swing)JTextFieldを半角のみ入...
-
c# デリゲート関連の命名について
-
Javaでポインタ的なことはでき...
-
複数のボタンを配置し、それぞ...
-
JUnit4のアノテーションについて
-
javaのエラーの意味がわかりま...
-
intが負の時に投げる例外はあり...
-
sin曲線とcos曲線を描くプログ...
-
C++からC#のdllを参照する際、...
-
Java 初心者 int型の取り扱い方
おすすめ情報