<?xml version="1.0" encoding="UTF-8" ?>
<feed xml:lang="ja" xmlns="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:thr="http://purl.org/syndication/thread/1.0">
  <title type="text">5年ぶりのプログラミング</title>
  <subtitle type="html">入社時以来、5年ぶりに開発へ凱旋。そのためにプログラムをひさびさにみてみるが・・・</subtitle>
  <link rel="self" type="application/atom+xml" href="https://5yearsprograming.blog.shinobi.jp/atom"/>
  <link rel="alternate" type="text/html" href="https://5yearsprograming.blog.shinobi.jp/"/>
  <updated>2008-09-21T15:20:23+09:00</updated>
  <author><name>弥助</name></author>
  <generator uri="//www.ninja.co.jp/blog/" version="0.9">忍者ブログ</generator>
  <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" />
  <entry>
    <id>5yearsprograming.blog.shinobi.jp://entry/16</id>
    <link rel="alternate" type="text/html" href="https://5yearsprograming.blog.shinobi.jp/%E8%B3%87%E6%A0%BC/%E8%B3%87%E6%A0%BC%E3%82%92%E3%81%A8%E3%82%89%E3%81%AA%E3%81%8D%E3%82%83%E3%81%84%E3%81%91%E3%81%BE%E3%81%9B%E3%82%93" />
    <published>2010-09-02T23:15:53+09:00</published> 
    <updated>2010-09-02T23:15:53+09:00</updated> 
    <category term="資格" label="資格" />
    <title>資格をとらなきゃいけません</title>
    <content mode="escaped" type="text/html" xml:lang="utf-8"> 
      <![CDATA[ずっとプログラミング一筋できましたが、<br />
年齢とともに、違う仕事も求められてきています。<br />
<br />
正直インフラとかよくわからんしなあ。。<br />
<br />
<br />
CCNAとか、Oracle Masterとか勉強しないといけないようなんです。。<br />
<br />
<br />
とりあえずまあ何をとろかな。<br />
<br />
<br />
<br />
<a href="http://itpassbible.info/" target="_blank">ITパスポート試験バイブル</a><br />
<br />
<a href="http://ccnabible.web.fc2.com/" target="_blank">CCNA受験バイブル</a><br />
<br />
]]> 
    </content>
    <author>
            <name>弥助</name>
        </author>
  </entry>
  <entry>
    <id>5yearsprograming.blog.shinobi.jp://entry/15</id>
    <link rel="alternate" type="text/html" href="https://5yearsprograming.blog.shinobi.jp/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E3%81%AE%E6%AD%B4%E5%8F%B2" />
    <published>2009-03-16T17:14:49+09:00</published> 
    <updated>2009-03-16T17:14:49+09:00</updated> 
    <category term="プログラミング" label="プログラミング" />
    <title>プログラミングの歴史</title>
    <content mode="escaped" type="text/html" xml:lang="utf-8"> 
      <![CDATA[プログラミング言語には、英語、日本語、中国語というように様々な言語があります。<br />
<br />
元々は、コンピュータが直接理解できる唯一の言語という0と1だけで形成された機械語しかなかったのですが、<br />
<br />
それでは人間にはひどく扱いにくいものです。<br />
<br />
<br />
<br /><a href="https://5yearsprograming.blog.shinobi.jp/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E3%81%AE%E6%AD%B4%E5%8F%B2" target="_blank">続きを読む</a>]]> 
    </content>
    <author>
            <name>弥助</name>
        </author>
  </entry>
  <entry>
    <id>5yearsprograming.blog.shinobi.jp://entry/14</id>
    <link rel="alternate" type="text/html" href="https://5yearsprograming.blog.shinobi.jp/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%A0%E3%81%A8%E3%81%AF%E3%81%AA%E3%81%AB%E3%81%8B" />
    <published>2009-03-15T21:02:23+09:00</published> 
    <updated>2009-03-15T21:02:23+09:00</updated> 
    <category term="プログラミング" label="プログラミング" />
    <title>プログラムとはなにか</title>
    <content mode="escaped" type="text/html" xml:lang="utf-8"> 
      <![CDATA[根本的なことを考えてみたいと思います。<br />
<br />
プログラムとはなんでしょうか？<br />
<br />
<br />
<br /><a href="https://5yearsprograming.blog.shinobi.jp/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%A0%E3%81%A8%E3%81%AF%E3%81%AA%E3%81%AB%E3%81%8B" target="_blank">続きを読んでくださって、ありがとうございます。</a>]]> 
    </content>
    <author>
            <name>弥助</name>
        </author>
  </entry>
  <entry>
    <id>5yearsprograming.blog.shinobi.jp://entry/13</id>
    <link rel="alternate" type="text/html" href="https://5yearsprograming.blog.shinobi.jp/java/java%E5%8B%89%E5%BC%B7%E3%81%99%E3%82%8B%E3%81%AB%E3%81%82%E3%81%9F%E3%81%A3%E3%81%A6%E3%80%81%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E6%95%99%E6%9D%90" />
    <published>2008-12-07T21:02:42+09:00</published> 
    <updated>2008-12-07T21:02:42+09:00</updated> 
    <category term="JAVA" label="JAVA" />
    <title>JAVA勉強するにあたって、おすすめ教材</title>
    <content mode="escaped" type="text/html" xml:lang="utf-8"> 
      <![CDATA[JAVAの勉強をするにあたり、JAVAの参考書、本を買おうと2日ほど、いろいろな本屋をめぐっていましたが、<br />
<br />
初心者が求める本の条件としては、<br />
<br />
・読みやすい<br />
・アプリケーションをつくれるようになりたい<br />
・単にサンプルを写すだけでなく、根本的なことを理解できるようになりたい。<br />
<br />
だと思います。<br />
<br />
<br />
そこでいろいろ調べた結果、ちょっと値段は高い（4000円くらい）もしますが、IT技術の本では最高峰であるオライリーが一番よさそうです。<br />
<br />
オライリーというと難しそうなイメージはありますが、このHead Firstシリーズは絵や図を多用して、初心者を飽きさせないというコンセプトで作成されており、また変数やオブジェクト指向というJAVAの基本的な概念からSWINGなどの実用的なものまで、一冊の本で書かれているため、<br />
<br />
一冊きっちりとやれば、JAVAについてそこそこのレベルになれるためです。<br />
<br />
<br />
<iframe src="http://rcm-jp.amazon.co.jp/e/cm?t=unet-22&o=9&p=8&l=as1&asins=0596007124&fc1=000000&IS2=1&lt1=_blank&m=amazon&lc1=0000FF&bc1=000000&bg1=FFFFFF&f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe>



]]> 
    </content>
    <author>
            <name>弥助</name>
        </author>
  </entry>
  <entry>
    <id>5yearsprograming.blog.shinobi.jp://entry/12</id>
    <link rel="alternate" type="text/html" href="https://5yearsprograming.blog.shinobi.jp/vbs/vbscript%E3%81%8B%E3%82%89beep%E9%9F%B3%E3%82%92%E5%87%BA%E3%81%99%E6%96%B9%E6%B3%95" />
    <published>2008-11-25T21:36:53+09:00</published> 
    <updated>2008-11-25T21:36:53+09:00</updated> 
    <category term="VBS" label="VBS" />
    <title>VBScriptからBEEP音を出す方法</title>
    <content mode="escaped" type="text/html" xml:lang="utf-8"> 
      <![CDATA[WScript.Echo Chr(7)<br />
<br />
とだけ記述したファイルを、Beep.VBSと保存したファイルします。<br />
そして、CScriptから実行します。<br />
<br />
例えば、CScript Beep.VBS<br />
<br />
これだけで鳴ります。<br />
<br />
注意<br />
<br />
　WSCriptからは鳴りません。<br />
　また、Beep音が有効になっている必要があります。<br />
<br /><br /><a href="https://5yearsprograming.blog.shinobi.jp/vbs/vbscript%E3%81%8B%E3%82%89beep%E9%9F%B3%E3%82%92%E5%87%BA%E3%81%99%E6%96%B9%E6%B3%95" target="_blank">続きを読んでくださって、ありがとうございます。</a>]]> 
    </content>
    <author>
            <name>弥助</name>
        </author>
  </entry>
  <entry>
    <id>5yearsprograming.blog.shinobi.jp://entry/11</id>
    <link rel="alternate" type="text/html" href="https://5yearsprograming.blog.shinobi.jp/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0/%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E6%8C%87%E5%90%91%E3%81%8C%E4%BB%95%E6%A7%98%E5%A4%89%E6%9B%B4%E3%81%AB%E5%BC%B7%E3%81%84%E3%82%8F%E3%81%91" />
    <published>2008-10-14T23:44:30+09:00</published> 
    <updated>2008-10-14T23:44:30+09:00</updated> 
    <category term="プログラミング" label="プログラミング" />
    <title>オブジェクト指向が仕様変更に強いわけ</title>
    <content mode="escaped" type="text/html" xml:lang="utf-8"> 
      <![CDATA[昔ながらのやり方で、下記のようなじゃんけんプログラムを作成した。<br />
<br />
・プレイヤーは二人で、ジャンケンの様子を再現する<br />
・ジャンケンは3回勝負<br />
・3回勝負で勝った回数の多いプレイヤーが勝ち<br />
・引き分けも1回の勝負<br />
・3回勝負後の勝ち数が同じ場合は、引き分けとする<br />
<br />
//ジャンケンプログラム<br />
<br />
public class SimpleJanken {<br />
<br />
public static final int STONE = 0; // グー<br />
public static final int SCISSOR = 1; // チョキ<br />
public static final int PAPER = 2; // パー<br />
<br />
public static void main(String[] args) {<br />
System.out.println(&quot;ジャンケン開始\n&quot;);<br />
<br />
int player1WinCount = 0;<br />
int player2WinCount = 0;<br />
<br />
for(int cnt=0; cnt&lt;3; cnt++)<br />
{<br />
// 乱数を格納する変数<br />
double randomNum = 0;<br />
<br />
// プレイヤー1が何を出すか決める<br />
int player1Hand = 0;<br />
<br />
randomNum = Math.random() * 3;<br />
<br />
if (randomNum &lt; 1)<br />
{<br />
// randomNum が 0.0以上1.0未満の場合、グー<br />
player1Hand = STONE;<br />
System.out.print(&quot;グー&quot;);<br />
}<br />
else if (randomNum &lt; 2)<br />
{<br />
// randomNum が 1.0以上2.0未満の場合、チョキ<br />
player1Hand = SCISSOR;<br />
System.out.print(&quot;チョキ&quot;);<br />
}<br />
else if (randomNum &lt; 3)<br />
{<br />
// randomNum が 2.0以上3.0未満の場合、パー<br />
player1Hand = PAPER;<br />
System.out.print(&quot;パー&quot;);<br />
}<br />
<br />
// プレイヤー2が何を出すか決める<br />
int player2Hand = 0;<br />
<br />
randomNum = Math.random() * 3;<br />
<br />
if (randomNum &lt; 1)<br />
{<br />
// randomNum が 0.0以上1.0未満の場合、グー<br />
player2Hand = STONE;<br />
System.out.print(&quot;グー&quot;);<br />
}<br />
else if (randomNum &lt; 2)<br />
{<br />
// randomNum が 1.0以上2.0未満の場合、チョキ<br />
player2Hand = SCISSOR;<br />
System.out.print(&quot;チョキ&quot;);<br />
}<br />
else if (randomNum &lt; 3)<br />
{<br />
// randomNum が 2.0以上3.0未満の場合、パー<br />
player2Hand = PAPER;<br />
System.out.print(&quot;パー&quot;);<br />
}<br />
<br />
// プレイヤー１の勝利<br />
if ( (player1Hand == STONE &amp; player2Hand == SCISSOR)<br />
|| (player1Hand == SCISSOR &amp; player2Hand == PAPER)<br />
|| (player1Hand == PAPER &amp; player2Hand == STONE) )<br />
{<br />
player1WinCount++;<br />
System.out.println(&quot;\nプレイヤー１が勝ちました！\n&quot;);<br />
}<br />
// プレイヤー２の勝利<br />
else if ( (player1Hand == STONE &amp; player2Hand == PAPER)<br />
|| (player1Hand == SCISSOR &amp; player2Hand == STONE)<br />
|| (player1Hand == PAPER &amp; player2Hand == SCISSOR) )<br />
{<br />
player2WinCount++;<br />
System.out.println(&quot;\nプレイヤー２が勝ちました！\n&quot;);<br />
}<br />
else<br />
{<br />
System.out.println(&quot;\n引き分けです！\n&quot;);<br />
}<br />
}<br />
System.out.println(&quot;ジャンケン終了\n&quot;);<br />
<br />
if (player1WinCount &gt; player2WinCount)<br />
{<br />
System.out.println(player1WinCount + &quot;VS&quot; + player2WinCount + &quot;でプレイヤー１の勝ちです！\n&quot;);<br />
}<br />
else if (player1WinCount &lt; player2WinCount)<br />
{<br />
System.out.println(player1WinCount + &quot;VS&quot; + player2WinCount + &quot;でプレイヤー２の勝ちです！\n&quot;);<br />
}<br />
else if (player1WinCount == player2WinCount)<br />
{<br />
System.out.println(player1WinCount + &quot;VS&quot; + player2WinCount + &quot;で引き分けです！\n&quot;);<br />
}<br />
}<br />
}<br />
<br />
<br />
<br />
<br />
長々となってしまったが、少し更新しようとすると、あちこちの修正が必要になってしまう。そのために従来方式では、仕様変更に極端に弱いのだ。<br />
<br />
オブジェクト指向では、下記のように役割を考える。<br />
<br />
上記プログラムでは、3人の役者がいると考えられる。<br />
<br />
・ジャンケンをするプレイヤー田中さんと山田さん<br />
・ジャンケンの勝ち負けを判断する審判　鈴木さん<br />
<br />
<br />
それぞれ3人の人物が行ったことは、ざっと下記のとおり。<br />
<br />
田中さん<br />
　じゃんけんをする<br />
　自分の勝った回数を数える<br />
<br />
山田さん<br />
　じゃんけんをする<br />
　自分の勝った回数を数える<br />
<br />
鈴木さん<br />
　じゃんけんの開始を宣言する<br />
　勝ち負けを判定する<br />
　どちらが勝ったか判定する<br />
<br />
<br />
そうです。田中さんと山田さんというのは、本質的には同じなんです。名前が違うだけで。<br />
<br />
そこで、出てくるのがJavaの考え方であるクラス。<br />
<br />
田中さんと山田さんが所属しているのが、プレイヤークラス。<br />
鈴木さんが所属しているのが、審判クラス。<br />
<br />
<br />
機能としては、プレイヤークラスに、プログラムしておけば、プレイヤーの名前を変えようが、数が増えようが、大きな変更は不要になります。<br />
<br />
田中さん、山田さんは、プレイヤークラスを実際に使う実体、インスタンス。ほら、Javaらしくなってきた。<br />
<br />
<br />
なんか、ピンときた俺でした。<br />
<br />
<br />
<br />
<br />
<br /><a href="https://5yearsprograming.blog.shinobi.jp/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0/%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E6%8C%87%E5%90%91%E3%81%8C%E4%BB%95%E6%A7%98%E5%A4%89%E6%9B%B4%E3%81%AB%E5%BC%B7%E3%81%84%E3%82%8F%E3%81%91" target="_blank">続きを読んでくださって、ありがとうございます。</a>]]> 
    </content>
    <author>
            <name>弥助</name>
        </author>
  </entry>
  <entry>
    <id>5yearsprograming.blog.shinobi.jp://entry/10</id>
    <link rel="alternate" type="text/html" href="https://5yearsprograming.blog.shinobi.jp/java/%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E6%8C%87%E5%90%91%E3%81%AE%E5%BF%85%E8%A6%81%E6%80%A7%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6" />
    <published>2008-10-14T23:26:25+09:00</published> 
    <updated>2008-10-14T23:26:25+09:00</updated> 
    <category term="JAVA" label="JAVA" />
    <title>オブジェクト指向の必要性について</title>
    <content mode="escaped" type="text/html" xml:lang="utf-8"> 
      <![CDATA[さて、ジャンケンプログラムは無事作成完了しました。<br />さてさて、いよいよなぜ、オブジェクト指向が必要かについてです。<br /><br />今回作ったジャンケンプログラムに、今度は改良せよと書かれています。<br /><br />１．プレイヤー1という名前ではなく、○○さんというように具体的に名前をつけられるようにする<br />２．プレイヤーの人数を変更できるようにする<br />３．プレイヤーの手の出し方を、すべてランダムではなく、プレイヤーごとに変えられるようにする<br /><br /><br /><br />改良て・・・１．は大したことないか、あーでも、完全にハードコーディングしてるから、名前を変える度に書き直しにはなるけど。変数つかって、その変数の値だけを変えるようにしてと・・・<br /><br />２は、人数の変更か。けっこうメンドクサイな。勝敗の判定は、すべてIF文で、プレイヤー1が勝つときのパターンを書いてるから・・めんどくさ！<br /><br />もう完全に本に書かれた通りの術中にはまってしまっています。<br /><br /><br />つまり、一度作成したプログラムに仕様変更などが入り、改良するというのはかなり大変で、一から作ったほうがいいんじゃないかのか。というレベルなのです。<br /><br />これを改善するのがオブジェクト指向で、だから必要なのです。<br /><br /><br /><br />ということらしいです。オブジェクト指向って。<br /><br /><br />でも、オブジェクト指向なら本当に仕様変更に強いのかね？そこがよくわからんな・・・<br /><br /><br /><br /><br />
]]> 
    </content>
    <author>
            <name>弥助</name>
        </author>
  </entry>
  <entry>
    <id>5yearsprograming.blog.shinobi.jp://entry/9</id>
    <link rel="alternate" type="text/html" href="https://5yearsprograming.blog.shinobi.jp/java/%E3%82%88%E3%81%86%E3%82%84%E3%81%8Fjava%E3%81%AE%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E3%81%AB%E3%81%AF%E3%81%84%E3%82%8C%E3%81%9F%E3%80%82" />
    <published>2008-10-14T22:47:16+09:00</published> 
    <updated>2008-10-14T22:47:16+09:00</updated> 
    <category term="JAVA" label="JAVA" />
    <title>ようやくJavaのプログラミングにはいれた。</title>
    <content mode="escaped" type="text/html" xml:lang="utf-8"> 
      <![CDATA[<p>Javaの環境作りだけでやたらと時間がかかった・・・。さて、元の道に戻ろう。Javaにつきものであるオブジェクト指向を学ぶのだった。<br />
<br />
その学び方としては、オブジェクト指向の学ぶ本を使う。<br />
なぜ、あなたはJavaでオブジェクト指向開発ができないのか。<br />
<br />
<iframe style="width: 120px; height: 240px" marginwidth="0" marginheight="0" src="http://rcm-jp.amazon.co.jp/e/cm?t=unet-22&amp;o=9&amp;p=8&amp;l=as1&amp;asins=477412222X&amp;fc1=000000&amp;IS2=1&amp;lt1=_blank&amp;m=amazon&amp;lc1=0000FF&amp;bc1=000000&amp;bg1=FFFFFF&amp;f=ifr" frameborder="0" scrolling="no"></iframe><br />
<br />
<br />
まずは、オブジェクト指向の考え方を使わずに、プログラムを作成して、オブジェクト指向がどういう場面で必要に駆られるのかというところを説明している良書である。<br />
<br />
オブジェクト指向を使わずに、じゃんけんプログラムを作れと書かれている。<br />
じゃんけんといっても、下記ルールで作成する。<br />
<br />
・プレイヤーは二人で、ジャンケンの様子を再現する<br />
・ジャンケンは3回勝負<br />
・3回勝負で勝った回数の多いプレイヤーが勝ち<br />
・引き分けも1回の勝負<br />
・3回勝負後の勝ち数が同じ場合は、引き分けとする<br />
<br />
<br />
<br />
<br />
おし。作成だ。といってもJava未経験に近い俺には、創り方がまったくわからんので、<br />
本に載っているやり方を完全に真似て、作成する。<br />
<br />
そして、コンパイル。26個エラー。<br />
<br />
まねしたつもりが・・<br />
<br />
どこどこだ。<br />
<br />
<br />
うーんほとんどシンボルが見つかりません。だな。<br />
なんだろう・・・これ。<br />
<br />
<br />
乱数作成で使っていた関数がramdomになってた・・。8個。<br />
とりあえず修正して、再度コンパイル。<br />
<br />
8個減って、残り18個。<br />
<br />
<br />
のあ！<br />
<br />
はさみを示す変数、SCISSORが、定義はSCISSORなのに対して、実際に呼び出すところでは、SCISSORSというように複数形にしてました。なんたることだ。<br />
<br />
<br />
他にもいろいろでたが、同じようなもので、それらを修正して、コンパイル・・・<br />
<br />
今度は、特にエラーもなく通った。<br />
<br />
OK！<br />
<br />
<br />
実行結果は、こんな感じ。<br />
<br />
C:\tmp&gt;java SimpleJanken<br />
ジャンケン開始</p>
<p>チョキグー<br />
プレイヤー２が勝ちました！</p>
<p>グーパー<br />
プレイヤー２が勝ちました！</p>
<p>チョキグー<br />
プレイヤー２が勝ちました！</p>
<p>ジャンケン終了</p>
<p>0VS3でプレイヤー２の勝ちです！<br />
<br />
<br />
<br />
<br />
<br />
まあ、地味だけど、ええんや！Javaの勉強中なんや！<br />
<br />
<br />
<br />
<br />
&nbsp;</p>
]]> 
    </content>
    <author>
            <name>弥助</name>
        </author>
  </entry>
  <entry>
    <id>5yearsprograming.blog.shinobi.jp://entry/8</id>
    <link rel="alternate" type="text/html" href="https://5yearsprograming.blog.shinobi.jp/java/%E3%82%84%E3%81%A3%E3%81%B1%E3%82%8Ajava%E5%AE%9F%E8%A1%8C%E3%80%81%E9%A7%84%E7%9B%AE%E3%81%A7%E3%81%97%E3%81%9F%E3%83%BB%E3%83%BB%E3%83%BB%E3%83%BB%E3%81%9D%E3%81%AE%E5%BE%8C%E5%8E%9F%E5%9B%A0%E5%88%A4%E6%98%8E" />
    <published>2008-10-14T19:02:07+09:00</published> 
    <updated>2008-10-14T19:02:07+09:00</updated> 
    <category term="JAVA" label="JAVA" />
    <title>やっぱりjava実行、駄目でした・・・・その後原因判明</title>
    <content mode="escaped" type="text/html" xml:lang="utf-8"> 
      <![CDATA[C:\tmp>java C:\tmp\test.class<br />Exception in thread "main" java.lang.NoClassDefFoundError: C:\tmp\test/class<br />Caused by: java.lang.ClassNotFoundException: C:\tmp\test.class<br />        at java.net.URLClassLoader$1.run(Unknown Source)<br />        at java.security.AccessController.doPrivileged(Native Method)<br />        at java.net.URLClassLoader.findClass(Unknown Source)<br />        at java.lang.ClassLoader.loadClass(Unknown Source)<br />        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)<br />        at java.lang.ClassLoader.loadClass(Unknown Source)<br />        at java.lang.ClassLoader.loadClassInternal(Unknown Source)<br /><br /><br /><br />さっきのサイトでさらに調べる。<br /><br />・名前が正しいか？（スペルが正しいか？）<br />・本当にファイルが存在しているか<br />・クラスパスが通っているか。<br /><br /><br /><br />3点のうち、上2つに関しては問題がない。先ほどチェックしたので。<br />ということはやはりクラスパスのせいのか！？<br /><br />クラスパスにファイルの存在するパスまで、きっちり書いてさらに実行してみる。<br /><br /><br />C:\tmp>java -classpath c:\tmp test<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />Javaプログラム作成中<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />うごいたあああああああ！！<br /><br /><br />ええ？クラスパスのせいか！？<br />というか、まさか、<span style="font-size:220%">ファイルに拡張子をつけなかった</span>のがよかったのか！？<br /><br /><br /><br /><br /><br />C:\tmp>java test<br />Javaプログラム作成中<br /><br /><br /><br /><br /><br /><br /><br /><br />ぎゃあああああああああああああああああ。それだけかよ!！！！！！！！！！！！！！！！<br /><br /><br /><br /><br />
]]> 
    </content>
    <author>
            <name>弥助</name>
        </author>
  </entry>
  <entry>
    <id>5yearsprograming.blog.shinobi.jp://entry/7</id>
    <link rel="alternate" type="text/html" href="https://5yearsprograming.blog.shinobi.jp/java/%E3%81%BE%E3%81%A0java%E3%81%8C%E5%AE%9F%E8%A1%8C%E3%81%A7%E3%81%8D%E3%81%AA%E3%81%84%E3%83%BB%E3%83%BB%E3%83%BBnoclassdeffounderror%E3%81%AE%E5%AF%BE%E5%87%A6" />
    <published>2008-10-14T18:52:18+09:00</published> 
    <updated>2008-10-14T18:52:18+09:00</updated> 
    <category term="JAVA" label="JAVA" />
    <title>まだJavaが実行できない・・・NoClassDefFoundErrorの対処</title>
    <content mode="escaped" type="text/html" xml:lang="utf-8"> 
      <![CDATA[<p>C:\tmp&gt;java sample.java<br />
Exception in thread &quot;main&quot; java.lang.NoClassDefFoundError: sample/java<br />
Caused by: java.lang.ClassNotFoundException: sample.java<br />
at java.net.URLClassLoader$1.run(Unknown Source)<br />
at java.security.AccessController.doPrivileged(Native Method)<br />
at java.net.URLClassLoader.findClass(Unknown Source)<br />
at java.lang.ClassLoader.loadClass(Unknown Source)<br />
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)<br />
at java.lang.ClassLoader.loadClass(Unknown Source)<br />
at java.lang.ClassLoader.loadClassInternal(Unknown Source)<br />
<br />
<br />
WEBで適当に拾ってきたSampleをコンパイルして、実行すると上記のようなエラーになってしまいます。。。なぜなんでしょう。<br />
<br />
<br />
NoClassDefFoundError:の対処ということで、検索してみる。<br />
<br />
<br />
<br />
まず。sample.classというクラスが本当に存在しているかチェックをする。<br />
<br />
んなもん、あるに決まっているやろうが！！<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
あれ？<br />
<br />
<br />
<br />
<br />
あれれ？<br />
<br />
<br />
<br />
<br />
sample.javaをコンパイルしたら、test.classになっていた。<br />
なんとお！！<br />
<br />
<br />
&nbsp;</p>
]]> 
    </content>
    <author>
            <name>弥助</name>
        </author>
  </entry>
</feed>