レベルとしては5段階で C言語・・・2 Ruby・・・3 って感じ。オブジェクト指向の概念は分かっています。 Javaを早急に書けるようになりたい。 まずは質問 public static void main(String arg[]){ } ってメインクラスに書かないといけないのはなぜ? Cだったら、 int main(void)でよかったじゃん。 メソッドってある? 全部関数の形だったりする? 例えばRubyなら 3.4.floorとか-5.absとか出来るんだけど、 Javaだと abs(-5)しか出来ない? それと、publicもprivateも必ず書かなければならない?
ちなみに京大生でつ
レスがないのでJavaから撤退することにした。 さようなら
4 :
デフォルトの名無しさん :2007/12/15(土) 21:19:44
ばいばい 気が向いたらまた来いよ
5 :
デフォルトの名無しさん :2007/12/15(土) 21:29:53
そこはまだ分からなくていい クラスの事勉強しはじめたら意味が分かるはず とJava3ヶ月の学生が申しております public ・・・有効範囲 static ・・・mainクラスが変化したら困るから void ・・・・mainクラスの型 main ・・・・meinクラス (String arg[])・引数
JavaとC++の違いって何? ちょっとここに、 ニャーっとなくタマという名前のぬこをCat classを作って書いて 実際にタマを鳴かせてくれないか? 実のところ、C++をやろうかとも悩んでいる。 Rubyの速度では足りないプログラミングをやりたいからだ。 でも問題はC++は手続き言語の特徴が残ってしまっていて気持ち悪いということ・・・
Rubyの速度ではと言う奴がC言語なら俺に聞けにもいたが そういう奴に限って限界に挑戦していない
いやRubyで限界に挑戦してもしょうがない。 どうすりゃいいんだ・・
9 :
デフォルトの名無しさん :2007/12/15(土) 22:30:51
Rubyが使えるならまずRubyで書け。 話はそれからだ。分かったな小僧
>>6 コンパイラが吐いたアセンブリコードを見て、
ソースコードをチューニングというレベルまで行きたいのならC++
JVMの実行時コンパイルオプションを調節したり、
プロファイラでボトルネックを探すというレベルで良いならJava
一言で言えば、どこまで自動化されるか(逆に言えば自分で行わないといけないか)が異なる。
自分に合った方を選んだらよいと思う。
Java と C++ の違いか。 C++ の上級者用の本で Modern C++ Design というのがあるけど、あれの最初の方に多重継承でポリシーを記述するというのがあった。 で、多重継承は Java にはないけど、Java の学習で欠かせないクラスライブラリの把握において、一つのクラスが山のようにインタフェイスをインプリメントしているというのがあって、Java ではそれがとても自然だった。 Java で自作クラスで for each 構文を利用するには、どんなインタフェイスを実装しなければならないかとか最初から気にしなきゃいけないけど、C++ では仮想クラスライブラリなんてない。 だから Java と C++ では抽象クラスを意図して使う段階が違うと思うな。
C++を採用した。 Javaはとろい
13 :
デフォルトの名無しさん :2007/12/19(水) 14:57:36
10分で去るとか、ネタすれにしても酷いな。 ネタにマジレスするけど・・ Mainに関しては、CもJavaも同じ。 OSがmainエントリをコールするまでの動きが分かっているなら、Javaも基本は同じ。 >全部関数の形だったりする? >例えばRubyなら >3.4.floorとか-5.absとか出来るんだけど、 >Javaだと >abs(-5)しか出来ない? 全部関数の形って発言からして、オブジェクト指向もRubyも良くわかってないんじゃないかと・・。 Rubyは全てがオブジェクトだから、3.4 も -5 もオブジェクト。 3.4はFloat(Double)クラス、-5はIntegerクラスのインスタンスって事になるから、 そのクラスが持っているメソッドfloorやabsが呼び出せる。 Javaの場合は速度を稼ぐためにわざとPrimitive型として定義しているので、 上記のようなことは不可能。 JDK5以上のAutoBoxingでも不可能。 と京大生なら説明するまでも無かったですよね(´・ω・`) publicやprivateは記述しないとPackageDefaultになるわけだけど、 Object指向がわかっているというなら、当然適切な修飾子を選ぶべき。 てかRubyにもアクセス修飾子はあるだろうに(´・ω・`)
15 :
デフォルトの名無しさん :2007/12/20(木) 22:12:56
>>1 マジレスする。
>>1よ、おまえはバカだ。そしてカスだ。
今からJavaをやる。 質問を書き込むからお前ら答えなさい。
GUIは何がオススメ? とりあえずGUIを確保しておきたい。
18 :
ちんこ ◆GbXlaaQNk. :2007/12/30(日) 17:32:40
おっと、一度ageておくか
サガミオリジナルがオススメだな 極薄は駄目 安全性を確保したいなら普通ので良い
GUI は swing だろうな。
と反転型両面アンチが申しております
>>22 別に Java にできないことは無いんだから、好きな gtk を頑張って使えば?
swingは使いやすいか?
Javaにできないことってほとんどないよね。直接的なメモリ操作とかハード寄りの操作は苦手だけど。 よくJavaは速さが遅いとかぬかす奴がいるがそれだったら一度Cとかにソースコードを変換してコンパイルすればいい話だし しかもJavaコンパイラの出現も噂されてるからね
それは結構だが、 Stringへのキャストは (String)でいいか? あと、優先順位は、 String>int, double? 例えば "x="+x としたらこれは全体でString型を返す?
>>22 ああ。すまんこう。
そのハンドルとGUIからSKINを連想した
このハンドルは案ずる事なかれ
>>26 プログラミングの勉強は、仕様書の精読と、実際の環境でのテストプログラムの作成に限るよな。
>>29 rubyからgtkは使った事はあるが、
他の言語からは使ったことがない。
javaからgtkを使うライブラリはあるか?
調べる気も起きない。調べてくれたまえ
あと一般的に
学校の先生とかはどのGUIライブラリを使ってる?
当方電気系だが。
>>32 ひょっとして調べたものを読む時間も無さそうだな。
一般的には学校の先生はアプレットだな。
君が電気系かどうかは一般的な話とは無関係だな。
JavaAppletというのは、 デスクトップ上でも使えるのか?
35 :
ちんこ ◆GbXlaaQNk. :2007/12/30(日) 21:02:54
何も指定しないと、 メンバ変数は0に初期化されるって本当ですか?
どっちですか? 理屈的にはおかしいと思うんですけど Javaはそういう仕様ですか?
実際にコード書いてコンパイルして 実行すれば分かるんじゃね?
めんどくさい。 Junitってどうやって使うの?
素人じゃなければ 5 行くらいのプログラムを書けば 1 分以内で確かめられることばかりなのでは?
public クラスはクラス名とファイル名が一致しなければならない。 だから一つのファイルに二つ以上 public class は存在できない。 パッケージの意味が分かるまでは class に public を付けなくてもいいかもしれない。 (メソッドへの public はまた別の意味)
new String(b, 0, i); ってどういう意味? String[int]; っていう書き方もある。 あと byte b[] = new byte[1024];
> new String(b, 0, i); SUN の Java のドキュメントをもらってきて、 API の java.lang.String のコンストラクタの 説明を見れば瞬時に分かる > String[int]; 角カッコは配列を意味する。 int じゃなくて、 int 型の変数だよね?そのサイズだけ確保した String の配列 > byte b[] = new byte[1024]; C と互換性のある書き方を使っているけど Java 風なのは次の書き方。 byte[] b = new byte[1024]; 配列は参照型で、変数宣言だけでは参照の変数が作られるだけ。 実際の配列を作る際は new を使って配列をメモリ上に作成し、配列型変数に参照を格納する。
だからnew String[int] になってるのか。 参照の変数っていうのはポインタのことか? def method(String array){
array = "tinko"; } っていうのは、 引数に入れたarrayと、中のarrayは 同じところを指している(参照)しているポインタだから、 arrayは"tinko"になってしまうということか? 参照というのがいまいち分からん。 プリミティブ型と、 そうでない型で違うというのはどうして?
でも String str; ってしたらstrはStringクラスになるよね。 だって MyClass a; ってしたらaはMyClassになるでしょ。 型にプリミティブとそうでないものしかないのであれば、 String str; でちゃんとメモリも確保されて、 String str; str = "tinko"; でもいいんじゃないの? newを使う理由はどこに?
みなさんにはご迷惑かけます。 でも、図書館が開いてないんです。 国立の図書館って、公務員ですからね、正月はがっつり休みやがる。 試験も近いのに迷惑ですよ。 学部の図書室にJavaのいい本があったと思うんですが、 それを借りにいけない。 だから教えてください、分からないことは山ほどあります。 不思議なことだらけなんです。 Javaにおけるクラスの絶対度は異常です。
Java のプリミティヴ型と参照型の溝は C++ よりも深い。 C++ だと変数宣言すると自動的にコンストラクタが呼ばれオブジェクトが生成されるため、 int x; とやったのと同じように宣言した変数を扱える。 でも、 Java はプリミティヴ型なら宣言しただけで使えるようになるけど、 配列やオブジェクトは変数宣言しただけでは単に参照可能な変数ができるだけで、 配列やオブジェクトができるわけじゃない。 だから、配列やオブジェクトを作るには、 new とか使わないといけない。 String s; とやっても s には文字列が入るわけじゃない。 文字列型のオブジェクトを参照可能になるだけ。
だから s = "aaaa"; とすれば sには文字列が入るんじゃないの? String str; str = readLine(); という記述がある。new使ってない。 「参照可能な変数が出来る」というのはどういう状態を指すの?
オブジェクトの変数に対して「入る」って感覚は捨てるべし。 "aaaa" という記述をすると、メモリ上に String 型のオブジェクトができる。 そして s="aaaa" とするとそのオブジェクトの参照が s に入る。 readLine() は一行読んだ結果をメモリ上にオブジェクトとして作成し、その参照を返す関数。 だから、 str に参照が入る。 new を使わなくてもオブジェクトは作れる。ファクトリとかいうデザインパターンを調べるといいかも。 「変数はものを入れる箱」とかいう概念はプリミティヴ型にしか通用しない。
以下のコードを実行すると[#document: null]になっちまう。
なぜだ!?ちなみにJava5
DocumentBuilderFactory domFactory = DocumentBuilderFactory
.newInstance();
DocumentBuilder builder = domFactory.newDocumentBuilder();
Document doc = builder.parse(is);
ちなみに解析しているXMLはこれ
<?xml version="1.0" encoding="UTF-8" ?>
<ResultSet xmlns:xsi="
http://www.w3.org/2001/XMLSchema-instance " xmlns="urn:yahoo:jp:jlp"
xsi:schemaLocation="urn:yahoo:jp:jlp
http://api.jlp.yahoo.co.jp/MAService/V1/parseResponse.xsd ">
<ma_result>
<total_count>1</total_count>
<filtered_count>1</filtered_count>
<word_list>
<word>
<surface>TO</surface>
<reading>TO</reading>
<pos>名詞</pos>
</word>
</word_list>
</ma_result>
</ResultSet>
>>53 うわー。随分情報小出しにするな。
いま、エスパーが君のマシンのプログラムを透視しているからもう少し待ちねぇ。
1年以内には解決しよう。
>>53 エスパーがプログラムを完成させて動かしたら見事に XML 読めたよ。
おめでとう!
>55 ありがとうございます。 osxなんですが、もしかして関係あるんですかね? 必要なライブラリがあるとか?
いや、別に私も OSX だし。書いてあったことに関しては、全く問題なかったよ。
>>52 リンク先website(オブジェクト)とアンカー(参照)の関係ですか?
何かもっと現実的な例で説明してもらえませんか?
一般的に分からない人に何か説明する時は相手の分かる次元まで落としてあげるものだと思います。
例えば、三次元の点と点の距離を求めるには二次元に落としてから考えるべきだし、
もっと分からなければ、図形的にヒモでも使って説明するでしょう。
Rubyよりやってきたので、参照、そういった概念が全くありません。
newというのは実際に何をしているのですか?
参照とnewはどう関係しているのですか?
全く見えません。
参照とアドレスの違いはなんですか?
newはインスタンスを作っているのですよ。
インスタンスと参照の違いは? インスタンスはメモリを持つ実態のことで、 参照はどっかにアドレスをもって、それを指しているということですか? 計算機工学なら分かります。 メモリとかアドレスとかの話にドロップダウンしてくれませんか?
レス待ちなのだが。 理解出来ない・・・
計算機工学で抽象的な話を習わなかったのかな? 参照はポインタ型と同じだと思ってもいいよ。 ただ、ポインタとか言うといろいろ演算ができるけど、参照は代入と等号の比較以外の 演算ができないと思ってもらえれば。 つまり、 Java のオブジェクト型や配列型の変数宣言は、単にアドレスを入れる変数が作られるだけ。 次のプログラムがどう動くか予想してみて int[] a,b; a=new int[3]; b=a; a[1]=1; b[2]=2; for(int i : a){System.out.println(i);} for(int i : b){System.out.println(i);}
C言語みたいにアドレスを気にしなくていいよ。
ちなみに同じプログラムを Ruby に移植(Ruby 暦 10分なのであてにはしないでね)するとこうなる a=[0,0,0] b=a a[1]=1 b[2]=2 a.each do |i| puts i end b.each do |i| puts i end Ruby も配列を作る時、変数毎に配列の箱が用意されているんじゃなくて、 a も b も参照であることが分かると思う。
オブジェクトの変数とか new に関しては Ruby と同じと思えばいいかな? 次の Ruby のプログラムの振る舞いを考えればいいはず。(Ruby 暦 30分) class Test def set num @val=num end def get @val end end a = Test.new b = a c = a.clone a.set 1 b.set 2 c.set 3 puts a.get puts b.get puts c.get
>>66 の Java 版(clone でちょっとはまった)
class Test implements Cloneable{
int val;
public void set(int num){val=num;}
public int get(){return val;}
public Test clone() throws CloneNotSupportedException{
return (Test)super.clone();
}
}
class TestPrg {
public static void main(String[] arg) throws CloneNotSupportedException {
Test a = new Test();
Test b = a;
Test c = a.clone();
a.set(1);
b.set(2);
c.set(3);
System.out.println(a.get());
System.out.println(b.get());
System.out.println(c.get());
}
}
まとめると、 int[] a; String str; などという宣言は、 「int配列型、String型のインスタンスへのアドレスを持つ、「予定である」 参照箱を作った」ということで、 実際に a = new int[100]; str = new String("aaa") or 単に"aaa"; とすることは、 String型の"aaa"を作りました。 そして便利なのでString型のインスタンスへのアドレスを欲しがっている strくんにここのアドレスを渡しておこうと思います。 ということか? b=aとすると、Rubyの場合、値がコピーされるが、 そういう風に解釈してよろしいか? つまり、 b = aという演算は、 bくんもint[]型のインスタンスが欲しいそうです。 では、aくん、あなたが参照しているインスタンスをコピーして、 bくんに参照させてあげなさい。 分かりました。ほら、b、ありがたく受け取れ。 ありがたき幸せ・・・ という話か?
だとすると
b=a;
という代入演算には、
コピーコンストラクタの概念が必要になると思うのだが・・・
b=a;
という演算は一体、何をしているのでしょうか?
bをいじってもaの参照しているインスタンスが影響を受けないようにしたいですね。
これはC++において、
アドレスで渡さずconst&で渡す参照渡しと同様の概念だと思うのですが、
違いますか?
(後述の理由より違うってことでおk?)
>>66 をやってみたら、
(putsはpにしましたが、あとset(num)と明示的に
かっこをつけることが推奨されていますし、
setした時に@valが作り出される格好になっているので
最初から持たせるか、initializeしてくれないと分かりづらい・・・
最初動かないかと思ってた)
akira@akira-desktop:~$ ruby a.rb
2
2
3
となった。これは知らなかった。
代入だと元のまで変化してしまうのか?
そういえば代入は文字代入かinitializeでの代入くらいしかした覚えがない。
b=aみたいな書き方ってふつうしないと思うし。
つまり b=a; という演算は、 ポインタのコピーと解釈しておkですか? そして、 メソッドなどの引数にとるときは 例えば method(String str) であれば、 String s = "aaa"; method(s); とすると、 sの参照先のアドレスが参照型で渡されて、つまり、Cでいえば、 (*p)<=だぶんこれを参照型というのだと解釈した の形で渡されて、 だから (*p).nantoka の形で使えるということですか? つまり、まとめていうと、 str = sという演算が行われてから、 strについて処理をするので、sの値が変わるということでおk? ではどうしてprimitiveな場合は値渡しになるのでしょうか?
誰か助けてよ・・・ もう何も分からない・・・
そうそう、だから Ruby と Java は同じで、 C++ は違うってことだな。 C++ だと自然な結果になる。でも暗黙の機能が裏でたっぷり呼ばれる。 #include <iostream> class Test { int val; public: /* Test(){std::cout <<"コンストラクタが呼ばれた" << std::endl;} Test(const Test& x){std::cout << "コピーコンストラクタが呼ばれた" << std::endl;} ~Test(){std::cout << "デストラクタが呼ばれた" << std::endl;} Test& operator=(const Test& obj){ std::cout << "代入演算子が呼ばれた" << std::endl;} */ void set(int num){val=num;} int get(){return val;} }; int main(){ Test a,b; Test c=a; b=a; a.set(1); b.set(2); c.set(3); std::cout << a.get() << b.get() << c.get() << std::endl; }
で、 C++ の場合、もう一つ、オブジェクトをポインタで管理する構文があって、こっちが Java や Ruby に近い。 この場合、暗黙のうちになにかが起きるってことが無い。 C++ の -> と Java や Ruby の . が近いって感覚かな? #include <iostream> class Test { int val; public: /* Test(){std::cout <<"コンストラクタが呼ばれた" << std::endl;} Test(const Test& x){std::cout << "コピーコンストラクタが呼ばれた" << std::endl;} ~Test(){std::cout << "デストラクタが呼ばれた" << std::endl;} Test& operator=(const Test& obj){ std::cout << "代入演算子が呼ばれた" << std::endl;} */ void set(int num){val=num;} int get(){return val;} }; int main(){ Test *a,*b,*c; a=new Test(); b=a; c=new Test(*a); a->set(1); b->set(2); c->set(3); std::cout << a->get() << b->get() << c->get() << std::endl; }
で、プリミティヴ型に関しては、C 言語がもともと変数を宣言すると箱を用意して、 代入文では値をコピーしたというのに意識して合わせたという風に納得すべきだろう。 だから Java ではプリミティヴ型に対するプログラミングとオブジェクト型に対するプログラミングは かなり違う。 で、 Java 1.4 までは、意識してラッパークラス(int なら java.lang.Integer など)を活用しなければならなかった。
どこがそうそうなのか分からない。
結局、
method(String s)の場合は
String str = "aaa"; method(str);
とした場合は、
s = str(参照ポインタのコピー)
が最初にされるからstrの値は変わってしまう。
method(double d)の場合は。
double value = 1.1;
method(value)
としてもvalueの値自体のコピーがdに渡されるから
元のvalueは変化しないってこと?
呼び方としてはC的にいうと、
char *pという宣言について、
p ポインタ
*p 参照ポインタ
ということかな?
「参照」という言葉について、何を参照しているのか、
なぜ参照と呼ばれるのかを詳しく話してもらえないと、
理解があやふや。
参照渡しとポインタ渡しの違いは?
C++のmethod(type& ob)と、Javaのmethod(type ob)は等価なのか?
Javaの引数の渡し方は
ttp://www.aerith.net/design/argument-j.html これらの図のうちどれか?
C には参照という概念が無く該当するとすればポインタになる。 但し、ポインタは厳密にアドレスに対応づけられるけど、 参照は物理的な対応は無くても良くて抽象的な概念。 オブジェクトを指すことができれば良い。 C++ の参照と Java の参照は同じ概念。 但し、 C++ の参照型変数は初期化が義務づけられているけど、 Java の変数は初期化しないと後で使おうとすると NullPointerException が出る。 指定されている図は「コピー」の説明であって、参照の説明ではないな。 Java はプリミティヴ型は値渡し、オブジェクト型は参照渡しになる。 C++ では参照渡しとポインタ渡しは全然違うけど、 Java ではポインタ渡しが無いから何とも言えない。
発想としては
=>オブジェクト指向をするに当たって、オブジェクトをそのまま変化させる方法があればよいな。
=>じゃあポインタコピろうぜ。
=>でもポインタでコピるとアロー演算子が汚いな。
=>じゃあ参照渡しを定義しようぜ。
=>いいねそれ!
っていうこと?
ttp://www.geocities.jp/ky_webid/cpp/language/015.html ここの参照渡しのところのポインタ渡しと参照渡しの比較的に考えると。
でもポインタでも
char *p;
っていうと、これはどこも指してないけど、ポインタが作られてるよね。
この時に、ポインタのメモリはどっかに確保される。
String str;
は参照変数を定義しているのだと思うけど、
抽象的な概念であれば、この時はまだメモリが確保されないの?
ポインタ渡しと参照渡しの差が上記したことのみだとすると、
「抽象的な概念」というのがどこを指しているのか分からない。
79 :
56 :2007/12/31(月) 18:37:55
>>57 そうですか。わざわざすいません。
そうすると、やはり何がいけないのかがよけい分からなくなりました。
ちなみにInputStreamをFileInputStreamにして、ローカルから読もうとしても
同じでした。
謎。。。
String str; str=null; なんてのもできるよ。 参照を入れる箱はできるよ。 ただ、本当に参照と呼ばれるものに何が入っているかは ポインタと違って良く分からないだけで。 C++ はメモリとかアドレスとかにきちんと対応づけられているけど、 Java の内部が実際どうなっているか、ソースファイルを読んでないのでよくわからない。
>>79 おお。いよいよ小出しも佳境に入ってきたね。
InputStream を使ったのか。だったら、 is じゃなくて System.in とすれば標準入力から
読めるんじゃないかな?
あとは、 FileInputStream の代わりに File にするとか。
参照変数には何が入ってるか分からないの? ただ「参照している」というだけで、 それが何をしているのかは謎のblackboxなの?
>>83 そうそう。
気持ち悪かったらコンパイラのソースを読むと。
参照渡しは理解した。 public class ClassName にすると、なんでファイル名もClassName.java にしなきゃいけなくてかつ publicなクラスはファイル中に1つしかあっちゃいけないの?
また、publicでないクラスは、同じファイルにある唯一のpuclibクラスによって利用されるだけで、外部からの参照はできない これマジで? ファイルが違うと何か変わるの?
それは package とか import とかの仕組みが分からないと、説明がめんどくさいんだけど。
Trevisの責任者さんへ
October 11 [Thu], 2007, 22:16
この書き込みを最後に明日実験が終わって帰ってくるまで
書き込みを禁止することでトップに残るようにしておきます。
チアの責任者から前主将の方に連絡が入ったとの事で、
驚いています。と、ともに深く反省しております。
ぼくとしてはあくまでもチアの部員との個人的な問題で
解決出来るかなと思い先ほどのような軽めの謝罪文を出しましたが、
部と部での問題になりつつあるとの指摘を受けて改めて謝罪いたします。
このブログはあくまでも自分のオフザケを表現する場として解説して、
その方向でいろいろな、あくまでもネタとしての持論を展開してきました。
なので、気づかぬうちに自分では「なんでもあり」のような気持ちに
なっていたのかも知れません。
その結果、チアの女子部員を「肉便器」「イロモノ」よばわりするところまで
エスカレートしてしまいました。今はとても反省しています。
これからどうやって関係を修復していけばよいやらぼくには分かりません。
まずは該当の記事を見つけられる限り削除しますので、
もしいたらぬ点があれば
[email protected] の方に連絡いただければ削除または修正を検討します。
その上で、もしよろしければ後日チアの責任者もしくはリーダーと会って
謝罪したいと思っています。
それについては前主将から連絡がいくかと思われます。
本当に申し訳ありませんでした。
京都大学バーベル部主将 早川輝
java勉強しながら気がついたら年を越していた。 強化学習のプログラムを書く。 他の課題も満載なので、明日か明後日には着手したい。 Junitの使い方も勉強しないと。 でもなんとなく分かる。Test用のクラスを書くんだよな。お決まりだ。 今Java FAQなるページを読んでいる。 奥が深すぎる。でも今必要な駒は揃い始めてきた。 あとはGUIだな。
アクセス指定子だけど、 なんか別にpublicとprivate以外いらないんじゃないかって思う。 質問だけど、 publicのメンバを継承した場合、 サブクラスではそのメンバのアクセス指定子は何になるの? privateはそのクラス内でしか参照出来ないと書いてあるけど、 それは継承されないということ?
92 :
56 :2008/01/01(火) 06:14:05
>>82 すいません。解決できました。document nullでも
実は中身を読めていたという落ちでした。
toStringしたときになにがnullなのか分からない。
ご迷惑おかけしました。
同一人物だぞ。
親がpublicで持つと、 それは子に継承出来るよね。 その時、子はその変数なりメンバをどういうアクセス指定子で持つの?
もしかして ぬるぽ ガッ の、ガッっていうのはcatchのこと?
プロバイダ規制解除……
>>91 >>95 まあその辺は実験すれば 5 分で結論が出るからいいと思うけど。
実は Java には何も指定しない状態というのが特別な状態なんだな。
何も指定しないと「ファイル内でアクセス可能」という不思議な状態になる。
継承関係だけでアクセスしたかったら protected を使うべし。
2次元配列を引数にとるコンストラクタを作りたい。 どうすればいい?
別にfor loopでいいのか?
>>98 Test(int[][] anArray) とかでできたよ。できないかと思って試しちまった。
>>100 いやそういう話じゃなくて
コンストラクタの中でどうやってコピーすればいいかっていう話。
cloneは使えないよね?
copyArrayなんていうメソッドがあったりするらしいけど、
一体どうすればいいのかな?
103 :
ちんこ ◆GbXlaaQNk. :2008/01/07(月) 20:33:39
またJavaやるわ。 Rubyは速度がクソすぎて死ねる。
おk
NetBeans使えば面倒なことはないよ
107 :
ちんこ ◆GbXlaaQNk. :2008/02/10(日) 18:53:42
DebianだとJDEE使えるんだけど、 UbuntuでDebianのパッケージ使っても大丈夫かな?
>>107 案ずるより生むがやすs
つーか、Ubuntuはdeb系だから大丈夫じゃね?と無責任こいてみる。
互換性はないはずだが、どうなんだろう。 でも別にJDEEなんていらんけどね。 かなりJava書けるようになって今腕試しにオセロ作ってるよ^^
110 :
ちんこ ◆GbXlaaQNk. :2008/02/14(木) 23:03:24
http://www2.uploda.org/uporg1251338.java.html 今Othello作ってるんだよね。
で、これがプログラムなんだけど、
今、MainPanelのputDownっていうメソッドでテスト的に
stata[0][0]
に白を置こうとしているんだけど、
mouceClickedがちゃんと動作してないのか、
ちゃんとrepaint()が発動してるような気がしない。
repaint()ってpaintComponentを自分で発動させるって意味だよね?
なんでこれちゃんと動かないんだろ。
111 :
ちんこ ◆GbXlaaQNk. :2008/02/14(木) 23:29:21
あああああああああああああああああ addMouseListerしてないwwwww
112 :
ちんこ ◆GbXlaaQNk. :2008/02/26(火) 12:59:53
サーセン JRubyやります。 Javaのプリミティブと参照の混在っぷりにイラっと来た。 Rubyならそれを解決してくれるし、 Javaも無駄にならない!(特にSwing) JRubyは神
113 :
デフォルトの名無しさん :2008/04/30(水) 22:11:29
やっぱり、ハイレベルかつ簡易にかかれていないと意味がない
その点では、少し値は張るが、これなんかお勧めだ
http://www.amazon.co.jp/Java%C3%A3%C2%81 %C2%A7%C3%A5%C2%AD%C2%A6%C3%A3%C2%81%C2
%B6%C3%A9%C2%81%C2%BA%C3%A4%C2%BC%C2%9D
%C3%A7%C2%9A%C2%84%C3%A3%C2%82%C2%A2%C3
%A3%C2%83%C2%AB%C3%A3%C2%82%C2%B4%C3%A3
%C2%83%C2%AA%C3%A3%C2%82%C2%BA%C3%A3%C2
%83%C2%A0-%C3%A6%C2%A3%C2%AE-%C3%A7
%C2%9B%C2%B4%C3%A6%C2%A8%C2%B9/dp/4320121988/
ref=sr_1_14?ie=UTF8&s=books&qid=1195823217&sr=8-14
115 :
デフォルトの名無しさん :2008/07/22(火) 22:10:54
TextSS
116 :
デフォルトの名無しさん :2009/02/20(金) 19:48:02
>>115 ∧∧
(´・ω)
_|⊃/(___
/ ヽ_(____/
 ̄ ̄ ̄ ̄ ̄ ̄ ̄
118 :
デフォルトの名無しさん :2009/02/23(月) 08:36:01
>>116 !
∧∧
(・ω・ )
_| ⊃/(__
/ ヽ-(___/
 ̄ ̄ ̄ ̄ ̄ ̄
∧∧ (ω・`) _|⊃/(___ / ヽ_(____/  ̄ ̄ ̄ ̄ ̄ ̄ ̄
120 :
デフォルトの名無しさん :2009/02/25(水) 08:33:46
>>118 オハヨー!!
∧∧ ∩
(`・ω・)/
⊂ ノ
(つノ
(ノ
___/(___
/ (___/
 ̄ ̄ ̄ ̄ ̄ ̄
121 :
デフォルトの名無しさん :2009/03/23(月) 07:34:11
∧∧ (ω・`) _|⊃/(___ / ヽ_(____/  ̄ ̄ ̄ ̄ ̄ ̄ ̄
スレ違い
123 :
デフォルトの名無しさん :2009/05/18(月) 08:32:13
>>120 ∧,,∧
( `・ω・) ウーム…ここは?
/ ∽ |
しー-J
r―-、 __ ... -―, {:.゚:.:.:__`´__.:.:.:.:.:.:。.:| !゚/:::::`´::::`ヽ.:.:。/ //:イ__,ハノ,__」::i:}.:ノ、 JAVAの本買った \!ル゚ ̄_ ゚̄ト!:|_/ 今日から私もプログラマwww |ハ、|__〉 |」ノ/ . (( ___>rュ<リノ__ `ー―‐l:.:Y:.:.:f――‐' |:.:.0:.:.:ト、_\ )) . ぶわー |:.:.:.:o.o| `)ノ
r―-、 __ ... -―, {:.゚:.:.:__`´__.:.:.:.:.:.:。.:| !゚/:::::`´::::`ヽ.:.:。/ //:イ__,ハノ,__」::i:}.:ノ、 計画表作った \!ル゚ ̄_ ゚̄ト!:|_/ 100時間勉強してプロになるーww |ハ、|__〉 |」ノ/ . (( ___>rュ<リノ__ AA使っている自分きもいーww `ー―‐l:.:Y:.:.:f――‐' |:.:.0:.:.:ト、_\ )) . ぶわー |:.:.:.:o.o| `)ノ
r―-、 __ ... -―, {:.゚:.:.:__`´__.:.:.:.:.:.:。.:| !゚/:::::`´::::`ヽ.:.:。/ //:イ__,ハノ,__」::i:}.:ノ、 インターフェースの暗記秋田ーww \!ル゚ ̄_ ゚̄ト!:|_/ |ハ、|__〉 |」ノ/ . (( ___>rュ<リノ__ `ー―‐l:.:Y:.:.:f――‐' |:.:.0:.:.:ト、_\ )) . ぶわー |:.:.:.:o.o| `)ノ
r―-、 __ ... -―, {:.゚:.:.:__`´__.:.:.:.:.:.:。.:| !゚/:::::`´::::`ヽ.:.:。/ //:イ__,ハノ,__」::i:}.:ノ、 Enumeration,Map型わけわからんーw \!ル゚ ̄_ ゚̄ト!:|_/ String配列でいいじゃんーww |ハ、|__〉 |」ノ/ . (( ___>rュ<リノ__ `ー―‐l:.:Y:.:.:f――‐' |:.:.0:.:.:ト、_\ )) . ぶわー |:.:.:.:o.o| `)ノ
128 :
デフォルトの名無しさん :2009/06/29(月) 02:51:52
>>123 ∧ ∧ 一人一個まで
( ´・ω・)
( ∪ ∪ ,.-、 ,.-、 ,.-、 ,.-、 ,.-、 ,.-、 ,.-、
と__)__) (,,■) (,,■) (,,■) (,,■) (,,■) (,,■) (,,■)
梅干 高菜 おかか こんぶ ごはんですよ わさび漬け 焼たらこ
,.-、 ,.-、 ,.-、 ,.-、 ,.-、 ,.-、 ,.-、
(,,■) (,,■) (,,■) (,,■) (,,■) (,,■) (,,■)
鶏飯 明太子 ちりめんじゃこ ゆかり 柴漬 塩辛 牛肉しぐれ
,.-、 ,.-、 ,.-、 ,.-、 ,.-、 ,.-、 ,.-、 ,.-、
(,,■) (,,■) (,,■) (,,■) (,,■) (,,■) (,,■) (,,■)
鮭 鶏ごぼう 野沢菜 天むす ツナマヨ エビマヨ 鮭マヨ 具なし
>>127 MapがMap(Key, Value)こうなっているとすると、
Keyひとつに属性ひとつだけ持たせたいときはStringで充分かもしれんけど、複数持たせたいときもある。
そういうときにClassを作ってValueに入れたりする。
class Test {
String namae;
int kokugo;
int sansue;
int rika;
}
Test test = new Test();
map.put("なんたら", test);
これくらいならclass配列で良いと思うだろうけど、頻繁に追加したり削除したりしたいときは
配列は不便なのさ
r―-、 __ ... -―, {:.゚:.:.:__`´__.:.:.:.:.:.:。.:| !゚/:::::`´::::`ヽ.:.:。/ //:イ__,ハノ,__」::i:}.:ノ、 うおっ 具体例わかりやすいです \!ル゚ ̄_ ゚̄ト!:|_/ |ハ、|__〉 |」ノ/ 喧嘩腰の荒しが多いJAVAスレでは珍しいです . (( ___>rュ<リノ__ `ー―‐l:.:Y:.:.:f――‐' |:.:.0:.:.:ト、_\ )) . ぶわー |:.:.:.:o.o| `)ノ
131 :
デフォルトの名無しさん :2010/02/19(金) 01:19:47
>>128 且且~
且且~
∧__∧ 且且~
(´・ω・) 且且~
`/ヽO=O且且~
/ ‖_‖且且~
し ̄◎ ̄◎ ̄◎
皆さん、お茶が入りましたよ…
132 :
デフォルトの名無しさん :2010/03/23(火) 09:09:01
わろた
なんだここ
なたでここ
変数aに整数が入って、変数aが60以上なら 変数ansにOKを代入してaが60未満ならansにNOを代入して ansの内容を表示するプログラムを作ってくれ
137 :
忍法帖【Lv=2,xxxP】 :2011/05/31(火) 11:40:24.08
スレ立て おね〜 ★★Java質問・相談スレッド144★★ ★★ Java の宿題ここで答えます Part 69 ★★ ★★Java質問・相談スレッド Part 145★★ ★★Java質問・相談スレッド★★ Part 145 ★★Javaの宿題ここで答えます★★ Part 70
おぬしのレベルが上でござる
てすこ
140 :
デフォルトの名無しさん :2011/06/15(水) 00:37:12.27
SIEN
てす
142 :
デフォルトの名無しさん :2011/06/15(水) 10:21:49.24
javaサーブレット、jspの開発環境で質問があります。(初心者です) 開発環境ディレクトリ構成を以下のようにしています。 data/画像 img/画像 jsp/jspファイル WEB-INF/ work/ jspから画像を表示したいときはどうしても ../img/hoge00.jpg ../data/hoge01.jpg と書かなくてはいけないのですが ../を省いて、img/hoge00.jpgと書くだけで表示できるようにすることはできでしょうか?
Javaプログラマって、ずいぶんレベルが低いんだな。
145 :
デフォルトの名無しさん :2011/09/20(火) 20:51:04.86
マ板のちんこスレ無理やり落とされたか
イン
147 :
デフォルトの名無しさん :2011/12/14(水) 10:16:54.83
ちんこのツイッター見れるようになってるな akiradeveloperのやつ
148 :
デフォルトの名無しさん :2012/01/02(月) 19:31:11.02
age
javaのオブジェクト指向の勉強で詰まってるので援助して欲しい。 かなりはじめの方で呆れるかもしれんけど、よろしくですよ。 |handle|hand |tips dealer |comp |5,16,22,31,33|150 player1 |Tom |2,13,26,13,48|50 上記のような表があってPlayer classとExecPlayer classを作って表示させる。 下記のように表示させたい。 comp, {5 16 22 31 33},150 Tom, {2 13 26 13 48},50
ちなみに自力でやってみたが、以下のとおり。 public class Player { String handle; int hand; int tips; public Player(String h,int a,int t){ handle = h; hand = a; tips = t; } } -------------------------------------------------------------- public class ExecPlayer { public static void main(String[] args) { Player p1 = new Player("comp",null, 150); Player p2 = new Player("Tom", null, 50); } } -------------------------------------------------------------- ExecPlayer classに{5,16,22,31,33}と{2,13,26,13,48}を入れたいのだが、入れるとエラーになってわけわからん。 どうか頼む、教えてくれ。
すまん、訂正。 >ExecPlayer classに{5,16,22,31,33}と{2,13,26,13,48}を入れたいのだが、入れるとエラーになってわけわからん。 ExecPlayer classのnullのところに・・・です。
>>151 Playerクラス内で
int handle を int[] handle
int a をint[] a
>>152 俺もそう思ってやってたんだが、そうするとExecPlayerクラスでエラーがでるんだ。
Player p1 = new Player("comp",{5,16,22,31,33}, 150);
Player p2 = new Player("Tom", {2,13,26,13,48}, 50);
オブジェクトが作れず先にすすめん(´;ω;`)
Exception in thread "main" java.lang.Error: Unresolved compilation problems: コンストラクター Player(String, int, int, int, int, int, int) は未定義です トークン "{" に構文エラーがあります。このトークンを削除してください トークン "}" に構文エラーがあります。このトークンを削除してください コンストラクター Player(String, int, int, int, int, int, int) は未定義です トークン "{" に構文エラーがあります。このトークンを削除してください トークン "}" に構文エラーがあります。このトークンを削除してください at ex.ExecPlayer.main(ExecPlayer.java:8) このようなエラーがでる。
京大生てチンパンジー程度の知能しかないんだな。。。 配列[]について調べながらやってみ public class Player { __String handle; __int[] hand; __int tips; __public Player(String h,int[] a,int t){ __handle = h; __hand = a; __tips = t; __} }
157 :
156 :2012/01/18(水) 16:20:09.03
再び質問で恐縮だが、教えてくれ。 public class Dog{ private String name; public Dog(String name){ this.name = name; } public String getName(){ return name; } public void friend(Dog other){ System.out.println(name + "の友達は" + other.name()); } }
158 :
156 :2012/01/18(水) 16:23:42.97
public class Exec{ public static void main(String[]args){ Dog john = new Dog("ジョン"); Dog tom = new Dog("トム"); }} これはfriendメソッドの引数が参照になってるわけなんだが、まったくもって理解できない。 参照を引数に取るってどういうことなんだ?
159 :
156 :2012/01/18(水) 16:24:15.20
一応age
john.friend(tom);ってしたいけど意味がわからないってこと?
161 :
156 :2012/01/18(水) 19:27:11.04
参照を引数にとるってことが意味わからん。 参照はDog otherで、このotherはどこのこと? ここいらもろもろがまるっきり意味不明。
それは参照以前のメソッドの引数の理解の問題だよ friendってメソッドはDog型の引数が必要で、その引数はメソッドの中では仮にotherって呼ぶけど、otherはprintln 出力に使うよってこと
163 :
156 :2012/01/18(水) 20:23:55.15
fm、一応ありがとー。 やぱ理解には程遠い。 最後のjohn.friend(tom)で、friendメソッドでnameにjohnを代入、(tom)がother.nameに代入って感じでいいのかねな?
そうそう この場合はjohnっていうインスタンスでfriendを呼んでるから、friendのなかのnameはjohnのフィールドに保持されてる値 それでother.nameは引数になったkenのnameフィールドをみてるってこと
165 :
156 :
2012/01/18(水) 20:51:15.85 なるー、同じnameっていうフィールド変数だけどnameとother.nameは別物なんだね! まだ苦労するが理解した。 あとは俺の脳処理しだいだなー。 激さんくす!!