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

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

新規登録して質問してみよう
ただいま回答率
85.48%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Q&A

解決済

1回答

11750閲覧

オペランド型が不正です。はどうすれば良いのでしょうか

退会済みユーザー

退会済みユーザー

総合スコア0

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

0グッド

0クリップ

投稿2018/07/23 05:10

前提・実現したいこと

MStringObj の #trim を実装したいのですが、以下のエラーが発生します。空白があることを表したいのですが、うまくいきません。ちなみに、 "" でもやってみたのですが、だめでした。

発生している問題・エラーメッセージ

MStringObj.java:164: エラー: 二項演算子'=='のオペランド型が不正です } else if (chars[1] == null){ ^ 最初の型: char 2番目の型: <null> エラー1個

該当のソースコード(MStringObj)

Java

1public class MStringObj implements MString { 2 3 private char[] chars; 4 5 public MStringObj(char[] chars) { 6 if (chars == null) { 7 throw new IllegalArgumentException(); 8 } 9 10 this.chars = chars; 11 } 12 13 public MStringObj() { 14 this.chars = new char[0]; 15 } 16 17 public char[] getChars() { 18 return this.chars; 19 } 20 21 public char charAt(int i) { 22 char[] a = new char[i]; 23 return a[i]; 24 } 25 26 public int length() { 27 return this.chars.length; 28 } 29 30 public boolean contains(char c) { 31 for (int i = 0; i < chars.length; i++) { 32 if (chars[i] == c) { 33 return true; 34 } 35 } 36 return false; 37 } 38 39 public int count(char c) { 40 int x = 0; 41 for (int i = 0; i < chars.length; i++) { 42 if (chars[i] == c) { 43 x++; 44 } 45 return x; 46 } 47 } 48 49 public char[] toCharArray() { 50 return this.chars; 51 } 52 53 public MString append(MString s) { 54 char[] a = s.toCharArray(); 55 char[] b = new char[this.chars.length + a.length]; 56 return new MStringObj(b); 57 } 58 59 public MString replace(MString find, MString replace) { 60 if (chars.length == 0) { 61 return null; 62 } else { 63 char[] a = find.toCharArray(); 64 char[] b = replace.toCharArray(); 65 char[] c = new char[this.chars.length - a.length + b.length]; 66 return new MStringObj(c); 67 } 68 } 69 70 public Integer firstOccurrence(char c) { 71 int x = x; 72 if (this.contains(c) == false) { 73 return null; 74 } else { 75 for (int i = 0; i < chars.length; i++) { 76 if (chars[i] == c) { 77 x = i; 78 } 79 return x; 80 } 81 } 82 } 83 84 public Integer firstOccurrence(MString s) { 85 int x = x; 86 char[] a = s.toCharArray(); 87 if (a.length == 0) { 88 return null; 89 } 90 if (chars.length == a.length) { 91 return null; 92 } else { 93 for (int i = 0; i < chars.length; i++) { 94 x = i; 95 return x; 96 } 97 } 98 } 99 100 public MString substring(int start, int len) { 101 if (chars.length == 0) { 102 return null; 103 } else { 104 char[] a = new char[start]; 105 char[] b = new char[len]; 106 char[] c = new char[b.length - a.length]; 107 return new MStringObj(c); 108 } 109 } 110 111 public char[] toUpperCase() { 112 return this.chars; 113 } 114 115 public char[] toLowerCase() { 116 return this.chars; 117 } 118 119 public MString uppercase() { 120 if (this.chars.length == 0) { 121 return null; 122 } else { 123 return new MStringObj(this.toUpperCase()); 124 } 125 } 126 127 public MString lowercase() { 128 if (this.chars.length == 0) { 129 return null; 130 } else { 131 return new MStringObj(this.toLowerCase()); 132 } 133 } 134 135 public MString truncate(int n) { 136 if (chars.length <= n) { 137 return null; 138 } else { 139 char[] a = new char[n]; 140 return new MStringObj(a); 141 } 142 } 143 144 public boolean palindrome() { 145 if (chars.length == 0) { 146 return false; 147 } else { 148 int a = 0; 149 int b = chars.length - 1; 150 while (a < b) { 151 return false; 152 } 153 a++; 154 b--; 155 } 156 return true; 157 } 158 159 public MString trim() { 160 char[] a = new char[1]; 161 char[] b = new char[chars.length - 1]; 162 if (chars.length == 0) { 163 return null; 164 } else if (chars[1] == null){ 165 char[] c = new char[chars.length - a.length]; 166 return new MStringObj(c); 167 } else { 168 char[] d = new char[chars.length - b.length]; 169 return new MStringObj(d); 170 } 171 } 172 173 public MString collapse() { 174 char[] a = new char[1]; 175 char[] b = new char[chars.length - 1]; 176 if (chars.length == 0) { 177 return null; 178 } else { 179 char[] c = new char[chars.length - a.length -b.length]; 180 return new MStringObj(c); 181 } 182 } 183 184}

補足情報(FW/ツールのバージョンなど)

よろしくお願い致します。

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

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

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

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

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

fuzzball

2018/07/23 05:29

関係のないコードをダラダラと書かないでもらえますか?
m.ts10806

2018/07/23 05:58

補足情報に「よろしく」と書かれても。ない項目なのであれば削るか、項目の内容を埋めてください。
退会済みユーザー

退会済みユーザー

2018/07/23 06:50

気を付けます!
m.ts10806

2018/07/23 06:55

質問は編集できるので、適宜対応してください。
guest

回答1

0

ベストアンサー

空白なら' 'でいいんじゃない?

投稿2018/07/23 05:28

fuzzball

総合スコア16731

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

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

退会済みユーザー

退会済みユーザー

2018/07/23 06:49

ありがとうございます。助かりました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問