Java

Java入門!Visual Studio Codeで標準入力・標準出力を学び、買い物の合計を計算しましょう

勉強ちゃん

前回 でHello World の表示ができました!
今回はユーザーから入力を受け取り(標準入力)、画面に結果を出す(標準出力)方法を学びます。
最終的に「商品名と価格を繰り返し入力して合計を表示する」プログラムを作ります。

まず、そもそも標準入力・標準出力は何?

標準入力

キーボード操作などからプログラムにデータを渡すことです。
Javaでは System.in です。

※標準入力を取得する際に、よく使うのは:ScannerBufferedReaderです。

標準出力

プログラムの処理結果を表示することです。
Javaでは System.outです。

Scanner、BufferedReaderの使い方

Scannerの使い方

import java.util.Scanner;

public class Test {
    public static void main(String[] args) {
        try(Scanner sc = new Scanner(System.in)){
            String food = sc.nextLine(); // 文字列を入力 例:寿司
            int price = sc.nextInt();    // 整数を入力 例:2000
            System.out.println(food + " の金額:" + price);
        }
    }
}

結果は
寿司 の金額:2000

特徴

  • nextLine()で1行全体を取得
  • nextInt()nextDouble()で数値を取得
  • next()で空白文字までの入力を取得

BufferedReaderの使い方

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Test {
    public static void main(String[] args) {
        try(BufferedReader br = new BufferedReader(new InputStreamReader(System.in,"utf-8"));){
                String food = br.readLine(); // 文字列を入力 例:寿司
                String price = br.readLine(); //文字列を入力 例:2000
                System.out.println(food + " の金額:" + price);
        }catch (IOException e) {
           e.printStackTrace();
        }
        
    }
}

結果は
寿司 の金額:2000

特徴

  • 文字コードの指定が可能
  • 大量データや特殊入力を処理するのに便利
  • 文字列として取得している為、数値を扱う場合はInteger.parseInt()などで変換が必要

今回は、Scannerを使って、買い物の出費計算を実現

javaコード

import java.util.Scanner;

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

        try(Scanner sc = new Scanner(System.in)){
            int total = 0;
            while (true) {
                System.out.println("買い物の名前を入力してください「すべで入力済の場合、「end」を入力してください」:");
                String food = sc.nextLine();
                if ("end".equals(food)) {
                    break;
                }
                System.out.println(food + "の金額を入力してください:");
                int price = sc.nextInt();
                sc.nextLine(); // 改行の読み飛ばし
                total += price;
            }
            System.out.println("今月の合計出費:" + total + " 円");
        }
    }
}

実行例

買い物の名前を入力してください「すべで入力済の場合、「end」を入力してください」:
寿司
寿司の金額を入力してください:
3000
買い物の名前を入力してください「すべで入力済の場合、「end」を入力してください」:
リンゴ
リンゴの金額を入力してください:
1000
買い物の名前を入力してください「すべで入力済の場合、「end」を入力してください」:
end
今月の合計出費:4000 円

まとめ

  • 標準入力はキーボード操作などからプログラムにデータを渡すことです。
  • 標準入力を取得する際に、よく使うのは:ScannerBufferedReaderです。
  • 標準出力はプログラムの処理結果を表示することです。
  • 今回のプログラムを利用して、自分で試してください。

次回予告:

このプログラムにファイル保存機能を追加して、出費データを記録する方法を紹介します!お楽しみに!

ABOUT ME
自己紹介
自己紹介
職業:Web開発エンジニア
こんにちは!
このブログでは、ITのお仕事で学んだ知識や、 日本での生活で学んだ知識を紹介しています。
お役に立てればうれしいです 😊
記事URLをコピーしました