Java初心者のためのスレッドです。
※前スレ
Java入門・初心者質問スレ Part.8
http://mevius.5ch.net/test/read.cgi/tech/1528370228/
Java入門・初心者質問スレ Part.9
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2019/03/09(土) 23:59:15.92ID:ACok0wnJ130デフォルトの名無しさん
2019/08/01(木) 12:03:25.91ID:aVYnxNEs java.beans.XMLEncoder で getter/setter のあるオブジェクトを書くとちゃんとXMLファイルができて中にデータが入っているのですが、その XML ファイルを XMLDecoder の readOblect() で読もうとすると java.lang.ClassNotFoundException が出てしまい読めません。
classpath でクラスのあるディレクトリを指定したり直前で Class.forName() でクラスを読んでいても同じです。
これはどうやったら正常に読めるようになるのでしょうか?
classpath でクラスのあるディレクトリを指定したり直前で Class.forName() でクラスを読んでいても同じです。
これはどうやったら正常に読めるようになるのでしょうか?
131デフォルトの名無しさん
2019/08/01(木) 18:29:09.43ID:iHxbPEOX132デフォルトの名無しさん
2019/08/01(木) 20:29:11.30ID:aVYnxNEs >>131
普通にファイルから読もうとしているだけなので問題ないと思うんだけど。うーん。
ところでそのうまく行ったプログラムは読み書きが別々に動くように書いてあって別々に起動して書くだけ、または読むだけが動くようになってますか?
それとも書いて読むという順序になっている一つのプログラムですか?
というのは、色々検索して探していたらクラスローダの問題と書いてあるページを見つけたからです。
(かといってどうすれば良いかまだよくわからない)。
普通にファイルから読もうとしているだけなので問題ないと思うんだけど。うーん。
ところでそのうまく行ったプログラムは読み書きが別々に動くように書いてあって別々に起動して書くだけ、または読むだけが動くようになってますか?
それとも書いて読むという順序になっている一つのプログラムですか?
というのは、色々検索して探していたらクラスローダの問題と書いてあるページを見つけたからです。
(かといってどうすれば良いかまだよくわからない)。
133デフォルトの名無しさん
2019/08/01(木) 21:25:46.03ID:iHxbPEOX >>132
com.example.test.XMLEncoderTest, XMLDecoderTestそれぞれのmainメソッドで
Stringとintのフィールが1つづつのTestBeanをtest.xmlに書いて読むだけ
動かないわけがないぐらいシンプルなもの
こんなのだったらそちらでも問題なく動くと思うけど、
それが(仮に)動いて、今トラブってるのが動かないのであれば、
XMLDecoderを使う箇所以外のコードか環境が原因じゃない?
#それか単純に間違ったXMLファイルをロードしちゃってるか(以前にテスト用に作ったクラスをXMLEncodeしたファイルとか)
com.example.test.XMLEncoderTest, XMLDecoderTestそれぞれのmainメソッドで
Stringとintのフィールが1つづつのTestBeanをtest.xmlに書いて読むだけ
動かないわけがないぐらいシンプルなもの
こんなのだったらそちらでも問題なく動くと思うけど、
それが(仮に)動いて、今トラブってるのが動かないのであれば、
XMLDecoderを使う箇所以外のコードか環境が原因じゃない?
#それか単純に間違ったXMLファイルをロードしちゃってるか(以前にテスト用に作ったクラスをXMLEncodeしたファイルとか)
134132
2019/08/02(金) 01:42:46.68ID:4xKDT1Cg すいません。こちらの問題でした。Kotlin と混在させていて Kotlin 側でやるとダメな結果になってました。Java で同じように作ると問題なく動きました。失礼しました。
135デフォルトの名無しさん
2019/08/14(水) 21:01:00.61ID:k4UWt8la OpenJDKメインにすれば、
ライセンス料かからないんですか?
ライセンス料かからないんですか?
136デフォルトの名無しさん
2019/08/14(水) 22:00:13.68ID:ART9Vgv/ >>135
OpenJDKならライセンス料はかからない
個人の勉強用なのか会社で業務システム動かすのかとか目的によって選択肢は色々だろうけど
以下のスライドが良くまとめられていると思う(ちょっと長いかもしれないけど)
最適なOpenJDKディストリビューションの選び方 #codetokyo19B3 #ccc_l5
https://www.slideshare.net/TakahiroYamada3/how-to-choose-the-best-openjdk-distribution-201905
OpenJDKならライセンス料はかからない
個人の勉強用なのか会社で業務システム動かすのかとか目的によって選択肢は色々だろうけど
以下のスライドが良くまとめられていると思う(ちょっと長いかもしれないけど)
最適なOpenJDKディストリビューションの選び方 #codetokyo19B3 #ccc_l5
https://www.slideshare.net/TakahiroYamada3/how-to-choose-the-best-openjdk-distribution-201905
137デフォルトの名無しさん
2019/08/14(水) 22:23:14.84ID:k4UWt8la いい!
138デフォルトの名無しさん
2019/08/15(木) 00:06:19.61ID:wbNX/uYv >>136
半年毎のアップデート面倒だろ
半年毎のアップデート面倒だろ
139デフォルトの名無しさん
2019/08/24(土) 05:21:30.59ID:9pxya9Ba この資格とったら時給いくら?
セミリタイアして、派遣で働きたい週3ほど。
希望時給は2500円以上です。
セミリタイアして、派遣で働きたい週3ほど。
希望時給は2500円以上です。
140デフォルトの名無しさん
2019/08/24(土) 20:06:03.58ID:5HTqte9i Oracle Master Platinumくらいないとな
141デフォルトの名無しさん
2019/08/24(土) 23:32:22.46ID:v6W8/Gxl で、結局いくらなの?
個人で趣味程度に開発してアップしてるんだけど
不安になって小鳥に切り替え中
個人で趣味程度に開発してアップしてるんだけど
不安になって小鳥に切り替え中
142デフォルトの名無しさん
2019/08/29(木) 21:11:06.28ID:aj2mK3E5 スッキリわかるJava入門の第2版って本はまだ有効?
143デフォルトの名無しさん
2019/08/30(金) 02:47:21.38ID:JjDABWUq 有効だけど実践編と Servlet までやらないと意味ないよ
Java で何をしたいのかにもよるけど
javadrive のサイトではいけないの?
Java で何をしたいのかにもよるけど
javadrive のサイトではいけないの?
144デフォルトの名無しさん
2019/08/30(金) 03:03:59.15ID:cFfAoNHG Servlet以外にJavaの意味有るか?
145デフォルトの名無しさん
2019/08/30(金) 05:39:27.15ID:lIbkhvzM >>143,144
ありがとうjavadriveのサイトで頑張ってみる
ありがとうjavadriveのサイトで頑張ってみる
146デフォルトの名無しさん
2019/08/30(金) 15:19:14.06ID:JjDABWUq 近頃は spring までできて一人前らしいが
147デフォルトの名無しさん
2019/08/31(土) 02:56:23.70ID:2HqpObEY OpenJDKなんて不要
AdoptOpenJDKで十分
AdoptOpenJDKで十分
148デフォルトの名無しさん
2019/08/31(土) 08:00:48.30ID:cAVHGBLQ おまえだれや
149デフォルトの名無しさん
2019/08/31(土) 12:41:17.30ID:VU1TvKMl 結局 spring のメリットは何なの?
コードが複雑になるだけのような気がする
コードが複雑になるだけのような気がする
150デフォルトの名無しさん
2019/08/31(土) 13:07:29.21ID:E5RG3LAO Kotlin もよろしく
151デフォルトの名無しさん
2019/08/31(土) 14:25:57.35ID:tr0ocvmw そこはよろりんで
152デフォルトの名無しさん
2019/08/31(土) 14:26:16.17ID:cytRkna2153デフォルトの名無しさん
2019/09/07(土) 17:16:04.72ID:x28E9rEB 2次元配列で
int[][] array = new int[8][10];
これで
array[1][10]
array[2][30]
array[3][15]
のように二つ目の要素のサイズをバラバラにしたいのですが
こういうことってできますか?どう記述すればよいのでしょう?
int[][] array = new int[8][10];
これで
array[1][10]
array[2][30]
array[3][15]
のように二つ目の要素のサイズをバラバラにしたいのですが
こういうことってできますか?どう記述すればよいのでしょう?
154デフォルトの名無しさん
2019/09/07(土) 17:39:16.13ID:x28E9rEB 自己解決しました
155デフォルトの名無しさん
2019/09/07(土) 17:39:47.44ID:kl0P3WfA >>153
int[][] array = new int[8][];
array[1] = new int[10];
array[2] = new int[30];
array[3] = new int[15];
int[][] array = new int[8][];
array[1] = new int[10];
array[2] = new int[30];
array[3] = new int[15];
156デフォルトの名無しさん
2019/09/07(土) 17:43:51.55ID:x28E9rEB どうもです
157デフォルトの名無しさん
2019/09/22(日) 17:47:53.42ID:XzkjllAa >>149
seasar2のような偽物と違って消えないところ
seasar2のような偽物と違って消えないところ
158デフォルトの名無しさん
2019/09/23(月) 18:34:10.83ID:moFSllv1 ttps://pastebin.com/U8wjQzzb
四分木を実装しようとしています。
四角の中に2つ以上モノがある際、その四角を分割してほしいのですが、
その四角を分割せず、べつの場所を分割しています。
QuadTreeのsubdivide()が原因だと思うのですが、
ttps://www.youtube.com/watch?v=OJxEcs0w_kE
を見る限りでは分割方法は正しいようなのです。
QuadTreeのsubdivide()を修正するとしたらどのようにしたら良いでしょうか?
四分木を実装しようとしています。
四角の中に2つ以上モノがある際、その四角を分割してほしいのですが、
その四角を分割せず、べつの場所を分割しています。
QuadTreeのsubdivide()が原因だと思うのですが、
ttps://www.youtube.com/watch?v=OJxEcs0w_kE
を見る限りでは分割方法は正しいようなのです。
QuadTreeのsubdivide()を修正するとしたらどのようにしたら良いでしょうか?
159デフォルトの名無しさん
2019/09/23(月) 19:05:58.27ID:NZsx3e2R qr.x - w → qr.x
qr.y - h → qr.y
じゃね?
qr.y - h → qr.y
じゃね?
160デフォルトの名無しさん
2019/09/23(月) 20:36:04.88ID:moFSllv1161デフォルトの名無しさん
2019/09/30(月) 19:29:28.87ID:JiaaNZda missing return statementというエラーについて質問させてください
例えばif文でint型の変数iの条件を
10≦i≦20とelseでそれぞれ戻り値を指定するとエラーはでないのですが
10≦i≦20
と
else ifでi>10 、i<20
という条件にするとエラーになってしまい、ここに適当にelseを追加するとエラーがでなくなります
やってることは一緒で、どちらも全ての場合を網羅できてると思うのですが、これはどうしてなんでしょうか
if文はelseでしめないとダメという文法上の決まりですか?
それとも論理的な誤りがあるのでしょうか?
今一プログラミングの仕組みがわかってません、、、
例えばif文でint型の変数iの条件を
10≦i≦20とelseでそれぞれ戻り値を指定するとエラーはでないのですが
10≦i≦20
と
else ifでi>10 、i<20
という条件にするとエラーになってしまい、ここに適当にelseを追加するとエラーがでなくなります
やってることは一緒で、どちらも全ての場合を網羅できてると思うのですが、これはどうしてなんでしょうか
if文はelseでしめないとダメという文法上の決まりですか?
それとも論理的な誤りがあるのでしょうか?
今一プログラミングの仕組みがわかってません、、、
162デフォルトの名無しさん
2019/09/30(月) 19:32:18.74ID:JiaaNZda すいません
符号が逆でした
else ifのところはi<10、i>20
符号が逆でした
else ifのところはi<10、i>20
163デフォルトの名無しさん
2019/09/30(月) 19:34:28.78ID:jed1FLcT コードをそのまま書いてみて
164デフォルトの名無しさん
2019/09/30(月) 19:53:42.06ID:JiaaNZda >>163
今出先でスマホなのでそのままは書けないのですが・・・情報足りなかったらすいません
test(i)
public static String test(int i); {
if (i >= 10 && i <=20) {
return "10≦i≦20";
} else {
return "i<10、またはi >20";
}
}
これだとエラーにならないんですが
test(i)
public static String test(int i); {
if (i >= 10 && i <=20) {
return "10≦i≦20";
} else if (i < 10 || i > 20){
return "i<10、またはi >20";
}
}
これだとmissing return statementとなってしまいます
今出先でスマホなのでそのままは書けないのですが・・・情報足りなかったらすいません
test(i)
public static String test(int i); {
if (i >= 10 && i <=20) {
return "10≦i≦20";
} else {
return "i<10、またはi >20";
}
}
これだとエラーにならないんですが
test(i)
public static String test(int i); {
if (i >= 10 && i <=20) {
return "10≦i≦20";
} else if (i < 10 || i > 20){
return "i<10、またはi >20";
}
}
これだとmissing return statementとなってしまいます
165デフォルトの名無しさん
2019/09/30(月) 20:14:37.87ID:s1CTVBg3 >>164
Javaだと
if (condition1) {
return;
} else if (condition2) {
return;
}
というコードは
if (condition1) {
return;
} else {
if (condition2) {
return;
}
}
と記述したことと同一なんですよ。
で、下側のコードを見れば、condition2がfalseの時にreturnが呼ばれないですよね。
もちろんcondition1とcondition2が排他であれば、
実際にはcondition2が成立しないケースは(condition1で処理されているので)存在しないのですが、
コンパイラはそこまでは見てくれない、ってことです。
Javaだと
if (condition1) {
return;
} else if (condition2) {
return;
}
というコードは
if (condition1) {
return;
} else {
if (condition2) {
return;
}
}
と記述したことと同一なんですよ。
で、下側のコードを見れば、condition2がfalseの時にreturnが呼ばれないですよね。
もちろんcondition1とcondition2が排他であれば、
実際にはcondition2が成立しないケースは(condition1で処理されているので)存在しないのですが、
コンパイラはそこまでは見てくれない、ってことです。
166デフォルトの名無しさん
2019/09/30(月) 20:20:08.09ID:s1CTVBg3 訂正
「コンパイラはそこまでは見てくれない」はあまり正しくないですね。
言語仕様として、
ifステートメントのブロック内でそのブロックが選択された際の条件が考慮されたりしない
と言ったほうが良いでしょう。
「コンパイラはそこまでは見てくれない」はあまり正しくないですね。
言語仕様として、
ifステートメントのブロック内でそのブロックが選択された際の条件が考慮されたりしない
と言ったほうが良いでしょう。
167デフォルトの名無しさん
2019/09/30(月) 21:02:33.67ID:eT2YwU2a 俺だったらわざわざ2個目のif書かずにelse使っちゃうな。もし仮にコンパイルエラーにならなかったとしても無駄だし見辛いしバグの温床になりそうだから。
168デフォルトの名無しさん
2019/09/30(月) 22:31:55.68ID:JiaaNZda >>165-166
詳細に解説いただき、ありがとうございます
帰宅したので回答いただいたことを踏まえて色々と弄ってみたのですが
例えば、
if (condition1) {
System.out.print("true");
} else if (condition2) {
System.out.print("false");
}
このようにした場合はエラーにならなかったので、
今回のエラーの現象はif文がどうこうではなく、returnの問題、
すなわち、(表現が適切でないかもしれませんが)
if文のブロック内の詳細な条件の処理が行われる前に、return文によって、各ケース全てがfalseになる可能性がないことが確認されるために起きるエラーという理解でいいでしょうか?
てっきり外側に書かれている処理が常に先に実行されるものだとばかり思っていましたが、そういうわけではないということでしょうか…
詳細に解説いただき、ありがとうございます
帰宅したので回答いただいたことを踏まえて色々と弄ってみたのですが
例えば、
if (condition1) {
System.out.print("true");
} else if (condition2) {
System.out.print("false");
}
このようにした場合はエラーにならなかったので、
今回のエラーの現象はif文がどうこうではなく、returnの問題、
すなわち、(表現が適切でないかもしれませんが)
if文のブロック内の詳細な条件の処理が行われる前に、return文によって、各ケース全てがfalseになる可能性がないことが確認されるために起きるエラーという理解でいいでしょうか?
てっきり外側に書かれている処理が常に先に実行されるものだとばかり思っていましたが、そういうわけではないということでしょうか…
169デフォルトの名無しさん
2019/09/30(月) 23:17:31.99ID:s1CTVBg3 >>168
間違っています。
先程の回答では理解されていると思っていたので端折りましたが、
Javaでは戻り値がある通常のメソッドからは常に "return 戻り値" か例外のthrowで抜けなければなりません。
例
int exOk1() { // OK
return 0;
}
int exOk2() { // OK
throw new RuntimeException();
}
int exNg() { // NG, compile error
// return がない
}
間違っています。
先程の回答では理解されていると思っていたので端折りましたが、
Javaでは戻り値がある通常のメソッドからは常に "return 戻り値" か例外のthrowで抜けなければなりません。
例
int exOk1() { // OK
return 0;
}
int exOk2() { // OK
throw new RuntimeException();
}
int exNg() { // NG, compile error
// return がない
}
170デフォルトの名無しさん
2019/09/30(月) 23:17:48.15ID:s1CTVBg3 これはif文などの条件分岐を伴う全ての可能性があるパスで満たされている必要があります。
例
int ex1() { // OK
if (condition) {
return 0;
} else {
return 1;
}
}
int ex2() { // OK
if (condition) {
return 0;
}
return 1;
}
int ex3() { // NG, compile error
if (condition) {
return 0;
}
// return がない
}
例
int ex1() { // OK
if (condition) {
return 0;
} else {
return 1;
}
}
int ex2() { // OK
if (condition) {
return 0;
}
return 1;
}
int ex3() { // NG, compile error
if (condition) {
return 0;
}
// return がない
}
171デフォルトの名無しさん
2019/09/30(月) 23:23:06.84ID:s1CTVBg3172デフォルトの名無しさん
2019/10/01(火) 00:15:55.07ID:LqGEIZr5173デフォルトの名無しさん
2019/10/09(水) 00:40:52.63ID:pXAO71yV safariでも閉じれるようなaタグ作るのに
onClick="window.open('about:blank','_self').close();"
じゃabout:blank開くだけなんですけど、なんでですか?
初心者質問で申し訳ありません。
onClick="window.open('about:blank','_self').close();"
じゃabout:blank開くだけなんですけど、なんでですか?
初心者質問で申し訳ありません。
174デフォルトの名無しさん
2019/10/09(水) 02:19:15.94ID:jo1nm3zd JavaとJavaScriptは一見似てるけど別の言語なので、このスレの対象外です
紛らわしいんじゃ、という苦情は当時のNetscape社へどうぞ
JavaScriptの質問は(この板の)他スレかWeb製作板、Webプログラミング板あたりへどうぞ
紛らわしいんじゃ、という苦情は当時のNetscape社へどうぞ
JavaScriptの質問は(この板の)他スレかWeb製作板、Webプログラミング板あたりへどうぞ
175デフォルトの名無しさん
2019/10/09(水) 02:51:30.46ID:z4DviLBe JavaScript(JS) は、web制作管理板のJavaScript のスレへ、書き込んでください!
この板の、JSのスレは、web制作管理板が荒らされたときに、
緊急避難用に立てたもので、今は使われていません
この板の、JSのスレは、web制作管理板が荒らされたときに、
緊急避難用に立てたもので、今は使われていません
176デフォルトの名無しさん
2019/10/14(月) 15:19:38.66ID:GdF/YAu+ 職業訓練校でjava勉強してる自分なんですが、すでにSESで内定もらってます。
でもスキル向上の事考えると自社開発に入りたいのでこのスレで情報共有お願いいます
職業訓練校プログラミング修了後(プログラマー掲示板)
http://itest.5ch.net/test/read.cgi/prog/1571032349/l50
でもスキル向上の事考えると自社開発に入りたいのでこのスレで情報共有お願いいます
職業訓練校プログラミング修了後(プログラマー掲示板)
http://itest.5ch.net/test/read.cgi/prog/1571032349/l50
177デフォルトの名無しさん
2019/10/14(月) 22:47:32.93ID:8P/N9iXF これ実行したときにAが1つしか表示されないのは何故ですか?
bのインスタンス生成は新しくSampleのインスタンスを生成することにはならないのですか?
3行目と6行目それぞれでAが表示されるのでは無いのですか?
https://i.imgur.com/O63piVm.jpg
https://i.imgur.com/dkGWlmY.jpg
bのインスタンス生成は新しくSampleのインスタンスを生成することにはならないのですか?
3行目と6行目それぞれでAが表示されるのでは無いのですか?
https://i.imgur.com/O63piVm.jpg
https://i.imgur.com/dkGWlmY.jpg
178デフォルトの名無しさん
2019/10/14(月) 23:17:04.66ID:wMZrtyOx 「これ実行」というのは GarbageCollectionTest を実行した時の話ですか?
あなたの理解で正しいです。"A" が2回表示されるはずですよ。
されないとしたらあなたが入力したコードに間違いがあるか、
コード修正後に再コンパイルを忘れているか、
別のクラスを実行しているのでしょう。
あなたの理解で正しいです。"A" が2回表示されるはずですよ。
されないとしたらあなたが入力したコードに間違いがあるか、
コード修正後に再コンパイルを忘れているか、
別のクラスを実行しているのでしょう。
179デフォルトの名無しさん
2019/10/14(月) 23:38:28.83ID:8P/N9iXF180デフォルトの名無しさん
2019/10/17(木) 13:03:46.73ID:/8o3fN68 実行可能jarファイルをWindowsのエクスプローラーからダブルクリックで起動すると
内部的にはjavawコマンドが実行されるためコンソールに何も表示されないとの事ですが
もし実行可能jarファイルでSystem.out.println()を使用してコンソールになにか表示させたい場合、何か方法はありますか?
できればbatファイルなどは使用せずjarファイル単体でダブルクリックから起動できるようにしたいです
内部的にはjavawコマンドが実行されるためコンソールに何も表示されないとの事ですが
もし実行可能jarファイルでSystem.out.println()を使用してコンソールになにか表示させたい場合、何か方法はありますか?
できればbatファイルなどは使用せずjarファイル単体でダブルクリックから起動できるようにしたいです
181デフォルトの名無しさん
2019/10/17(木) 13:59:30.14ID:msbWP/Fe swing とかじゃダメなの?
182デフォルトの名無しさん
2019/10/17(木) 14:57:24.16ID:LD/T244T exewrap使えば?
183デフォルトの名無しさん
2019/10/20(日) 11:25:18.43ID:O9tNcv03 もすもす、JPanelで線を引くんだが、ボタンやスクロールバーなどの上に線を引けるように出来ませんか?
184デフォルトの名無しさん
2019/11/15(金) 05:47:24.59ID:Y3ZHF9D8 質問です
メインメソッドからAクラスをインスタンス化し、その中で更にBクラスをインスタンス化してます
メインメソッドで宣言、代入した変数をBクラス内で使いたいです
今はAクラスのコンストラクタの引数として渡して、更にBクラスのコンストラクタの引数として渡して使っていて、一応動きはするのですが凄くお粗末な気がします
何か他に良いやり方はないのでしょうか?
メインメソッドからAクラスをインスタンス化し、その中で更にBクラスをインスタンス化してます
メインメソッドで宣言、代入した変数をBクラス内で使いたいです
今はAクラスのコンストラクタの引数として渡して、更にBクラスのコンストラクタの引数として渡して使っていて、一応動きはするのですが凄くお粗末な気がします
何か他に良いやり方はないのでしょうか?
185デフォルトの名無しさん
2019/11/15(金) 09:30:38.23ID:MDhJ3LYt その変数が何なのかがもう少し具体的にわからないと回答が定まらないんじゃないだろうか
それでいいというケースもあるし、メインで宣言しているのがおかしいというケースもある
変数をコンテキストのようなクラスに集約すれば収まりがよくなるケースもあれば、staticやThreadLocalが向くケースもある
それでいいというケースもあるし、メインで宣言しているのがおかしいというケースもある
変数をコンテキストのようなクラスに集約すれば収まりがよくなるケースもあれば、staticやThreadLocalが向くケースもある
186デフォルトの名無しさん
2019/11/16(土) 08:06:20.38ID:0ftlRXKG >>185
ありがとうございます
GUIアプリケーションを作っていて、ボタンなどのオブジェクトを変数に入れてます
ボタンを押したときにAオブジェクトを精製して処理をするようにしているのですが、
処理の工程に応じて状態を変えたいので、ボタンやラベルをABクラスに持って行きたいという感じです
ありがとうございます
GUIアプリケーションを作っていて、ボタンなどのオブジェクトを変数に入れてます
ボタンを押したときにAオブジェクトを精製して処理をするようにしているのですが、
処理の工程に応じて状態を変えたいので、ボタンやラベルをABクラスに持って行きたいという感じです
187デフォルトの名無しさん
2019/11/17(日) 14:25:54.63ID:F+mUJMV6 >>186
横からだけど&設計の話は深入りしたくないのだけど、
そー言う場合、AオブジェクトなどにはUI部品の参照を直接渡すのではなくて、
「状態が変化したよ」と通知する先を教える。
(インターフェイスを定義してその型のオブジェクト(メインのクラス自身のインスタンスでも可)を渡す、とか)
で、変更通知を受け取るオブジェクトが、
Aオブジェクトなどから変更通知を受けた際に必要であればUI部品の状態を変化させる、
ってのがおそらくは一般解。
横からだけど&設計の話は深入りしたくないのだけど、
そー言う場合、AオブジェクトなどにはUI部品の参照を直接渡すのではなくて、
「状態が変化したよ」と通知する先を教える。
(インターフェイスを定義してその型のオブジェクト(メインのクラス自身のインスタンスでも可)を渡す、とか)
で、変更通知を受け取るオブジェクトが、
Aオブジェクトなどから変更通知を受けた際に必要であればUI部品の状態を変化させる、
ってのがおそらくは一般解。
188デフォルトの名無しさん
2019/11/17(日) 14:28:23.94ID:F+mUJMV6 こういう設計が望ましい理由は色々あるんだけど(MVCとかPAC etc.でググるよろし)
GUIアプリケーションの好ましい設計パターンだという以外にも
- そもそも(Swingのイベントスレッド以外から)SwingのUI部品の状態などを変える際には
SwingUtilities.invokeLater(...)を使ったりする必要があるけれども、様々な場所で行うのは面倒
- ウィンドウを破棄した際などに、
そのウィンドウ上のUI部品の参照を保持したままのオブジェクトがあったりすると
UI部品のインスタンスがGCで回収されない
- 仮に Swing -> SWT などへの乗り換えとか(あるいはロジックをWebアプリに流用するとか)
する際に、あちこちに Swing への依存が散らばってると大変面倒
とかいう現実的な問題もありますよ。
GUIアプリケーションの好ましい設計パターンだという以外にも
- そもそも(Swingのイベントスレッド以外から)SwingのUI部品の状態などを変える際には
SwingUtilities.invokeLater(...)を使ったりする必要があるけれども、様々な場所で行うのは面倒
- ウィンドウを破棄した際などに、
そのウィンドウ上のUI部品の参照を保持したままのオブジェクトがあったりすると
UI部品のインスタンスがGCで回収されない
- 仮に Swing -> SWT などへの乗り換えとか(あるいはロジックをWebアプリに流用するとか)
する際に、あちこちに Swing への依存が散らばってると大変面倒
とかいう現実的な問題もありますよ。
189デフォルトの名無しさん
2019/11/27(水) 13:40:30.89ID:eKMjAvMi コンストラクタに関しての質問です!
クラスを作成する際にコンストラクタを用意すると、
デフォルトコンストラクタが自動的には用意されなく
なるようですが、
インスタンス生成時に発動するのは、コンストラクタか
デフォルトコンストラクタの片方のみである、
という解釈で問題無いでしょうか?
(両方が発動する事はあり得ない...?)
クラスを作成する際にコンストラクタを用意すると、
デフォルトコンストラクタが自動的には用意されなく
なるようですが、
インスタンス生成時に発動するのは、コンストラクタか
デフォルトコンストラクタの片方のみである、
という解釈で問題無いでしょうか?
(両方が発動する事はあり得ない...?)
190デフォルトの名無しさん
2019/11/27(水) 14:42:58.29ID:ymKEnJ4Y >>189
クラスにコンストラクタを明示的に定義しない場合に限り
コンパイラが自動的に生成する引数無しのコンストラクタをデフォルトコンストラクタと呼ぶ
コンストラクタを明示的に定義した場合にはデフォルトコンストラクタは生成されれない
インスタンス生成時はコンストラクタを指定する (発動はしない)
指定されたコンストラクタが別のコンストラクタを呼び出してれば
複数のコンストラクタが呼び出されることはある
もし、明示的に定義した引数無しコンストラクタも含めてデフォルトコンストラクタと呼んでいるなら
一つのインスタンス生成時に引数有りのコンストラクタと引数無しのコンストラクタの両方が呼び出されることはある
クラスにコンストラクタを明示的に定義しない場合に限り
コンパイラが自動的に生成する引数無しのコンストラクタをデフォルトコンストラクタと呼ぶ
コンストラクタを明示的に定義した場合にはデフォルトコンストラクタは生成されれない
インスタンス生成時はコンストラクタを指定する (発動はしない)
指定されたコンストラクタが別のコンストラクタを呼び出してれば
複数のコンストラクタが呼び出されることはある
もし、明示的に定義した引数無しコンストラクタも含めてデフォルトコンストラクタと呼んでいるなら
一つのインスタンス生成時に引数有りのコンストラクタと引数無しのコンストラクタの両方が呼び出されることはある
191デフォルトの名無しさん
2019/11/27(水) 19:38:04.93ID:eKMjAvMi192ブロンズ女
2019/12/01(日) 07:25:23.15ID:31lHsrX5 独学の初心者です。よろしくお願いします
スッキリわかるjavaを読んだ後、ブロンズの黒本読んでいます
頭が悪いのでブロンズから頑張ります。
スッキリわかるjavaを読んだ後、ブロンズの黒本読んでいます
頭が悪いのでブロンズから頑張ります。
193デフォルトの名無しさん
2019/12/07(土) 16:45:03.75ID:Ls4Z5fPU 「○秒長押しされました」と表示されるサンプル
この記事を読んで参考にしたのですが
動画を長押しすると動画の内容と同じgif画像?を確認できる機能を実装する事は可能でしょうか?
この記事を読んで参考にしたのですが
動画を長押しすると動画の内容と同じgif画像?を確認できる機能を実装する事は可能でしょうか?
194デフォルトの名無しさん
2019/12/07(土) 16:47:36.92ID:Ls4Z5fPU すみません動画じゃなく画像です
195デフォルトの名無しさん
2019/12/07(土) 18:11:14.71ID:mWZs4nzy キャプチャするタイミングが難しい機能に需要があるのか?
196デフォルトの名無しさん
2019/12/07(土) 19:33:12.07ID:IgndtoHY >>195
いえ具体的に言うとgifサイトを作ろうと思っています
いえ具体的に言うとgifサイトを作ろうと思っています
197デフォルトの名無しさん
2019/12/07(土) 22:07:56.91ID:f6AT/JyU JavaScriptの話ならWeb製作板の関連スレへどうぞ、らしいですよ。
あと「この記事」と書くならURLぐらいは貼ったほうが良いかと思います。
あと「この記事」と書くならURLぐらいは貼ったほうが良いかと思います。
198デフォルトの名無しさん
2019/12/07(土) 22:13:53.91ID:IgndtoHY199デフォルトの名無しさん
2019/12/07(土) 22:47:33.94ID:/3OJwFPr JavaScript(JS), Java は異なる言語です!
まず、どちらの言語か確かめろ!
Javaなら、このスレで良いし、
JSなら、この板ではなく、Web製作板の方へ書き込む!
まず、どちらの言語か確かめろ!
Javaなら、このスレで良いし、
JSなら、この板ではなく、Web製作板の方へ書き込む!
200デフォルトの名無しさん
2019/12/08(日) 18:00:47.44ID:I897a0vD JavaとJavaScriptは両方勉強するように
201デフォルトの名無しさん
2019/12/08(日) 18:12:01.45ID:7oRGKglS Java→Python→HTML→Javascript
この順番であってる?
この順番であってる?
202デフォルトの名無しさん
2019/12/08(日) 21:27:19.53ID:L49zIdxx しらん
203デフォルトの名無しさん
2019/12/08(日) 23:03:55.69ID:NjrEGBDe >>201
何がやりたいの?
何がやりたいの?
204デフォルトの名無しさん
2019/12/09(月) 03:30:42.65ID:PdZy7TF4 正しい順番は
VBScript→ActionScript→Delphi→XSL-FOだよ
VBScript→ActionScript→Delphi→XSL-FOだよ
205デフォルトの名無しさん
2019/12/09(月) 06:51:47.98ID:LWYACK6h >>203
起業したい
起業したい
206デフォルトの名無しさん
2019/12/09(月) 12:24:39.38ID:CtHj4jqx どうぞ。遠慮なく。
207デフォルトの名無しさん
2019/12/09(月) 17:04:33.97ID:+FpDkG8n 正しい順番は、この順番で読むこと!
スッキリわかる Java入門 第2版、2014
たのしいRuby 第6版、2019/3/19
起業に適する言語は、Ruby 一択!
成功したベンチャー・自社サービス系は、ほとんど、Rails, Sinatra。
GitHub, Twitter, Airbnb, Cookpad, カカクコム, GMOペパボ など
ハーバード大学にも、Rails の講座がある
サーバー側開発では、Ruby → Go
他には、JavaScript, Kotlin, Julia, Elixir
スッキリわかる Java入門 第2版、2014
たのしいRuby 第6版、2019/3/19
起業に適する言語は、Ruby 一択!
成功したベンチャー・自社サービス系は、ほとんど、Rails, Sinatra。
GitHub, Twitter, Airbnb, Cookpad, カカクコム, GMOペパボ など
ハーバード大学にも、Rails の講座がある
サーバー側開発では、Ruby → Go
他には、JavaScript, Kotlin, Julia, Elixir
208デフォルトの名無しさん
2019/12/09(月) 17:28:30.64ID:7ipbecmp スッキリ厨w退散汁w
209デフォルトの名無しさん
2019/12/09(月) 20:40:53.74ID:OFTzs0Zl Javaスキルで独立(フリーランス)は厳しいな
PHPかRubyがいいよ
Javaはサラリーマン用の言語やね
PHPかRubyがいいよ
Javaはサラリーマン用の言語やね
211207
2019/12/10(火) 09:21:20.62ID:H4kARQqE Rubyのフリーランス求人・案件情報
https://arma-search.jp/article/ruby-freelance
YouTube のKENTA の動画でもやってる。
web 系では、Python の10倍ぐらいある
Sinatra を使っている企業は、
アップル、BBC、イギリス政府、LinkedIn、Heroku、GitHub、Songbird、スタンフォード大学、レッドハットなど
Herokuは、Sinatraの開発を支援している
上からの順で、年収。
550〜600万円
Python, Kotlin, Ruby, Java
500〜550万円
C, JavaScript, PHP
https://arma-search.jp/article/ruby-freelance
YouTube のKENTA の動画でもやってる。
web 系では、Python の10倍ぐらいある
Sinatra を使っている企業は、
アップル、BBC、イギリス政府、LinkedIn、Heroku、GitHub、Songbird、スタンフォード大学、レッドハットなど
Herokuは、Sinatraの開発を支援している
上からの順で、年収。
550〜600万円
Python, Kotlin, Ruby, Java
500〜550万円
C, JavaScript, PHP
212デフォルトの名無しさん
2019/12/10(火) 09:46:10.87ID:rfn5dPqX Kotlin もよろしく
213デフォルトの名無しさん
2019/12/12(木) 00:45:44.09ID:q3SJEpa/ まだProgateでJAVA勉強始めたばかりなんだけど、ちょっと違和感があって質問。
メインメソッドで変数のデータ型をきっちり指定してるのに、その後に続くメソッド定義で再度データ型指定するのって必要なの?
「int age」ってさっき指定したじゃん!
「public static void printData(int age〜」って書く度に二度もデータ型書かせんなよ!って思うんだけど。
それともあとあとデータ型を変更するようなことがあんの?
メインメソッドで変数のデータ型をきっちり指定してるのに、その後に続くメソッド定義で再度データ型指定するのって必要なの?
「int age」ってさっき指定したじゃん!
「public static void printData(int age〜」って書く度に二度もデータ型書かせんなよ!って思うんだけど。
それともあとあとデータ型を変更するようなことがあんの?
214デフォルトの名無しさん
2019/12/12(木) 01:10:19.19ID:n05Ewb3K >>213
public static void main (String[] args) {
int age = 20;
printAge(age);
}
public static void printAge(int age) {
System.out.println(age);
}
↑こういうこと言ってるんだよね?
メソッド定義にあるint ageと、mainメソッドにあるint ageは別物でたまたま名前が同じだけ
違う名前の変数でもint型ならprintAgeメソッドに渡せる
public static void main (String[] args) {
int age1 = 20;
int age2 = 22;
printAge(age1);
printAge(age2);
}
public static void main (String[] args) {
int age = 20;
printAge(age);
}
public static void printAge(int age) {
System.out.println(age);
}
↑こういうこと言ってるんだよね?
メソッド定義にあるint ageと、mainメソッドにあるint ageは別物でたまたま名前が同じだけ
違う名前の変数でもint型ならprintAgeメソッドに渡せる
public static void main (String[] args) {
int age1 = 20;
int age2 = 22;
printAge(age1);
printAge(age2);
}
215デフォルトの名無しさん
2019/12/12(木) 01:21:16.21ID:n05Ewb3K public static void printAge(int age)
このメソッド定義はint型の変数を1つ受け取りますよ、
受け取ったその変数をこのメソッド内ではageという変数名で扱いますよ、
戻り値の型はvoid型(=なにも返さない)ですよ
ってなことを定義している
>二度もデータ型書かせんなよ!って思うんだけど。
こういう疑問を持つのは個人的にスジが良いと思うのでどんどん聞くといいかも
このメソッド定義はint型の変数を1つ受け取りますよ、
受け取ったその変数をこのメソッド内ではageという変数名で扱いますよ、
戻り値の型はvoid型(=なにも返さない)ですよ
ってなことを定義している
>二度もデータ型書かせんなよ!って思うんだけど。
こういう疑問を持つのは個人的にスジが良いと思うのでどんどん聞くといいかも
216デフォルトの名無しさん
2019/12/12(木) 01:51:48.26ID:q3SJEpa/ >>214
レスありがとうございます
ああなるほど、つまりprintAgeメソッドではメインメソッドのint ageに関連した何かを行うから、
このprintAge内でもとりあえずageという変数名で扱うことにして、見やすくしておこうというわけ・・・なんですよね?
ずっと、なんで変数名だけで理解してくれないんだろう、そういう言語なのかなあと思ってました
レスありがとうございます
ああなるほど、つまりprintAgeメソッドではメインメソッドのint ageに関連した何かを行うから、
このprintAge内でもとりあえずageという変数名で扱うことにして、見やすくしておこうというわけ・・・なんですよね?
ずっと、なんで変数名だけで理解してくれないんだろう、そういう言語なのかなあと思ってました
217デフォルトの名無しさん
2019/12/12(木) 02:38:13.67ID:n05Ewb3K >>216
mainの中の変数名も、printAgeの引数名も意味のわかりやすい名前にして見やすく(あとで理解しやすく)しておこうというのはその通り
下のようなコードからprint部分をprintAgeメソッドとして抽出する場合は
もとが同じ名前なので渡す変数名とメソッド定義の引数名が同じになることが多いけど
必ずしもそうなるわけじゃない
public static void main (String[] args) {
int age = 20;
System.out.println(age);
}
mainの中の変数名も、printAgeの引数名も意味のわかりやすい名前にして見やすく(あとで理解しやすく)しておこうというのはその通り
下のようなコードからprint部分をprintAgeメソッドとして抽出する場合は
もとが同じ名前なので渡す変数名とメソッド定義の引数名が同じになることが多いけど
必ずしもそうなるわけじゃない
public static void main (String[] args) {
int age = 20;
System.out.println(age);
}
218デフォルトの名無しさん
2019/12/12(木) 02:55:02.44ID:6AtmeJ1B メソッドの中に書いてあるint ageやString[] argsは引数と言って、厳密には変数とは異なる概念
引数と変数は同じ名前であっても必ず別のモノになる
今回はint型のageという変数の値を、int型のageという引数の値として、いわば代入しているような感じ
引数と変数は同じ名前であっても必ず別のモノになる
今回はint型のageという変数の値を、int型のageという引数の値として、いわば代入しているような感じ
219デフォルトの名無しさん
2019/12/12(木) 02:55:40.03ID:6AtmeJ1B 変数にはスコープという有効範囲があって、たとえばメソッド内でint xのように宣言した場合、その変数のスコープはそれを宣言したメソッドの中に限られる
隣のメソッドでいきなりxを参照しようとしてもエラーになる
改めてint xのような引数なり変数なりの宣言が必要だし、String xとしても良い
隣のメソッドでいきなりxを参照しようとしてもエラーになる
改めてint xのような引数なり変数なりの宣言が必要だし、String xとしても良い
220デフォルトの名無しさん
2019/12/12(木) 02:56:27.44ID:6AtmeJ1B この狭いスコープの何が便利かというと、10万行くらいあるプログラムのどこかでageをint型で宣言されているとき、ある日誰かが他のメソッドでageをPerson型として宣言しても問題ないことにある
221デフォルトの名無しさん
2019/12/12(木) 02:58:24.67ID:6AtmeJ1B222デフォルトの名無しさん
2019/12/12(木) 03:02:10.76ID:q3SJEpa/223デフォルトの名無しさん
2019/12/14(土) 19:24:04.56ID:3zIjLAlr 初心者です。よろしくお願いします
ブロンズの黒本で勉強中です
public abstract class B implements A {
// any code
}
これは
「抽象クラスとしてBをもち、BはAを継承している」
という意味で宜しいのでしょうか。
ブロンズの黒本で勉強中です
public abstract class B implements A {
// any code
}
これは
「抽象クラスとしてBをもち、BはAを継承している」
という意味で宜しいのでしょうか。
224デフォルトの名無しさん
2019/12/14(土) 19:38:38.25ID:1W9B8xqK アムロ「アソコにドップの変態が!」
225デフォルトの名無しさん
2019/12/14(土) 19:42:54.47ID:1W9B8xqK >>223
「このプログラムは〜」のような問題文の文言が省略されているのだろうが、選択肢だけを見ると何を言っているのかわからない日本語。
「このプログラムは〜」のような問題文の文言が省略されているのだろうが、選択肢だけを見ると何を言っているのかわからない日本語。
226デフォルトの名無しさん
2019/12/14(土) 21:00:33.40ID:SgtXLdNQ もち?
227デフォルトの名無しさん
2019/12/14(土) 21:25:20.00ID:3zIjLAlr >>225
返信ありがとうございます。ブロンズの黒本の問題です。
左側の数字(1.2.3.)は行数です。誤字脱字あるかもしれません。宜しくお願いします
問、次のようなインタフェースやクラスがあるとき、is-a関係を正しく表しているものを選びなさい、2つ選択
1. public interface A{
2. // any cdoe
3. }
1. public abstract class B imolements A {
2. // any code
3. }
1. public class C extends B {
2. // any code
3. }
1. public class D implements A {
2. // any code
3 .}
A. A is-a B
B. C is-a A
C. B is-a A
D. D is-a B
E. B is-a D
F. B is-a C
返信ありがとうございます。ブロンズの黒本の問題です。
左側の数字(1.2.3.)は行数です。誤字脱字あるかもしれません。宜しくお願いします
問、次のようなインタフェースやクラスがあるとき、is-a関係を正しく表しているものを選びなさい、2つ選択
1. public interface A{
2. // any cdoe
3. }
1. public abstract class B imolements A {
2. // any code
3. }
1. public class C extends B {
2. // any code
3. }
1. public class D implements A {
2. // any code
3 .}
A. A is-a B
B. C is-a A
C. B is-a A
D. D is-a B
E. B is-a D
F. B is-a C
228デフォルトの名無しさん
2019/12/14(土) 21:27:57.68ID:3zIjLAlr >>225
public abstract class B implements A {
// any code
}
↑ここは
「抽象クラスとしてBをもち、BはAを継承している」という意味で宜しいでしょうか
public abstract class B implements A {
// any code
}
↑ここは
「抽象クラスとしてBをもち、BはAを継承している」という意味で宜しいでしょうか
229デフォルトの名無しさん
2019/12/14(土) 21:39:00.99ID:Mmv8Rj84 もち、というのが変
もちだとするとBを持っているのは誰?
近くにhas-a関係の説明があって混乱してる?
Bがあり、とか、Bを定義し、とかならわかる
ほかはだいたい合ってる
正確にはAを継承しているのではなく実装している
もちだとするとBを持っているのは誰?
近くにhas-a関係の説明があって混乱してる?
Bがあり、とか、Bを定義し、とかならわかる
ほかはだいたい合ってる
正確にはAを継承しているのではなく実装している
230ブロンズ女
2019/12/14(土) 22:21:37.89ID:3zIjLAlr■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 「日本はドイツと違い反省せず」…中国外相、独外相に対日批判 台湾問題で理解求める [少考さん★]
- 【おこめ券】鈴木農相 米価維持の意図「一切ない」 [ぐれ★]
- 【警視庁】走行中の電車で女性に露出した下半身押しつけたか 無職の男(46)逮捕「チャンスがあればいつでもやる」 [nita★]
- バリ島で男子生徒ら集団万引きか、防犯カメラ映像が拡散 京都の大谷中学・高校が「窃盗行為」謝罪★6 [七波羅探題★]
- 【苺ましまろ】立民衆院議員、人気漫画の水着少女画像を「醜悪」タイ人少女の性搾取事件と関連付け…党内で反発 [少考さん★]
- 「残業キャンセル界隈」若者が増加?「職務放棄」との批判も…“定時退社の権利”どこまで通用するか [七波羅探題★]
- 高市政権「かけてもつながらない。機能していない」防衛当局間のホットライン機能せず [834922174]
- あたしゃやだよ
- 【高市悲報】中国軍「公海で空母の発着訓練するって事前通告したのになんで自衛隊機は急接近してきたんだ…?」中国軍困惑 [931948549]
- 【高市悲報】中国軍「公海で空母の発着訓練するって事前通告したのになんで自衛隊機は急接近してきたんだ…?」中国軍困惑★2 [931948549]
- 30過ぎた大人おじさんが大学生(昔)のままのファッションをする「おじさんキッズコーデ」、炎上して問題視される。 [153490809]
- 【朗報】ケンモジサンが買うふりかけ、二択に絞られる [394133584]
