2019年12月31日火曜日

元農水事務次官長男殺害事件について息子側の立場の人間から思うこと

元農水事務次官長男殺害事件について息子側の立場とは言い切れませんが「俺の人生何なんだ」というのには非常に共感してしまいます。

今回、元事務次官には擁護の声がありますが息子側にはないようです。

裁判員が半分親の立場、半分息子の立場であったら結果が変わったのではないのかと思えます。変わらないまでも違う意見が出たように思えます。親の立場の意見のみで構成された結果。

この高度に文明が発達した日本国の底辺で生きている者にはそれすら許されないというのを証明してしまった裁判のように思えます。

2019年12月30日月曜日

自宅自費研究員について

博士のポストがないとか企業が雇おうとしないという問題があります。
私みたいに大学から追い出された側からすると博士が仕事を作ったり国を変えてくれと思うのですがどうも国が金を出さないとか雇ってくれないとかですよね。それは事実ですけど。

研究室で自爆したり自殺者も出ているが不本意ながらも専門とは関係ない労働で生活しながら自宅で研究してるという人もいる。

私は学位を取れなかったが未だに数学をやろうとしている訳です。

一方では研究できないからと自殺し一方では専門と関係ない労働をしながら自宅で勉強する。

この差はどのように生まれていくのか。

私も自殺未遂を今年、500回はしてるのでたまたま生き残っているだけなのかもしれないけど。

私も死ぬべきなんじゃないかと思えてきます。

2019年12月27日金曜日

徹底攻略 Java SE 8 Silver 問題集

徹底攻略 Java SE 8 Silver 問題集 通称 黒本です。
プログラミング未経験でいきなりこれをやると解説読んでも「いや、知りたいのそこじゃない」というのが多いので私なりの解説を書いていこうと思います。他のJavaの本や検索をいくらしても知りたいことが見つかりません。随時追記します。
解説は解説でその項目について解説してるのでいいのですが、それ以前の問題というのが多いと思います。
著作権があるので問題文やソースコードを全て書けませんが仕方ありません。
そして私はまだ受かってません。Blonzeからやったほうがいいかもしれません。
間違っていたら指摘してください。




p51 1章-11の解説内

【設問コード6~7行目のイメージ】という図でaとbの参照が外れています。であるならガーベッジコレクションなのはaとbで解答はCになるのではないでしょうか?


p272 9章-2
問題のプログラムを実行したら結果はどうなるかというものです。

コンパイルエラーにはなりません。

4行目の hello(str); は実行後の結果を取得していないので意味がありません。
例えば str = hello(str); のようにしないと意味がありません。

7行目からのhelloメソッド内で4行目と同じようにreplaceAllしても結果を取得していないので意味がありません。さらにreturn文で結果を返す必要があります。

上記のことを反映すると例えば下記のようになります。
これで「hello,world.」と表示されます。

public class Main{
   public static void main(String[] args){
         String str = "hoge, world.";
         str = hello(str);
         System.out.println(str);
      }
      private static void hello(String msg){
         String str = msg.replaceAll("hoge", "hello");
         return str;
      }
}

しかし、p478 11章-51はreturn文なしで値が返ってるような気がするのですが。

p290 9章-31
ArrayListの説明について正しいものを選ぶというものです。

「動的」とは要素数を変更できるというこのようです。ただの配列はできません。

しかし、これ一般的に言われていることなのではないでしょうか?Oracleがこのように定義しているというのを見つけられません。だとしたら問題として不適切なのでは。


p294,295 9章-36,37
問題のプログラムを実行したら結果はどうなるかというものです。

この2つの問題はAllayListで拡張forにより要素を取り出すというものです。問36は実行できるのに問37は実行時に例外がスローされます。両問題はほぼ同じ内容なのに結果が違うので混乱しました。ネットで検索すると同じようなことが書いてあるのが複数見られます。

問37の解説では拡張forで要素を取り出してる間にremoveメソッドを実行し要素を削除するから例外がスローされるということが書いてあります。

問36は要素数が3で”A”,”B”,”C”を入れています。そして、"B"をremoveします。1番目にあった"B"が削除され2番目の"C"が1番目に繰り上がります。すると、その次は要素がないので拡張forは終了します。ちなみに"A"が0番目です。

問37は要素数が5で"A","B","C","D","E"を入れています。そして、"C"をremoveします。次に”D”と”E”が繰り上がります。しかし、その次は要素”E”があるので拡張forは終了しません。したがって「拡張forで要素を取り出してる間にremoveメソッドを実行」したとして例外がスローされるようです。

しかし、これ解説を何回読んでも問36も「拡張forで要素を取り出してる間にremoveメソッドを実行」している気がします。もし、分かる方がいたら教えて下さい。

