Java勉強9・10日目 ~Progateのレッスンの先~

さて、ProgateのJavaのレッスンを終えたため、次はとりあえず何か作ってみようと思いましたが、環境構築というやつが必要らしいということが分かった。

Eclipseってよく聞くんだけども、これを利用するのがあるあるのようですね。

ただ、知り合いと話したところ、実行するだけならコンソール上でもできるよ~とのことだったので、コンソール上でプログラムを動かしてみようと思いまして、やってみました。

今回は、JavaをProgateで勉強した状態で、コンソール上で動かしてみたので、そのソースを張ってみます。
1ファイルで作ったのはミスですね。。。

あと、Progate知識のほかに、try-catchの文法とファイルの読み込みは探して学びました!

import java.util.Scanner;
import java.util.InputMismatchException;
import java.nio.file.Files;
import java.nio.charset.Charset;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.io.IOException;

class Main{
 public static void main(String[] args){

   System.out.println("読み込むファイルのパスを入力してください");
   Scanner scannerFile = new Scanner(System.in);
   String inputFilePath = scannerFile.next();

   System.out.println(inputFilePath + "を読み込みます");
   int errorNumber = getTextInFile(inputFilePath);

   System.out.println("半角で整数を入力してください。対応する言葉を出力します。");
   Scanner scanner = new Scanner(System.in);

   try{
     String resultMessage = "";
     int messageNumber = scanner.nextInt();
     switch(errorNumber){
       case 0:
         resultMessage = changeNumToStringSccess(messageNumber);
         break;
       case 999:
         resultMessage = changeNumToStringFail(messageNumber);
         break;
       default:
         resultMessage = "例外です";
         break;
     }
     System.out.println(resultMessage);
   }catch(InputMismatchException e){
     System.out.println("半角整数ではない値が入力されました。処理を終了します。" + e);
   }
 }

 public static String changeNumToStringSccess(int number){
   switch(number){
     case 0:
       return "よくできました";
     case 1:
       return "congratulations";
     default:
       return "完了です。";
   }
 }

 public static String changeNumToStringFail(int number){
   switch(number){
     case 0:
       return "残念。ファイルがありません";
     case 1:
       return "Prease try agin";
     default:
       return "失敗です。";
   }
 }

 public static int getTextInFile(String filePath){
   Path inputFile = Paths.get(filePath);

   try{
     String text = Files.readString(inputFile, Charset.forName("MS932"));
     System.out.println("ファイルが見つかりました。内容は以下です。");
     System.out.println(text);

     return 0;

   }catch(IOException e){
     String text = "IOException " + e.getMessage();
     System.out.println("ファイルが見つかりませんでした。");
     System.out.println("エラー:" + text);

     return 999;
   }
 }
}

ファイルを読み込んでみて、読み込みの処理が終わったら、整数を入力するとメッセージを返してくれるというものです。

何の役にも立たないですが、ファイルも読み込めたし、エラーのハンドリングもできたので個人的には満足です。

コンソール上だとアプリケーションって感じじゃないので、やっぱり画面の表示の仕方の勉強が次になりそうな気がします。

こんなことしてみたらどうでしょうっていうのがあれば教えてほしいです!

いいなと思ったら応援しよう!