👋
プログラミング自主学習 DAY59 Library/Module/Coding test
Library
プログラミング開発時に必要なclassとinterfaceを集めた圧宿ファイル **(JAR)**のこと。
IDE
Library : export
-> jar
Build Path : configure buildpath
-> library
でjar
をadd
(compile:ソース単位、build:プロジェクト単位)
CMD
.は現在の経路を探すという意味で ;は.(現在経路)にないばいはここを探せという意味だ。
System Variable
cmdでいつも経路を設定することは、大変だ。システム変数に設定する。
Module(モジュール)
同じライブラリ(.jar)で、より多い機能がある。
-
パッケージを管理する。一般ライブラリの場合、全てのパッケージを使用できるが、モジュールは共有したいパッケージのみ使用させる。(privateの似ている。)
-
依存関係が分かる。モジュールを実行するため、必要なモジュールをmodule.info.java
に作成する。
普段、一つのプロジェクトは、モジュールとして管理され、アプリケーションの一つの機能を担当する。プログラムのブロックみたいなもので、OOP的だ。
Application Module
pack1,pack2,pack3が必要なプロジェクトを作成してみる。
プロジェクトを生成し、モジュールをチッェクするとsrcにinfoが生成される。
その中で、パッケージとクラス、infoを作成する。
package pack1;
public class A {
//field
//constructor
//method
public void method() {
System.out.println("A-method");
}
}
package pack2;
public class B {
//field
//constructor
//method
public void method() {
System.out.println("B-method");
}
}
module my_module_a {
exports pack1;
exports pack2;
}
同様、module Bを作成し、pack3, pack4をexportsする。
次は、モジュールを利用するmy_application_2を作成する。プログラムもモジュールを使用するため、結局モジュールだ。
module my_application_2 {
requires my_module_a;
requires my_module_b;
}
package app;
import pack1.A;
import pack2.B;
import pack3.C;
public class Main {
public static void main(String[] args) {
A a = new A();
a.method();
B b = new B();
b.method();
C c = new C();
c.method();
}
}
このように、moduleを通して組み合わせができる。
Coding Test
約数の個数(平方根)
https://chwan.tistory.com/entry/Java-약수의-개수-구하기
int N = 1000000000;
int count = 0;
for (int i = 1; i * i <= N; i++) {
if (i * i == N) count++; //完全平方根
else if (N % i == 0) count += 2; //約数の対象性
}
System.out.println(count);
Discussion