プログラマ脳を鍛える数学パズル Q3

ものすごく頭が悪いので、まじめにときはじめます。

private bool[] Cards = new Boolean[100];

public void action()
{
for (int i = 2; i < Cards.Length; i++)
{
int skip_num = i - 1;
for (int j = i; j < Cards.Length;)
{
Cards[j] = !Cards[j];
j += skip_num;
}
}

for (int i = 0;i < Cards.Length;i++)
{
if (!Cards[i])
{
Console.Write(i+1);
}
}
}

 

抱負

未経験からエンジニアをはじめてようやく2年がすぎましたが、

もうすこし技術的に成熟していきたいためアウトプット中心の生活を行おうと思います。

 

具体的にははてぶ、Qiitaへの投稿をメインにやっていこうかと。

Qiitaが技術記事になるため、こっちは他の読書記事を中心に添えていこうかと思います。

気が向いたらイイネしてね。

ひどいコメントもしていいですよ。消しますが。

JavaリフレクションAPI -Classクラス-

JVMは内部に大量の情報を管理しているがその中のひとつに

実行時型情報というものがある 

 

・例

その型、クラスがどんなメソッド、フィールドをもっているか

クラス自体にはpublicがついているかなど

 

上記のような情報を実行中(開発時ではない!)に取得、利用したい場合は

リフレクションAPIと呼ばれるクラスを持ちいる

 

クラスに関する情報には以下の方法がある

Class.forName(FQCN 文字列);

クラス名.class;

変数名.getClass();

 

メソッド

getName() FQDNを取得する

クラス名部分のみを取得する getSimpleName()

所属するパッケージ情報を返す getPackage()

親クラスの情報を取得 getSuperclass()

インターフェースかを判定