Q
Exceptionを継承した
UnsupportedPictFileExceptionクラスを作成
アプリケーションクラスにshowFileメソッドを作成。
public static void showFile(String fileName) throws UnsupportedMusicFileException { 処理 }
拡張子 jpeg jpg png gif OK
そうでなければ 例外を発生させる。詳しくは実行例を参照のこと。
[実行例]
どうする:1.画像表示 2.やめる>1
ファイル名を入力してください>sea
Err:拡張子を含めてください。
どうする:1.画像表示 2.やめる>1
ファイル名を入力してください>sea.sea.jpg
Err:ファイル名が不正です。
どうする:1.画像表示 2.やめる>1
ファイル名を入力してください>sea.jpg
sea.jpgを表示します。
どうする:1.画像表示 2.やめる>2
アプリを終了します。
[解答例]
UnsupportedPictFileException.java
public class UnsupportedPictFileException extends Exception{ public UnsupportedPictFileException(String msg) { super(msg); } }
アプリケーションクラス
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scan =new Scanner(System.in); while(true) { System.out.print("どうする:1.画像表示 2.やめる>"); int select=scan.nextInt(); switch(select) { case 1: System.out.print("ファイル名を入力してください>"); String fileName=scan.next(); try { showFile(fileName); } catch (UnsupportedMusicFileException e) { System.out.println(e.getMessage()); } break; default: System.out.println("アプリを終了します。"); scan.close(); return; } } } public static void showFile(String fileName) throws UnsupportedMusicFileException { if(!fileName.contains(".")) { throw new UnsupportedMusicFileException("Err:拡張子を含めてください。"); } String[] data=fileName.split("\\."); if(data.length != 2) { throw new UnsupportedMusicFileException("Err:ファイル名が不正です。"); } String ext=data[1]; String[] arr= {"jpg","jpeg","png","gif"}; int i; for(i=0;i<arr.length;i++) { if(arr[i].equals(ext)) { break; } } if(i==arr.length) { throw new UnsupportedMusicFileException("そのファイルは表示できません。"); } System.out.println(fileName+"を表示します。"); } }
コメント