Java入門・初心者質問スレ Part.9

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2019/03/09(土) 23:59:15.92ID:ACok0wnJ
Java初心者のためのスレッドです。

※前スレ
Java入門・初心者質問スレ Part.8
http://mevius.5ch.net/test/read.cgi/tech/1528370228/
2019/07/19(金) 10:19:27.05ID:6kfIPGJy
最初に再起動したけど何も変わりませんでした
106デフォルトの名無しさん
垢版 |
2019/07/20(土) 20:31:07.12ID:7rlJsNxm
以下ソースコードについてです。
要件としてはキーボード入力したデータの判定チェックをしたいです。
1.0点〜100点以外の入力はエラー ← ok
2.数字以外の場合はエラー ← ok
3.空白の場合はエラー ← これが以下ソースでは実装できず困ってます・・


try{
Integer inParam2 = Integer.valueOf(bufReader.readLine());
//0点以下、100点以上はエラーMSGを返す
if(inParam2 < 0 || inParam2 > 100 ){
System.out.println("0点〜100点の間で入力してください");
System.exit(1);
}else if (inParam2 == null){
System.out.println("点数は必須項目です。");
System.exit(1);
}else{
recordMap.put("国語",inParam2);
}
//数字以外をチェック
} catch (NumberFormatException e) {
System.out.println("数字を入れてください");
System.exit(1);
107デフォルトの名無しさん
垢版 |
2019/07/20(土) 21:31:21.73ID:OIy5RkDH
>>106
bufReader.readLine()のnullチェックを行えばいいよ
↓こんな感じ

String line = bufReader.readLine();

if (line == null) {
 // error
}

try{
 Integer inParam2 = Integer.valueOf(line);
 ・・・
108デフォルトの名無しさん
垢版 |
2019/07/21(日) 06:54:22.60ID:F3an1Rtm
>>106
え?例外にならない?
109デフォルトの名無しさん
垢版 |
2019/07/21(日) 07:49:53.60ID:vV2C3FTZ
null判定ブロック内のコードがデッドコードだって警告が出るんだけど、なんで?
2019/07/21(日) 10:13:28.63ID:MMp20sw3
>>109
プログラム見せて
111デフォルトの名無しさん
垢版 |
2019/07/21(日) 10:15:11.97ID:vV2C3FTZ
>>110
ああ、ごめんなさい。>>106さんのコードのことです。
112デフォルトの名無しさん
垢版 |
2019/07/21(日) 12:33:32.30ID:sWVeowg3
>>109
if(inParam2 < 0 || inParam2 > 100 ){

この条件はinParam2がnullでないことを前提としていて
inParam2がnullだったら例外が投げられるっしょ

}else if (inParam2 == null){

なのでこの条件にはたどり着かないんよ

if (inParam2 == null) {
} else if (inParam2 < 0 || inParam2 > 100 ) {
}

にすれば警告はでなくなるけど
Integer.valueOf(bufReader.readLine());
はnullを返すことはないんでinParam2 == nullは常にfalseになる

Integer.valueOfにnullを渡すとNumberFormatExceptionが投げられる

空白の場合は"点数は必須項目です。"と出力したいけれども
"数字を入れてください"と出力されてしまうのじゃないかな
113デフォルトの名無しさん
垢版 |
2019/07/21(日) 13:11:47.42ID:vV2C3FTZ
>>112
なるほどそういうことですか。分かりました。ありがとうございました。
114デフォルトの名無しさん
垢版 |
2019/07/21(日) 14:55:10.87ID:wDsV+h30
Scanner使えや。
115デフォルトの名無しさん
垢版 |
2019/07/23(火) 20:34:05.13ID:AvTpbtr4
https://pastebin.com/dEtCHVpv
MouseMotionListenerのgetMousePositionで、なぜnullがかえるのでしょうか?
116デフォルトの名無しさん
垢版 |
2019/07/23(火) 21:38:52.68ID:wzqbz6Qy
>>115
https://docs.oracle.com/javase/jp/6/api/java/awt/Component.html#getMousePosition()

Component がマウスポインタの直下にある場合、この Component の座標空間のマウスポインタの位置を返します。
そうでない場合は null を返します。

Component が画面に表示されていない場合は、Component が表示されている領域の上にマウスポインタがある場合でも、
このメソッドは null を返します。
117デフォルトの名無しさん
垢版 |
2019/07/24(水) 20:19:46.69ID:B4KdNqcy
>>116
ありがとうございました。
118デフォルトの名無しさん
垢版 |
2019/07/26(金) 18:40:59.98ID:04rT+FBz
File.lengthはint型で返すけど、もしintの範囲を超えるサイズのファイルが出たら例外吐いて終了するの?
119デフォルトの名無しさん
垢版 |
2019/07/26(金) 18:49:57.98ID:04rT+FBz
>>118
ごめん間違えた FileじゃなくてByteArrayOutputStreamだった
120デフォルトの名無しさん
垢版 |
2019/07/26(金) 20:25:37.66ID:nGdMwDcM
>>119
最大値はInteger.MAX_VALUE - 8
これを超えたらOutOfMemoryErrorがスローされるよ
121デフォルトの名無しさん
垢版 |
2019/07/26(金) 21:07:04.01ID:qsGDM8xF
今のjavaのINTEGERは64bitですか?
2019/07/26(金) 21:51:49.36ID:a4OzJI2P
32bit
123デフォルトの名無しさん
垢版 |
2019/07/26(金) 22:47:33.51ID:04rT+FBz
>>120
ありがとう
124デフォルトの名無しさん
垢版 |
2019/07/27(土) 23:50:15.80ID:AqzO7oC2
てか、配列の添字の限界って型に関係なくintの最大値だよね。
ByteArrayOutputStreamは中で本当にbyteの配列使ってるので配列の添字の最大を超えられない。
工夫すれば超えるのは作れるがそうなると今度は一つの配列として返す部分の変更が必要になる。

どうしても巨大配列が欲しい場合はしょうがないからlongの配列に自分で詰め込んでbyteの8倍の容量にするか、または配列の配列またはList作って自分で連結させるかになるかな。
2019/07/28(日) 15:01:48.98ID:WsOTjAcD
ソケット通信したいんだけどネットで調べてもsocketserverとかで普通にポート番号指定しているんだけど、ポートが他のアプリケーションとかで使われてないか調べたり空いてるポートを調べたりする処理は必要無いの?
通信関係疎くてわからない
2019/07/28(日) 17:45:18.42ID:GPK25ks7
>>125
確かにポート番号は、サーバ・クライアント間で共通のものをソフトであらかじめ決めておく、というのが普通ですね
ポート番号をころころ変えるソフトは見たことがありません

というかポート番号がサーバ・クライアント間であっているかどうかを調べる、というのはどうすればいいかな?合言葉を交換するとかかな?
2019/07/28(日) 18:19:43.68ID:WsOTjAcD
>>126
あーそうか
サーバーでポートを動的にしたらクライアント側がそのポート番号知りようがないか
すいませんでした
2019/07/28(日) 18:41:06.88ID:zX6zk1/V
FTPが制御用コネクションとデータ転送用コネクションを用いているように複数のコネクションを張るタイプのプロトコルであれば、
最初に確立するコネクション以外は動的に確保されたポートで通信するケースはあるよ

何れにせよ、
特定のポートが他のプロセスで利用されていないかを確認しても、
その後そのポートを開く前に他のプロセスがそのポートを開いてしまう可能性があるので(race condition)
どの道、ServerSocketを開こうとした際に失敗することを考慮しないといけない
2019/07/28(日) 19:09:49.47ID:WsOTjAcD
>>128
なるほど複数接続するやつならそうしないとダメですよね
受付みたいな
ありがとうございました
130デフォルトの名無しさん
垢版 |
2019/08/01(木) 12:03:25.91ID:aVYnxNEs
java.beans.XMLEncoder で getter/setter のあるオブジェクトを書くとちゃんとXMLファイルができて中にデータが入っているのですが、その XML ファイルを XMLDecoder の readOblect() で読もうとすると java.lang.ClassNotFoundException が出てしまい読めません。
classpath でクラスのあるディレクトリを指定したり直前で Class.forName() でクラスを読んでいても同じです。
これはどうやったら正常に読めるようになるのでしょうか?
2019/08/01(木) 18:29:09.43ID:iHxbPEOX
>>130
XMLDecoderに渡してるInputStreamが正しいか確認したほうが良い気がする
ちょっと試してみたけど、普通に読めるよ
132デフォルトの名無しさん
垢版 |
2019/08/01(木) 20:29:11.30ID:aVYnxNEs
>>131
普通にファイルから読もうとしているだけなので問題ないと思うんだけど。うーん。

ところでそのうまく行ったプログラムは読み書きが別々に動くように書いてあって別々に起動して書くだけ、または読むだけが動くようになってますか?
それとも書いて読むという順序になっている一つのプログラムですか?

というのは、色々検索して探していたらクラスローダの問題と書いてあるページを見つけたからです。
(かといってどうすれば良いかまだよくわからない)。
2019/08/01(木) 21:25:46.03ID:iHxbPEOX
>>132
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メインにすれば、
ライセンス料かからないんですか?
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
137デフォルトの名無しさん
垢版 |
2019/08/14(水) 22:23:14.84ID:k4UWt8la
いい!
2019/08/15(木) 00:06:19.61ID:wbNX/uYv
>>136
半年毎のアップデート面倒だろ
139デフォルトの名無しさん
垢版 |
2019/08/24(土) 05:21:30.59ID:9pxya9Ba
この資格とったら時給いくら?
セミリタイアして、派遣で働きたい週3ほど。
希望時給は2500円以上です。
140デフォルトの名無しさん
垢版 |
2019/08/24(土) 20:06:03.58ID:5HTqte9i
Oracle Master Platinumくらいないとな
2019/08/24(土) 23:32:22.46ID:v6W8/Gxl
で、結局いくらなの?
個人で趣味程度に開発してアップしてるんだけど
不安になって小鳥に切り替え中
2019/08/29(木) 21:11:06.28ID:aj2mK3E5
スッキリわかるJava入門の第2版って本はまだ有効?
2019/08/30(金) 02:47:21.38ID:JjDABWUq
有効だけど実践編と Servlet までやらないと意味ないよ
Java で何をしたいのかにもよるけど
javadrive のサイトではいけないの?
2019/08/30(金) 03:03:59.15ID:cFfAoNHG
Servlet以外にJavaの意味有るか?
2019/08/30(金) 05:39:27.15ID:lIbkhvzM
>>143,144
ありがとうjavadriveのサイトで頑張ってみる
2019/08/30(金) 15:19:14.06ID:JjDABWUq
近頃は spring までできて一人前らしいが
2019/08/31(土) 02:56:23.70ID:2HqpObEY
OpenJDKなんて不要
AdoptOpenJDKで十分
148デフォルトの名無しさん
垢版 |
2019/08/31(土) 08:00:48.30ID:cAVHGBLQ
おまえだれや
2019/08/31(土) 12:41:17.30ID:VU1TvKMl
結局 spring のメリットは何なの?
コードが複雑になるだけのような気がする
150デフォルトの名無しさん
垢版 |
2019/08/31(土) 13:07:29.21ID:E5RG3LAO
Kotlin もよろしく
2019/08/31(土) 14:25:57.35ID:tr0ocvmw
そこはよろりんで
152デフォルトの名無しさん
垢版 |
2019/08/31(土) 14:26:16.17ID:cytRkna2
>>149
フレームワークであるところ、かな
他にこの規模・機能のものがない
2019/09/07(土) 17:16:04.72ID:x28E9rEB
2次元配列で
int[][] array = new int[8][10];
これで
array[1][10]
array[2][30]
array[3][15]
のように二つ目の要素のサイズをバラバラにしたいのですが
こういうことってできますか?どう記述すればよいのでしょう?
2019/09/07(土) 17:39:16.13ID:x28E9rEB
自己解決しました
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];
2019/09/07(土) 17:43:51.55ID:x28E9rEB
どうもです
157デフォルトの名無しさん
垢版 |
2019/09/22(日) 17:47:53.42ID:XzkjllAa
>>149
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()を修正するとしたらどのようにしたら良いでしょうか?
2019/09/23(月) 19:05:58.27ID:NZsx3e2R
qr.x - w → qr.x
qr.y - h → qr.y
じゃね?
160デフォルトの名無しさん
垢版 |
2019/09/23(月) 20:36:04.88ID:moFSllv1
>>159
ありがとうございます。
まだQuadTreeのinsert()が分割すべき四角を分割しなかったりしているので、
どこが間違っているのか考えてみます。
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でしめないとダメという文法上の決まりですか?
それとも論理的な誤りがあるのでしょうか?

今一プログラミングの仕組みがわかってません、、、
2019/09/30(月) 19:32:18.74ID:JiaaNZda
すいません
符号が逆でした

else ifのところはi<10、i>20
2019/09/30(月) 19:34:28.78ID:jed1FLcT
コードをそのまま書いてみて
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となってしまいます
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で処理されているので)存在しないのですが、
コンパイラはそこまでは見てくれない、ってことです。
2019/09/30(月) 20:20:08.09ID:s1CTVBg3
訂正
「コンパイラはそこまでは見てくれない」はあまり正しくないですね。
言語仕様として、
ifステートメントのブロック内でそのブロックが選択された際の条件が考慮されたりしない
と言ったほうが良いでしょう。
167デフォルトの名無しさん
垢版 |
2019/09/30(月) 21:02:33.67ID:eT2YwU2a
俺だったらわざわざ2個目のif書かずにelse使っちゃうな。もし仮にコンパイルエラーにならなかったとしても無駄だし見辛いしバグの温床になりそうだから。
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になる可能性がないことが確認されるために起きるエラーという理解でいいでしょうか?

てっきり外側に書かれている処理が常に先に実行されるものだとばかり思っていましたが、そういうわけではないということでしょうか…
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 がない
}
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 がない
}
2019/09/30(月) 23:23:06.84ID:s1CTVBg3
ですので、最初の>>164の後者のString test(int i)の実装でも
メソッドの閉じカッコの手前に
return "";
の一行があればコンパイルは通ります。
オススメはしませんが。
2019/10/01(火) 00:15:55.07ID:LqGEIZr5
>>169-171
なるほど、理解できました!多分だけど・・・
とても勉強になりました!
ありがとうございました
173デフォルトの名無しさん
垢版 |
2019/10/09(水) 00:40:52.63ID:pXAO71yV
safariでも閉じれるようなaタグ作るのに
onClick="window.open('about:blank','_self').close();"
じゃabout:blank開くだけなんですけど、なんでですか?
初心者質問で申し訳ありません。
2019/10/09(水) 02:19:15.94ID:jo1nm3zd
JavaとJavaScriptは一見似てるけど別の言語なので、このスレの対象外です
紛らわしいんじゃ、という苦情は当時のNetscape社へどうぞ
JavaScriptの質問は(この板の)他スレかWeb製作板、Webプログラミング板あたりへどうぞ
2019/10/09(水) 02:51:30.46ID:z4DviLBe
JavaScript(JS) は、web制作管理板のJavaScript のスレへ、書き込んでください!

