Not your computer? Use a private browsing window to sign in. Learn more about using Guest mode
Not your computer? Use a private browsing window to sign in. Learn more about using Guest mode
参照渡しなるものではなく参照の値渡しが妥当だがそういう語彙の定義は本件とは関係ないのでしません。 今回は「ある関数で仮引数を操作したら参照先が変更されて他の関数の実引数に影響を与えた」こととします。問題は以下 問題 二変数a,bを用意してそれぞれ1,2を代入し2 1と出力しなさい。ただし出力する前に自分で定義した関数を呼び出しa,bの値が2,1を指している状態にすること。もちろん関数の戻り値をa,bに代入してはダメです。swapをアンパック代入なしで実装しろという問いに近いかもしれません。 (穴の多い定義です。完全な定義を求む) 解答例 C #include <stdio.h> void swap(int *a,int *b); int main (void) { int a=1; int b=2; swap(&a,&b); printf("%d %d",a,b); return 0; }
http://d.hatena.ne.jp/hyuki/20071220#bookmark 乗り遅れすぎですが、自分でもこういうの欲しかったので、作ってみました。とりあえず試作品。指定したURLのファイルしか取ってきません。文字コードによっては題名がちゃんと読めません。 簡易Webサーバを立てる方式にしてます。Javaで書きました。非常に書きづらいと分かっていたものの、自分で手っ取り早くサーバを書けるのがJavaしか無かったので。(Rubyだと、WEBrickというのを使えばできそうですね。) 起動は $ java Bukma 80で、ポート番号は可変になってます。※セキュリティ注意してください。 ブックマークレットで、 javascript:window.location='http://localhost:80/edit'を設定。ここもポートを上のに合わせて。 ブックマークレットをたた
JavaやCなど構造化プログラミングやオブジェクト指向などは、if文や case文(switch文)は値を持ちません。関数型言語ではそれ自体が値を持ち、なれるとこれが結構便利です。 Javaでもif式は3項演算子で同じようなことができますが、case式っぽいことも書けるのに気がつきました。 3項演算子を並べただけですが、case式っぽく見えます。 class CaseExpPpoku { public static void main(String[] args) { char nengou = args[0].charAt(0); System.out.println( nengou == 'H' ? "平成": nengou == 'S' ? "昭和": nengou == 'T' ? "大正": nengou == 'M' ? "明治": "??"); } } C:>java Cas
JavaとJavaScriptを区別しない人がいる。Javaが〜という話だと思ったら、実はJavaScriptだった、なんて経験ないだろうか。あまり技術に詳しくない人と話していると度々ある。 だが、今後はJavaとJavaScriptは区別しないものになっていくかも知れない。それは言い過ぎだが、このツールはJavaScript開発の手法をも変化させそうだ。 今回紹介するオープンソース・ソフトウェアはJava2Script、JavaからJavaScriptを生成するEclipseプラグインだ。 Java2Scriptを使うと、Javaで作ったアプリケーションをJavaScriptにして出力できる。これがあれば複雑なGUIをもったWebアプリケーションも容易に作れるようになる。 同種のソフトウェアとしてGoogle謹製のGWTがあるが、Google依存度を減らしたい方はこちらが良い。例としてJ
Java Ruby on Railsのfixtureという機能は有名なので皆さんご存じかと思います。JavaでいうJUnitのTestCaseクラスに、 fixture :test と書くだけでtestというテーブルにtest.ymlという名前で用意されたテストデータが投入されるという機能です。 同じような機能はJavaでもかなり以前からDbUnitとして提供されてきましたが、使い勝手という点で圧倒的にfixtureが勝っている。というのは、DbUnitは汎用的なライブラリなので使うためにはDBへの接続定義をコードで書いたり、ロードするxmlファイルを探したり、といろんな手間があったのです。 DbUnitはデータベーステストのデファクト・スタンダードなのでJavaプログラマなら一度くらいは使ったことがあるかと思います。私も仕事柄いろんなところのアプリケーション開発環境を構築するのを手伝いま
Strutsは良いフレームワークであった。 登場時のStrutsは MVCを体現しWebフレームワークとしてプログラマ達に夢を見せた。 今見てしまえば冗長で可読性の低い設定ファイルに 糞のようなtaglibとゲロのようなjspであるが それでも当時はセンセーショナルだった。 しかし、その後、Strutsには悲劇が起きる。 あまりにもセンセーショナルなデビューのおかげで それを金に換えようとしている奴らに目を付けられてしまった。 人月計算とExcelとスーツで出来ている奴らだ。 奴らは Strutsをいかに簡単であるか宣伝し 役に立たない講習会で金を取り sessionが何なのかすら知らない人間を大量に生み出した。 そうやって生み出されたStruts脳人間は 「動くコードが正義」の負の面を体現し スパゲティを更に絡ませたActionFormを書き 解読不能なActionを書いた。 勉強など一
米国Sun Microsystemsの担当者は8月24日、Java SE 6 update 4の一部として、JRE(Javaランタイム環境:Java Runtime Environment)のサブセットとなる「Java Kernel」の早期アクセス版を、来年の初めごろにリリースすることを明らかにした。 Java Kernelは、最低限必要な機能だけに絞ったJREのサブセットと言えるもの。それ以外のランタイム機能については、必要に応じて随時ダウンロードできるとされている。Java Kernelは、Java開発者からフィードバックを得るため、Java SE 6 update 4の一部として早期アクセス版が配布される予定だ。 Java Kernelの当初の目的は、JavaをFlashプラグインのようなものにして、WebブラウザでのJavaの利用を再活性化することにあり、それゆえ以前は「Java
Javaで初めてつまづいたのは、インストールでも環境変数の設定でもない。これらはどんな入門書でも載っているものであって、そのとおりに進めればなんとかなった*1。では何につまずいたかというと、argsである。 public class HelloWorld { public static void main(String[] args) { System.out.println("Hello, World!"); } } 入門書の最初によくあるようなプログラムだけど、これだけのプログラムでも初心者にとっては呪文のようなものだ。で、入門書には初心者のつまずきそうな部分が色々と説明されている。たとえば、 public class HelloWorldと書いたならファイル名はHelloWorldにしないといけない Javaではmainメソッド*2から処理が始まるから、ここにやりたいことを書けばOK
皆様お待たせいたしました! 6月16日(日)にJJUG CCC 2024 Springを開催します! JJUG CCCは、例年2回、春と秋に開催する日本最大のJavaコミュニティイベントです。 Java関連の技術や事例に関する良質なセッションが行われ、また異なる分野で活躍するJava技術者が一堂に会する場ともなっています。 今回もオフラインでの開催です。 みんなでワイワイJavaについて語り合いませんか? コロナ後から会場が変わっております。 以前はベルサール新宿での開催でしたが、 野村コンファレンスプラザ新宿での開催となっているのにはご注意ください。 以下からお申し込みください。 https://jjug.doorkeeper.jp/events/172019 皆様と当日会えることを楽しみにしております! また、当日一緒に運営をしてくださるボランティアスタッフも募集しております。 興味の
id:koichikさんが、LispやSmalltalkでは、まぁ、ああいう感じになるのは、 ごく自然だよねぇ…と、言うので、Javaでも出来るんじゃねぇかと考えてみたり。 まぁ、出来るには、出来た様な気がするけど、かなり気持ち悪いアレ的な感じに。 用意したのは、以下の5つ+1つのクラス。 ちなみに、Tiger以降のJavaでなければ、こういう変な事は出来ません。 本気でやるなら、HTMLの全てのタグに対応したクラスを作る必要があるかと思います。 HtmlElement 全体に統一感を出す為のアレ。単に趣味の代物。一番イラナイ子。 Html 名前見て何が出てくるか想像して下さい。分岐の実現可能性を示す為に作りますた。 Head 特に何もしてない子。 Body 特に何もしてない子。 Form 属性の編集可能性を示す為に、action属性とname属性を編集できる様にしてみました。 ポイントは
翻訳原文:10 Things Every Java Programmer Should Know About RubyJim Weirichコンサルタント / Compuwarejim@weirichhouse.org Copyright 2005 by Jim Weirich (All Rights Reserved)自己紹介ジム・ワイリック (Jim Weirich)Compuware社コンサルタントJavaのプログラマRubyの熱狂的支持者大事なことを、まず先に私は以前、大規模製造会社の従業員に就業後のC言語コースを教えていました。提出されたCのコードのスタイルをちょっと見ただけで、生徒が以前にどんな言語を利用していたかを簡単に当てられました。全くもって本当のことです。「どの言語でも、君はFORTRANを書けるね」 Rubyを調査中のJavaプログラマなら、Rubyが色々な点でJav
Javaプログラムにおいて,クラスを作ることを厭う人たちが多い. そのような人たちの多くはデータを桁数依存にて構造が存在する文字列にして扱うことを好む. しかしJavaにおいてStringを解析することは多くの例外の原因となり,ひいてはシステム障害の原因となることが多い. またStringの演算は重く,Stringはメモリ消費量が多い. この文章では,Java利用システムにおいてStringの濫用を戒め,適切な型の利用と適切なクラス設計を行うことを勧める.*1 Stringの問題 多発する例外 Stringを利用することにより発生する例外には次のものがある. NullPointerException StringIndexOutOfBoundsException IndexOutOfBoundsException IllegalArgumentException UnsupportedEn
Javaではint型やdouble型などの変数は基本型として扱われますが、配列にするとオブジェクトとして扱われます。基本型の変数をメソッドのパラメータにした場合、値渡しとなるため、値のコピーが実行され、コピーした値を変更しても元の値を変えることはできません。これに対して、オブジェクトの場合は参照渡しですので、値のコピーではなく参照が渡され、参照を用いてパラメータの値を変更することもできますので、処理効率が上がります。 よって、複数の同じタイプの変数を受け渡す場合、変数ごとの意味にこだわらずに、1つの配列にして扱うと、モジュール強度が高く効率の良いメソッドになります。 一例として、直方体の幅(x)、高さ(y)、奥行き(z)を得て、体積(v)と表面積(a)を返すメソッドを考えます。戻り値が2つありますので、広域変数を使いたくなければ、メソッドを分割するか、戻り値を構造化(クラス化)するなどの工
ラップクラスは、対応するプリミティブ型(基本型)の値をオブジェクトにラップします。例えば、Integerクラスはint型の値をラップし、Integerクラスのオブジェクトにはint型の単一フィールドが含まれます。ラップクラスは、型を変換する各種のメソッドや、その型の値を処理するときに便利なメソッドを提供してくれます。 まず、int型の値をIntegerオブジェクトにラップすることで利用できる、Integerクラスの提供する機能の活用例を示しましょう。 下記は、int型の値をオブジェクトと比較可能なら比較し、でなければ比較不可と返すメソッドです。IntegerクラスのcompareToメソッドを使っています。compareToメソッドは、オブジェクトが Integer の場合は大小比較を行い、そうでない場合は、ClassCastException がスローされます。 オブジェクトにのみ可能な
Oracle Database runs faster and more efficiently Oracle hardware lets IT teams deploy optimized solutions in customer data centers and easy-to-manage appliances in remote offices and edge environments. Solutions with full-stack integration and optimizations let customers run Oracle Database up to 10X faster with Oracle Exadata’s Smart Scan query offload. Watch NTT DOCOMO’s story (0:48) Easy integr
Oracle Database runs faster and more efficiently Oracle hardware lets IT teams deploy optimized solutions in customer data centers and easy-to-manage appliances in remote offices and edge environments. Solutions with full-stack integration and optimizations let customers run Oracle Database up to 10X faster with Oracle Exadata’s Smart Scan query offload. Watch NTT DOCOMO’s story (0:48) Easy integr
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く