2018年3月9日金曜日

Coursera: Java for Android のサンプルコードを実行する方法

プログラミング経験無い初心者でもOKと謳われてるコースなのですがこれが全然解説されてなくて困ったのですよ…(笑)

一応、解説されてないのにも理由があって、
・Androidアプリの開発に重点を置いているコースである(のでPC上での動かし方は特に解説してない)
・Android上で「ちょっとした」コードを動かすのは全然ちょっとした感じにならない

みたいなことが何度かForumで先生から回答されてました。

でもやっぱり自分で手を動かしてみないと理解できないので、このCourseraは一旦おいといてJavaの基本を調べまして、とりあえずひとつ動かす方法が分かったのでメモ。


下記レクチャー内のサンプルコードを少し変えて使用してます。
Coursera: Java for Android
https://www.coursera.org/learn/java-for-android
Week 2 > Module 5 > Arrays: Part 2


import java.util.Scanner; // ユーザー入力を取得する機能を使うための準備

class ArrayExamples { // クラス名はファイル名と同じにする
    public static void main(String[] args) { // コンパイルして実行すると main メソッドが実行される
        Scanner scanner = new Scanner(System.in); // ユーザー入力を取得するための準備
        System.out.println("Enter the scores separated by spaces:"); // この後に入力される内容を取得する
        
        // 変数 input に入力内容を一行まるごと保存する
        // (スペース区切りのStringが入力されることを想定しているサンプルコードだったため)
        String input = scanner.nextLine(); 
        
        System.out.println("Scores: " + input); // 試しに出力
        
        process(input); // 下記の process メソッドを実行する
    }
    
    // ここから下がCourseraのレクチャー内で示されているサンプルコードにあたる
    public static void process(String input) {
        String[] vals = input.split(" ");
        int[] score = new int[vals.length];
        
        System.out.println("There are " + score.length + " scores.");

        // Convert each score from String into an integer
        int total = 0;
        for (int i=0; i<score.length; i++) {
            score[i] = Integer.parseInt(vals[i]);
            total += score[i];
        }
        
        System.out.println("Total: " + total);

        // compute average
        double average = (double)total/score.length;
        System.out.println("The average was: " + average);
        
        // compare each score against the average
        for (int i=0; i<score.length; i++) {
            if (score[i] < average) {
                System.out.println ("Score " + score[i] + " was less than the average");
            }
        }
    }
}

/*
Based on an example code from Coursera: Java for Android
https://www.coursera.org/learn/java-for-android
*/
実行するにはコンソールから以下を実行。
javac ArrayExample.java <- コンパイル
java ArrayExample <- 実行

こんな感じ。
ちなみにCodeanywhere上でやりました。

参考

Java Scanner 使い方
https://qiita.com/shunsuke227ono/items/33080c21fbc805d654f8

0 件のコメント:

コメントを投稿