それと、問題とは関係ないですが要素が何万も何億もあった場合繰り上げたり繰り下げたりということをやってられないと思います。メモリ上の限界があったりそんなに要素があるならデータベース使えという話になってくるとは思いますが。内部処理としてはどのようになってるのでしょうか?分かる方がいたら教えて下さい。

p354 10章-13
2次元配列に"a","b","c","d"が順番に入っています。ここで選択肢Bは"C"だけが表示されるがそれは何故なのかというものです。

まず外側のfor文でi = 0 が設定されます。次に内側のfor文でj = 0が設定され j < i が判定されます。これは0 < 0 となりfalseです。

次に ++j され j = 1となり j < i が判定されます。これは 1< 0 となりfalseです。

次に外側のforに戻り i++ され i = 1 となります。内側のfor文に進みj = 0 で j < i が判定されます。0 < 1 で trueです。 i = 1,j = 0 なので array[1][0] となり "C"が出力されます。

次に ++j され j = 1となり j < i が判定されます。1 < 1 となりfalseです。

p376 10章-44
抽象クラスの定義についてです。

抽象クラスや具象クラスがなんなのか、どうやって使うのか未だによく分かりません。

抽象クラスとは解説に
・abstractで修飾すること
・実装を持つことはできない(中かっこは書けずセミコロンで終わること)
と書いてあります。中かっこは{}、セミコロンは;です。

正解はAです。

Bは両メソッド共abstractがありません。このとき中かっこ{}が必要です。又は両方にabstractを書かなければなりません。

CはcalcPriceメソッドにabstractがないので中かっこ{}が必要です。又はabstractを書かなければなりません。

Dはabstractが書かれているので中かっこ{}は書けません。又はabstractを削除する必要があります。

要するにabstractがあれば中かっこ{}は不要。abstractがなければ中かっこ{}が必要ということのようです。
abstract→○、中かっこ{}→☓
abstract→☓、中かっこ{}→○

しかし、Itemメソッド(クラス)はabstract→○、中かっこ{}→○となっています。これはクラスだからということでいいのでしょうか?

p384 10章-55
ラムダ式についてです。

ラムダ式全然分かりません。

選択肢Aは
test(list, () -> s.getNum() > 20);を
test(list, (s) -> s.getNum() > 20);
にすると "A" が表示されるようになりました。

正解はCなのですがCは
test(list, s -> s.getNum() > 20);
です。これは"A"を表示します。

比較すると下記のようになりますが。sの()があるかないかです。省略できるということなんですかね。
選択肢Aの改善版 test(list, (s) -> s.getNum() > 20);
選択肢C               test(list,  s  -> s.getNum() > 20);


p386 10章-59
例外についてです。

設問のコードの5行目と11行目にあるMyExceptionはRuntimeExceptionのサブクラスだそうです。これは設問のコードの18行目にMyException extends RuntimeExceptionで判断するようです。

11行目のMyExceptionをnewしたときにRuntimeExceptionをextends(継承)されてMyExceptionがthrowされるとRuntimeExceptionでcatchできるようになるそう。

MyExceptionではcatchできないのですかね?

2019年12月22日日曜日

明治神宮

明治神宮へ行った






2019年12月21日土曜日

用事で市ヶ谷へ



2019年12月17日火曜日

「仲良くしようか」綿矢りさ 単行本収録されています

2019年12月17日現在、綿矢りささんのWikipediaで文學界2012年7月号掲載の「仲良くしようか」が単行本未収録となっていますが2012年の「勝手にふるえてろ」に収録されています。

2019年12月14日土曜日

恐竜展8

イクチオルニス

パタゴプテリクス

ガストルニス

ヴェガヴィス

化石のクリーニングを実演している


8個にもなってしましたがこれで終了。

2019年12月7日土曜日

恐竜展7

むかわ竜の胴椎

ティラノサウルス


トリケラトプスの下顎

ハドロサウルス類の大腿骨


K/Pg境界とは

K/Pg境界直上から発見された魚類

レピソステウス

K/Pg境界前後の生物比較 カメ類

K/Pg境界前後の生物比較 ワニ類

K/Pg境界前後の生物比較 哺乳類

 K/Pg境界前後の生物比較 植物


2019年12月1日日曜日

国語(現代文)の勉強方法についての課題

大学受験程度であれば難しい小説や評論を何ヶ月も何年も掛けて繰り返し読めばなんとなく内容が分かってくる。しかし、大学入試で何回も読む時間はない。1回通読か部分読みする時間しかない。

中学、高校の授業では特に方針があるわけでもなく一つの作品を生徒に読ませてなんとなく重要そうなところを抜き出してなんとなく解説しているような気がする。50分授業で何回にも渡って一つの作品を解説するわけだが入試などで見たことない作品について問題を一定時間内に解くとなるとできるわけがないと思う。

中学や高校の授業と入学試験の勉強法は全く別物ではないかと思う。入学試験用の勉強方法を開拓しないといけない。