この板の、JSのスレは、web制作管理板が荒らされたときに、
緊急避難用に立てたもので、今は使われていません
176デフォルトの名無しさん
垢版 |
2019/10/14(月) 15:19:38.66ID:GdF/YAu+
職業訓練校でjava勉強してる自分なんですが、すでにSESで内定もらってます。
でもスキル向上の事考えると自社開発に入りたいのでこのスレで情報共有お願いいます

職業訓練校プログラミング修了後(プログラマー掲示板)
http://itest.5ch.net/test/read.cgi/prog/1571032349/l50
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
2019/10/14(月) 23:17:04.66ID:wMZrtyOx
「これ実行」というのは GarbageCollectionTest を実行した時の話ですか?
あなたの理解で正しいです。"A" が2回表示されるはずですよ。
されないとしたらあなたが入力したコードに間違いがあるか、
コード修正後に再コンパイルを忘れているか、
別のクラスを実行しているのでしょう。
2019/10/14(月) 23:38:28.83ID:8P/N9iXF
>>178
ほんとですか!
ありがとうございます!
後で見直してみます…!
認識間違ってなくて良かったです
2019/10/17(木) 13:03:46.73ID:/8o3fN68
実行可能jarファイルをWindowsのエクスプローラーからダブルクリックで起動すると
内部的にはjavawコマンドが実行されるためコンソールに何も表示されないとの事ですが
もし実行可能jarファイルでSystem.out.println()を使用してコンソールになにか表示させたい場合、何か方法はありますか?
できればbatファイルなどは使用せずjarファイル単体でダブルクリックから起動できるようにしたいです
2019/10/17(木) 13:59:30.14ID:msbWP/Fe
swing とかじゃダメなの?
2019/10/17(木) 14:57:24.16ID:LD/T244T
exewrap使えば?
2019/10/20(日) 11:25:18.43ID:O9tNcv03
もすもす、JPanelで線を引くんだが、ボタンやスクロールバーなどの上に線を引けるように出来ませんか?
2019/11/15(金) 05:47:24.59ID:Y3ZHF9D8
質問です
メインメソッドからAクラスをインスタンス化し、その中で更にBクラスをインスタンス化してます
メインメソッドで宣言、代入した変数をBクラス内で使いたいです
今はAクラスのコンストラクタの引数として渡して、更にBクラスのコンストラクタの引数として渡して使っていて、一応動きはするのですが凄くお粗末な気がします
何か他に良いやり方はないのでしょうか?
2019/11/15(金) 09:30:38.23ID:MDhJ3LYt
その変数が何なのかがもう少し具体的にわからないと回答が定まらないんじゃないだろうか
それでいいというケースもあるし、メインで宣言しているのがおかしいというケースもある
変数をコンテキストのようなクラスに集約すれば収まりがよくなるケースもあれば、staticやThreadLocalが向くケースもある
2019/11/16(土) 08:06:20.38ID:0ftlRXKG
>>185
ありがとうございます
GUIアプリケーションを作っていて、ボタンなどのオブジェクトを変数に入れてます
ボタンを押したときにAオブジェクトを精製して処理をするようにしているのですが、
処理の工程に応じて状態を変えたいので、ボタンやラベルをABクラスに持って行きたいという感じです
2019/11/17(日) 14:25:54.63ID:F+mUJMV6
>>186
横からだけど&設計の話は深入りしたくないのだけど、
そー言う場合、AオブジェクトなどにはUI部品の参照を直接渡すのではなくて、
「状態が変化したよ」と通知する先を教える。
(インターフェイスを定義してその型のオブジェクト(メインのクラス自身のインスタンスでも可)を渡す、とか)
で、変更通知を受け取るオブジェクトが、
Aオブジェクトなどから変更通知を受けた際に必要であればUI部品の状態を変化させる、
ってのがおそらくは一般解。
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 への依存が散らばってると大変面倒
とかいう現実的な問題もありますよ。
2019/11/27(水) 13:40:30.89ID:eKMjAvMi
コンストラクタに関しての質問です!

