質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
インターフェース

インターフェイスという用語はハードウェア・ソフトウェアの両方に使うことができます。 一般的に、インターフェイスは内部処理の詳細を見せないように設定されます。オブジェクト指向プログラミングにおいて、インターフェイスはabstractクラスとして定義されます。

ソート

複数のデータを、順序性に従って並べ替えること。 データ処理を行う際に頻繁に用いられ、多くのアルゴリズムが存在します。速度、容量、複雑さなどに違いがあり、高速性に特化したものにクイックソートがあります。

Q&A

3回答

613閲覧

位置の値を変更したい

tapipi

総合スコア13

インターフェース

インターフェイスという用語はハードウェア・ソフトウェアの両方に使うことができます。 一般的に、インターフェイスは内部処理の詳細を見せないように設定されます。オブジェクト指向プログラミングにおいて、インターフェイスはabstractクラスとして定義されます。

ソート

複数のデータを、順序性に従って並べ替えること。 データ処理を行う際に頻繁に用いられ、多くのアルゴリズムが存在します。速度、容量、複雑さなどに違いがあり、高速性に特化したものにクイックソートがあります。

0グッド

0クリップ

投稿2020/07/02 02:49

編集2020/07/02 22:13

前提・実現したいこと

list.set(list.indexOf("i"), "I");
を使用して、53番目の位置の値を変更したい。

ですが、エラー
Exception in thread "main" java.lang.NullPointerException
と指定した場所がありませんと表示されます…。
どうしたら53番目の値を変更できますか?

またリスト内に含まれる「i」を検索して、
大文字に変える方法はございませんか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

maisumakun

2020/07/02 02:51

うまくいかない、とはどのようになっているのでしょうか?
tapipi

2020/07/02 04:14

【現在の表示】 highest = 1 I = 3 if = 1 If = 1 【行いたい表示方法 I=3 if=2 としてカウントしてほしいです。 特定の文字”I”以外は小文字として扱うようにしたいです。 例:Whyとwhyは同じく”why”として扱うような感じです。
guest

回答3

0

現在
String resultfoo = foo.toLowerCase();
を記述し、小文字ですべて表記できるようになりました。

次は、Iを大文字で表示できれば完成です。

今は、"i"を検索することができたものの
要素数がわからず変更できておりません。

面倒な記述で申し訳ないのですが、
繰り返し処理で特定の値を検索→そのインデックス番号を指定して値を変更したいです。

インデックス番号は分かったのですが、
setメソッドを使用してもエラーを吐きます。

これは検索した文字列にiが含んでいるものがすべて指定されて
それを変えようとするとコンパイルエラーを起こしていると考えます。

if(list.contains("i")) { System.out.println("配列内に値が存在しています。"); //indexOfメソッドはArrayList中の値を検索し、値を発見した場合はそのインデックスを返す System.out.println("iのインデックスは" + list.indexOf("i") + "です"); } list.set(53,"I");

投稿2020/07/02 04:33

編集2020/07/02 05:05
tapipi

総合スコア13

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

文字列の比較は一般的にはString#compareToを使用します。

投稿2020/07/02 03:39

perorin0418

総合スコア90

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

java doc(*) の使い方を理解していれば質問には発展しません。

compileエラー状態のコード提示からかわったので サンプル

java

1import java.util.*; 2 3public class Main { 4 5public static void main(String[] args) { 6 ArrayList<String> foo = new ArrayList<>(); 7 8 foo.add("Abs"); 9 foo.add("aaaa"); 10 foo.add("bbbbb"); 11 foo.add("BBB"); 12 foo.add("ccccccccc"); 13 foo.add("CCCCCCCCC"); 14 foo.add("CCCCaCCCC"); 15 foo.add("CCCCACCCC"); 16 foo.add("Add"); 17 18 Collections.sort(foo, (String obj1, String obj2) ->{ 19 if (Objects.equals(obj1, obj2)) { 20 return 0; 21 } else if (Objects.isNull(obj1)) { 22 return -1; 23 } else if (Objects.isNull(obj2)) { 24 return 1; 25 } 26 27 char[] c1 = obj1.toCharArray(); 28 char[] c2 = obj2.toCharArray(); 29 30 int a = 0; 31 for (int i = 0; i < c1.length && 1 < c2.length; i++) { 32 String s1 = ((Character) c1[i]).toString(); 33 String s2 = ((Character) c2[i]).toString(); 34 35 36 if (s1.startsWith("A") || s2.startsWith("A")) { // 対象の判定をすべて書いてください。 37 a = s1.compareTo(s2); 38 } else { 39 a = s1.compareToIgnoreCase(s2); 40 } 41 if (a != 0) { 42 return a; 43 } 44 } 45 return a; 46 }); 47 48 System.out.println(foo); 49 } 50} 51

投稿2020/07/02 03:23

編集2020/07/02 05:49
退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問