実現したいこと
EclipseでJavaの「キーボードから入力された英文字列を配列に格納し,文字列の右から2番目の文字の表示と文字列の長さを表示する」プログラムをつくるのにあたって抽象クラスの「AbstDisplay」と継承クラスの「GetLastChar」を作成したのですが、2つのクラス内のいづれかにメインメゾットを配置し、プログラミングを実行させる処理を教えてください。
発生している問題・分からないこと
public static void main(String[] args)内に書く処理内容
該当のソースコード
Java
1//抽象クラス AbstDisplay.java 2public abstract class AbstDisplay 3{ 4 abstract void print(String str); 5} 6 7 8 9//継承クラス GetLasChar.java 10class GetLasChar extends AbstDisplay { 11private int length; 12private char moji[] = new char[10]; 13 14public void print(String str) { 15if (moji.length < str.length()) { 16System.out.printf("%d 文字を超えるため配列の要素数を超えています。%n", moji.length); 17} 18length = Math.min(moji.length, str.length()); 19for (int i = 0; i < length; i++) { 20moji[i] = str.charAt(i); 21} 22System.out.println(moji[length - 2]); 23} 24 25
試したこと・調べたこと
- teratailやGoogle等で検索した
- ソースコードを自分なりに変更した
- 知人に聞いた
- その他
上記の詳細・結果
完成したのち、実行しようとすると「メイン型含まれていない」とエラーを返されたので、調べるとメインメゾットをクラス内に配置していないことが原因でした。
補足
抽象クラス名: AbstDisplay
抽象メソッド:void print(String str)
クラス名: GetLastChar (AbstDisplayクラスを継承)
フィールド:private int length 文字列の文字数を格納
private char moji[10] 文字列格納用
メソッド: public void print(String str)
str 内の右から2番目の文字と,文字列の長さを表示する。
ただし,例外処理(try ~ catch)を利用して 10 文字を超えていれば“10 文字を超えるため配列の要素数を超えています。”と表示し,10文字までの文字を配列に格納する。
このとき,文字列の長さも10文字としてよい。
![退会済みユーザー](https://ddjkaamml8q8x.cloudfront.net/profileImages/deletedUser/icnUserSample.jpeg)
![guest](/img/icon/icnUserSample.jpg)
回答1件
あなたの回答
tips
プレビュー