クラスを作成する際にコンストラクタを用意すると、
デフォルトコンストラクタが自動的には用意されなく
なるようですが、
インスタンス生成時に発動するのは、コンストラクタか
デフォルトコンストラクタの片方のみである、
という解釈で問題無いでしょうか?
(両方が発動する事はあり得ない...?)
2019/11/27(水) 14:42:58.29ID:ymKEnJ4Y
>>189
クラスにコンストラクタを明示的に定義しない場合に限り
コンパイラが自動的に生成する引数無しのコンストラクタをデフォルトコンストラクタと呼ぶ
コンストラクタを明示的に定義した場合にはデフォルトコンストラクタは生成されれない

インスタンス生成時はコンストラクタを指定する (発動はしない)
指定されたコンストラクタが別のコンストラクタを呼び出してれば
複数のコンストラクタが呼び出されることはある

もし、明示的に定義した引数無しコンストラクタも含めてデフォルトコンストラクタと呼んでいるなら
一つのインスタンス生成時に引数有りのコンストラクタと引数無しのコンストラクタの両方が呼び出されることはある
2019/11/27(水) 19:38:04.93ID:eKMjAvMi
>>190
了解です。
即レス感謝です、ありがとうございます!
2019/12/01(日) 07:25:23.15ID:31lHsrX5
独学の初心者です。よろしくお願いします
スッキリわかるjavaを読んだ後、ブロンズの黒本読んでいます
頭が悪いのでブロンズから頑張ります。
193デフォルトの名無しさん
垢版 |
2019/12/07(土) 16:45:03.75ID:Ls4Z5fPU
「○秒長押しされました」と表示されるサンプル
この記事を読んで参考にしたのですが
動画を長押しすると動画の内容と同じ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サイトを作ろうと思っています
2019/12/07(土) 22:07:56.91ID:f6AT/JyU
JavaScriptの話ならWeb製作板の関連スレへどうぞ、らしいですよ。
あと「この記事」と書くならURLぐらいは貼ったほうが良いかと思います。
198デフォルトの名無しさん
垢版 |
2019/12/07(土) 22:13:53.91ID:IgndtoHY
>>197
サイトを載せても良かったのですか?始めてきましたのですいません…
javaで聞いてみます
2019/12/07(土) 22:47:33.94ID:/3OJwFPr
JavaScript(JS), Java は異なる言語です!
まず、どちらの言語か確かめろ!

Javaなら、このスレで良いし、
JSなら、この板ではなく、Web製作板の方へ書き込む!
2019/12/08(日) 18:00:47.44ID:I897a0vD
JavaとJavaScriptは両方勉強するように
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
何がやりたいの?
2019/12/09(月) 03:30:42.65ID:PdZy7TF4
正しい順番は
VBScript→ActionScript→Delphi→XSL-FOだよ
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況