★★Java質問・相談スレッド181★★

1デフォルトの名無しさん2018/02/10(土) 17:49:40.56ID:l9ZzjyKP
プログラミング言語Javaに関する質問スレです。
JavaScript, Ajaxの質問は、ここでは受け付けていません。
Web製作管理    http://pc11.2ch.net/hp/
Webプログラミング http://pc11.2ch.net/php/
をご利用下さい。

よくある質問
・「コマンドまたはファイル名が違います」
 「'javac' は、内部コマンドまたは外部コマンド、
 操作可能なプログラムまたはバッチ ファイルとして認識されていません。」
 「Exception in thread "main" java.lang.NoClassDefFoundError: 」
 (p)ttp://www.wikiroom.com/java/?path,classpath
・「\12288 は不正な文字です。」
文字リテラル以外で全角スペースは使えません。半角スペースに。
・その他の質問→「APIのjavadoc見ろ」
・String に == は使うな。equals() を使え。※

質問時の心得
・コンパイルエラーか実行時エラーか、エラーではないが意図しない動作なのかはっきりしろ。あとエラーメッセージちゃんと読め。
・前提条件としてOS、開発環境、バージョン、使用フレームワーク等を明記。

前スレ
★★Java質問・相談スレッド180★★
https://mevius.5ch.net/test/read.cgi/tech/1492780397/

2デフォルトの名無しさん2018/02/11(日) 01:19:57.46ID:pgvJ3Hcm
Java SE 8 Date and Timeについて教えてください

String型の"平成元年1月8日"という値をLocalDate型に変換したいのですが
DateTimeFormatterを使って変換する方法を教えてください
お願いします

3デフォルトの名無しさん2018/02/11(日) 01:33:03.69ID:B0DbdRYG
そういやそれやってみたけどどうやっても「元年」がダメだったな。「1年」ならできたんだけどな。
何か方法はあると思うんだけど今のところわからない。

4デフォルトの名無しさん2018/02/11(日) 04:56:25.67ID:3iWAD1Pj
Javaのファイル型KVSめちゃくちゃ遅くないですか?
KyotoCabinetとかの1000分の1レベル・・・
たぶんstaticにインデックスを持ってないのかな
組み込み型かつファイル型で何かいいのありますか?

5デフォルトの名無しさん2018/02/11(日) 07:12:11.17ID:Dl6onReq
LocalDate.parse(text.replace("元年", "1年"), formatter);
オラクルに文句言うしかないね

6デフォルトの名無しさん2018/02/11(日) 07:19:28.55ID:fidWsgUl
>>4
javaのkvsが遅いってどういうことよ。
公式のライブラリなんてないでしょ。

7デフォルトの名無しさん2018/02/11(日) 08:23:10.55ID:3iWAD1Pj
javaのプログラムといったとき公式のプログラムだけを指すわけではありません

8デフォルトの名無しさん2018/02/11(日) 10:15:34.56ID:fidWsgUl
つまり、4が勝手に選んだ3rdパーティのkvsが遅いと言いたいわけではなく、
javaによるkvs実装は一般的にインデックスがなくて遅いって言いたいの?

9デフォルトの名無しさん2018/02/11(日) 12:45:16.73ID:ELb3bzVx
javaってなんか有料になるんですか?

10デフォルトの名無しさん2018/02/11(日) 13:45:44.84ID:pgvJ3Hcm
>>3
>>5
ありがとうございます

11デフォルトの名無しさん2018/02/11(日) 23:30:55.85ID:uxIefof+
今Open javaというのを使っているのですがOracle javaというのを使った方がいいのでしょうか
ざっと調べてみたのですがどちらにすべきというのがいまいちわかりません

12デフォルトの名無しさん2018/02/12(月) 06:49:36.37ID:IgpM8r15
例外の使い方どうすればいいですか?
falseやnullを返していくか、例外を投げるか。
例えばDBへのトランザクションで複雑な内部処理の中だとして、
処理の失敗に応じてコミットするか選択しないといけない。
例外のベストプラクティスが知りたい

13デフォルトの名無しさん2018/02/12(月) 12:47:18.02ID:qekpeHDJ
それが判断できるところでcatchして、適切な処理をしてから再throwすればいいと思うよ

14デフォルトの名無しさん2018/02/12(月) 23:58:43.00ID:CWNu4mBa
パッケージ名の付け方について自身の持つドメインを逆からという風に聞いたのですが
個人開発等でドメインを持っていない方々はどうされているのでしょうか?
ユニーク性から考えてメアドを利用するというのを思いついたのですが
何か作法はありますか?

15デフォルトの名無しさん2018/02/13(火) 01:17:29.42ID:ItXL3xp2
>>12
場合による.

16デフォルトの名無しさん2018/02/13(火) 01:23:39.93ID:uX7IZed7
>>14
何でも好きなの作ればいいじゃん。特に制限があるわけじゃないし。
公開して多くの人に使わせることを目的としたライブラリなんかはそういう風に名前付けといた方が分かりやすいし他と衝突する事もないだろうからそうした方が良いだろうけどね。必ずしもそうしなけりゃいけないわけじゃない。

17デフォルトの名無しさん2018/02/13(火) 01:54:37.39ID:/bOHErQ9
そもそも例外ていちいちthrowする必要あります?
例外なんだから、コーディングされていない遷移じゃないですか?
NPEとかClassCastとかもチェックせずに、全部上で捕まえて処理してください、
じゃだめですか?

18デフォルトの名無しさん2018/02/13(火) 02:15:44.45ID:FRKwtYnc
>>17
それも場合によるかな
処理しなくていい例外とかもあるからねぇ

19デフォルトの名無しさん2018/02/13(火) 04:06:37.94ID:uX7IZed7
>>17
ま、なんというか、その辺はJavaでは今更どうにもならんのでKotlinとか使えば良いんじゃないかな。

20デフォルトの名無しさん2018/02/13(火) 08:59:03.90ID:/bOHErQ9
log4j2のxmlが反映されない・・・
LogManager.getLoggerした時点で狂ったようにログ吐くからなんとかしたいんだけど
これでtraceをinfoにしても止めれないんだけどなぜですか?
<Loggers>
<Root level="trace">
<AppenderRef ref="console" level="trace"/>
</Root>
</Loggers>

21デフォルトの名無しさん2018/02/13(火) 09:31:34.49ID:jLCpX7pa
場合による、便利な言葉ですねえ

22デフォルトの名無しさん2018/02/13(火) 12:05:27.36ID:AHnFnr3H
>>14
sofだと、ドメイン取ったほうがええよ。でもとれないならメアドか自分のプロジェクトレポジトリのurlを使いなよ、って回答に人気があるね。

23デフォルトの名無しさん2018/02/13(火) 12:27:53.31ID:IoOWXwkE
例外は、基本的に戻り値ではなく、try-catch で囲む。
戻り値で返すとわかりにくいから、例外構文ができた

あとは君が考える

入力値エラー、0 除算、ファイルが存在しない、
メモリが足りない、型変換エラーの場合に、君はどうする?

24デフォルトの名無しさん2018/02/13(火) 13:55:34.17ID:O++cRC/Q
>>11
11以降はオラクル版の提供やめるみたいよ。

25デフォルトの名無しさん2018/02/13(火) 20:12:23.22ID:bGWlvAgR
>>16
>>22
ありがとうございます
参考にします

26デフォルトの名無しさん2018/02/14(水) 08:19:05.85ID:IbDcUCKa
Booleanとbooleanとかオブジェクト型とプリミティブ型の使いわけどうすればいいですか?
性能的にシビアなところはプリミティブのほうがいいですか?

27デフォルトの名無しさん2018/02/14(水) 08:27:53.52ID:/di6HjOp
Listに入れるとかnullが必要なパターンじゃない限りbooleanでok

28デフォルトの名無しさん2018/02/14(水) 08:39:24.34ID:xRv25q5d
>>26
基本プリミティブ型だけ使う。ジェネリクスの型宣言するときだけラッパー型使えばいいよ。

29デフォルトの名無しさん2018/02/14(水) 10:32:08.01ID:xbUNXEcU
>>26
主に他の言語やら他のアーキテクチャと連携するときとかに使う
データ通信時にtrue/falseを文字列でやり取りしたりもすることもあるので使えるようになると便利

他のラッパークラスも一緒

30デフォルトの名無しさん2018/02/16(金) 04:25:55.90ID:PIB5v9ZW
バッチ処理とJavaでする処理ってなにか違いがあるんでしょうか
よく「夜になったらバッチが動いてデータを処理してくれる」とかありますが「夜になったらJavaがデータを処理してくれる」とかでも良いように見えて違いがわからないです

31デフォルトの名無しさん2018/02/16(金) 06:51:31.03ID:UxRi07OK
>>30
「バッチ」は処理方式の話
「java」は言語の話

観点が違う

32デフォルトの名無しさん2018/02/16(金) 10:23:33.09ID:OW1usLwi
夜になるとバッチ処理でJavaのプログラムが起動して、なんてこともありうる。

33デフォルトの名無しさん2018/02/16(金) 10:43:37.31ID:OVf/pPmf
バッチこい

34デフォルトの名無しさん2018/02/21(水) 18:43:46.25ID:Ho2ISOMi
Java終わりかな

35デフォルトの名無しさん2018/02/21(水) 19:34:28.74ID:2C7myRiq
普通に考えて中々終わらんだろう。
Androidも健在だしな。Kotlin使うとしても新規プログラムからばかりでこれまでにJavaで作ったやつを変換してまで乗り換えるようなのはあまりないと思うよ。

36デフォルトの名無しさん2018/02/21(水) 21:00:30.83ID:aRBSqY5R
「バッチ処理」で検索!

プログラムによる自動処理

37デフォルトの名無しさん2018/02/22(木) 17:39:01.87ID:XBqMjBt+
文字の連結、追加で
ab+=cd
と記述できますが
ab=ab+cd
この記述と違ってメモリ幅の変動がなく
連続して前者の追加加算をしてもそれほど速度低下にはならないもんなんでしょうか?
内部を知ってる方に伺いたいです

38デフォルトの名無しさん2018/02/22(木) 17:49:43.91ID:gz5vdKLC
どっちも同じバイトコードになるに決まってんだろアホ

39デフォルトの名無しさん2018/02/22(木) 17:59:09.72ID:XBqMjBt+
書いてあるようにメモリ幅と内部のやりくりについての質問です
全くの見当違いの人はレス不要です
わからない人でなくわかっている人に聞いています

40デフォルトの名無しさん2018/02/22(木) 18:24:41.64ID:Rqvcd5k2
両方書いてコンパイルしてバイトコード出して見比べてみたら?

41デフォルトの名無しさん2018/02/22(木) 20:36:01.87ID:i8z+ldk3
わからない人は答えないでください(上から目線)

42デフォルトの名無しさん2018/02/22(木) 21:30:20.55ID:gkrr6Csx
「それほど」がどの程度の速度低下まで許容されるのかをちゃんと定義してくれないと(すっとぼけ)

43デフォルトの名無しさん2018/02/22(木) 21:52:44.46ID:IYnEzTFC
「メモリ幅」ってなんのことだ?

44デフォルトの名無しさん2018/02/22(木) 23:26:05.38ID:YcYRar81
確保するメモリのサイズのことじゃなかろうかと知らんけど

45デフォルトの名無しさん2018/02/22(木) 23:26:40.80ID:YcYRar81
「メモリ幅」ってなんのことだ?

46デフォルトの名無しさん2018/02/22(木) 23:27:09.12ID:YcYRar81
同じバイトコードになるという答えが見当違いとは思えない

47デフォルトの名無しさん2018/02/22(木) 23:53:50.86ID:K6gwUVsb
メモリ幅なんて言う奴は、CPU・RAM を分かっていない

どの言語でも、そんなの保証していない

48デフォルトの名無しさん2018/02/22(木) 23:54:13.94ID:ylubyEbg
>>39
ほんこれ
わからないなら初心者版行けとしか

49デフォルトの名無しさん2018/02/23(金) 06:23:51.21ID:Brpvjprl
java 文字列連結 最適化
でググった方が早いよ。

50デフォルトの名無しさん2018/02/23(金) 08:13:48.99ID:oHNB0pIN
そもそも ab+=cd と ab=ab+cd の違いが問題になるほどのプログラム組んでるのかよ w
大量の文字列追加があるならStringBuilder使えや

51デフォルトの名無しさん2018/02/23(金) 09:42:52.51ID:HSy+CPfQ
「わからない人は答えないでください」は知恵遅れでよく見るけどそれが掲示板にも流れてきてるのか
そういうやつが「普通」になっているのか、どっちなんだろう?

52デフォルトの名無しさん2018/02/23(金) 11:27:53.19ID:mFZl6vMq
>>45
ほら、目盛りの幅。3cmとか。

53デフォルトの名無しさん2018/02/23(金) 11:54:49.01ID:zNsQyXzG
>>50
これ

54デフォルトの名無しさん2018/02/23(金) 18:05:40.89ID:tsgXcJ7V
質問スレ 「わからない人は答えないで下さい」

ま、まあそうだな…

55デフォルトの名無しさん2018/02/23(金) 19:26:11.88ID:Py5a3myD
String a = "わからない人は";
String b = "答えないでください。";

a += b;

56デフォルトの名無しさん2018/02/23(金) 19:37:01.17ID:Jw2VdbNh
ふう

57デフォルトの名無しさん2018/02/23(金) 22:52:04.40ID:IHdQ8A6l
>>55
ベストアンサー

58デフォルトの名無しさん2018/02/24(土) 06:52:39.70ID:Fw6wAD1s
>>37
周辺のコードとJavaコンパイラのバージョンによって変わったりするからそれだけの情報だと何とも
つまりは>>50の通り
>>38は間違ったこと言ってないからね

メモリ幅?:Stringが確保する領域のこと?
内部のやりくり?:GCのタイミングの話?
連続して〜?:ループ処理の内部を+=か+で変えるってこと?それなら38の通り

何を持って見当違いだと判断したのだ

59デフォルトの名無しさん2018/02/24(土) 07:22:33.34ID:BKLSO8lU
>37は人気者だね!

60デフォルトの名無しさん2018/02/24(土) 07:44:29.29ID:UzdWcVQE
わからないの群れを見越して質問者に先に釘をさされるようじゃここも終わりだな

61デフォルトの名無しさん2018/02/24(土) 08:10:48.12ID:8SGsAbML
質問内容があの走ってる電車のレール長は変わりますか?どのように変わりますか?
に対して38のこたえが レールの上を走ってるに決まってんだろ だからじゃね
頓珍漢と思われても仕方ない

62デフォルトの名無しさん2018/02/24(土) 08:12:05.24ID:MAo3e6Of
僕の頭の中がわかる人だけこたえてください

63デフォルトの名無しさん2018/02/24(土) 08:36:28.75ID:CuRF79s8
わざわざ言わんでも、「メモリ幅」が何を意味しているのか推理できる人しか答えられないのは確かだな。

64デフォルトの名無しさん2018/02/24(土) 08:40:19.77ID:nsuuekrF
>>60
お前はどこにいるのw

65デフォルトの名無しさん2018/02/24(土) 08:54:31.97ID:Fw6wAD1s
>>61
その例えはおかしいわ
この場合、性能が同じaの電車とbの電車があります。同じ回数走ったらレールの長さや電車の速度はかわらないんでしょうかと言ってるようなものだぞ
当然、レールの長さは変わらない

66デフォルトの名無しさん2018/02/24(土) 08:58:48.32ID:Fw6wAD1s
いや、やっぱなんか違うな
無理やり例えるのは良くないな

67デフォルトの名無しさん2018/02/24(土) 18:13:10.60ID:IGnDdAZf
>>61
お前もわかってないからそんな頓珍漢な例えになるんだよ
同じバイトコードになるってことは、それが元々 a += b と書かれてたか a = a + b と書かれてたかなんてJVMにはわからないし、
JVMが同じものとして解釈する以上、メモリ幅の変動(?)も速度低下(?)もないわけで

>>37が言ってるのは、同じバイトコードになる、よってそのコードは等価
お前の例えは、レールの上を走ってる、よってなんなの?

68デフォルトの名無しさん2018/02/24(土) 18:16:34.78ID:dm+ZE7MQ
電車から逃げ出した痴漢だろ

69デフォルトの名無しさん2018/02/24(土) 20:20:05.65ID:BKLSO8lU
っていうかメモリ幅ってなにさ?

70デフォルトの名無しさん2018/02/24(土) 21:19:43.00ID:mD86uI0D
SIMMの幅のことだろ

71デフォルトの名無しさん2018/02/24(土) 22:08:13.59ID:01A04fC8
むかしパソコン詳しい人に教えてもらったっけ
メモリは机の広さで多くのファイルを広げられるから作業が速くなる
机が小さかったら使わないファイルや文房具をしまったりするから効率が悪くなるって

なるほどなーって思った
それでうちの机はあまり大きくないからメモリ少なめのパソコン買ったよ(^o^)

72デフォルトの名無しさん2018/02/25(日) 03:42:22.23ID:PW98pIgG
なんで主記憶容量の話に

73デフォルトの名無しさん2018/02/25(日) 10:14:47.10ID:+Ur3vkTA
アホの議論だから

74デフォルトの名無しさん2018/02/25(日) 11:16:42.37ID:59jeAjzx
でもパソコンのメモリって減らないからすごいよな!
スマホは毎月7ギガとか減るのに

75デフォルトの名無しさん2018/02/25(日) 11:25:47.01ID:251p5lsj
ポータブルハードディスクって幅小さくて持ちやすいよな

76デフォルトの名無しさん2018/02/25(日) 13:39:46.79ID:8xIV5yfC
>>71
ちょっとだけクスッとした。

77デフォルトの名無しさん2018/03/03(土) 17:37:02.43ID:V2kYq93l
だから?

78デフォルトの名無しさん2018/03/03(土) 18:03:32.42ID:h2dbhV1r

79デフォルトの名無しさん2018/03/10(土) 00:24:37.51ID:J3fnbe39
java勉強中の初心者です
javaEEのservletの“doDelete”について質問です。
勉強のためcurdを実装しているのですが、
post(c),get(r),はhtmlのform,hrefから送信できたのですが、
htmlからdelete(d)を送信し"doDelete”に渡したいのですがどの様にすればいいのでしょうか。
そもそも、考え方が間違っているのでしょうか。
アドバイス、参考などがありましたらご教授お願いします。

80デフォルトの名無しさん2018/03/10(土) 00:34:48.00ID:q/evhJ6x
ご教示

81デフォルトの名無しさん2018/03/10(土) 00:50:58.87ID:aNTnNw8G
>>79
JavaScriptで
デベロッパーツールとjQueryでREST APIのテストリクエストを実行
http://dim5.net/programming/using-ajax-request-on-js-console.html

82デフォルトの名無しさん2018/03/10(土) 10:31:42.46ID:vFw8BYES
>>79
HTTPメソッドのDELETEに対応して実装されているのでしょう
確かリソース自体の削除だったか
実際に使われるのはGETとPOSTがほとんど
負荷が高いとHEADで対応はあるかも

データの削除はPOSTによるコマンド的なものでやる
またはURL末尾にdeleteとかメソッドっぽく含める
という方が見かける

URLの設計次第ではアリだと思うけどブラウザがあまり対応してないのかな
2015-07-22 [html/css] httpのフォームでDELETE やPUTのメソッドを送る方法
http://portaltan.hatenablog.com/entry/2015/07/22/122031

83デフォルトの名無しさん2018/03/10(土) 10:33:16.22ID:vFw8BYES
>>79
HTTPメソッドのDELETEに対応して実装されているのでしょう
確かリソース自体の削除だったか
実際に使われるのはGETとPOSTがほとんど
負荷が高いとHEADで対応はあるかも

データの削除はPOSTによるコマンド的なものでやる
またはURL末尾にdeleteとかメソッドっぽく含める
という方が見かける

URLの設計次第ではアリだと思うけどブラウザがあまり対応してないのかな
2015-07-22 [html/css] httpのフォームでDELETE やPUTのメソッドを送る方法
http://portaltan.hatenablog.com/entry/2015/07/22/122031

84デフォルトの名無しさん2018/03/10(土) 18:28:38.86ID:32LTkPVU
>>79
hrefはGETのみ、formはGETかPOSTしかサポートしてない
htmlからPUTやDELETEメソッドを使いたければXMLHttpRequest(XHR)を使う
>>81で書いてるjQueryは内部的にXHRを使ってる

サーバーAPIの単純な動作確認が目的ならhtmlじゃなく
cURLやPostmanのようなhttpクライアントを使ったほうが簡単

85デフォルトの名無しさん2018/03/10(土) 23:13:45.90ID:J3fnbe39
>>84
>>83
そうなんですね。
聞きかじったRESTfullとhtmlのhref,formを混同していました。
新たにクラスを作っていhrefからdoGETにパラメータを渡して処理するようにしました。

しかし、なぜformからGETとPOSTしかサポートされないでしょうかね。
正直、釈然としません・・・

スレ違いだったらスルーしてください

86デフォルトの名無しさん2018/03/11(日) 11:18:11.36ID:u0Fc0bsI
>>85
2014-03-29 なぜ html の form は PUT / DELETE をサポートしないのか?
http://jxck.hatenablog.com/entry/why-form-dosent-support-put-delete

87デフォルトの名無しさん2018/03/11(日) 13:58:39.70ID:91F3yKR+
よくインターネット上の広告で半年でエンジニアに!みたいなのあるけど、インターネット不得手、プログラム未経験者が真剣に半年頑張れば本当にそんなこと可能なんですか?
可能ならその理由はなんでしょう?人材が足りていないというのは存じ上げていますが

88デフォルトの名無しさん2018/03/11(日) 13:59:53.47ID:XNLW8FjI
IT土方、昔は元コンビニ店員(未経験)といたけど

89デフォルトの名無しさん2018/03/11(日) 14:17:33.20ID:OHQW+NNW
半年でエンジニアになる理由?

90デフォルトの名無しさん2018/03/11(日) 14:19:09.66ID:OHQW+NNW
1年よりも半年がいいし
半年よりも1ヶ月がいいだろうけど
半年かかるってことなんじゃ

91デフォルトの名無しさん2018/03/11(日) 15:07:12.87ID:u0Fc0bsI
>>87
スキルシートに○○開発半年と書ければ派遣できるからじゃないか

92デフォルトの名無しさん2018/03/11(日) 15:59:35.51ID:FcyL3wwo
あれ?デジャ・ビュか?どこかで同じ書き込みを見たような・・・

93デフォルトの名無しさん2018/03/13(火) 18:07:26.87ID:cTFPDQau
javaというより数学の話に近いかもしれんのだがこれ答え間違ってるよね?
http://tech.pjin.jp/blog/2017/10/30/java-programing-exercise-8/

94デフォルトの名無しさん2018/03/13(火) 18:32:22.59ID:LC30GjQR
>>93
え?どれが?

95デフォルトの名無しさん2018/03/13(火) 18:57:50.45ID:jO7pAkit
答えが正である理由が分からないわ。と思ったが
差は大きな数字から小さな数字を引くことだと今になって初めて知った。ボクは恥ずかしい女ですw

96デフォルトの名無しさん2018/03/13(火) 20:35:25.12ID:XMKMH3bD
>>95
お前はおっさんです!

97デフォルトの名無しさん2018/03/13(火) 20:40:24.25ID:/ChP+Vc3
状況によると思う
基準値からの差とか言う時に絶対値だけだと色々不便だし

98デフォルトの名無しさん2018/03/13(火) 22:18:55.48ID:wTdUbQ7M
>>94
例えば+xと-yだとしたらx+yになって差になってないと思うけど…
出題者と自分とで「差」の認識が違ったのかな
いろいろ場合分けしてたから「え?これでいいの?」って拍子抜けだった

99デフォルトの名無しさん2018/03/13(火) 22:30:12.11ID:Q4D8j7yB
>>98
君が考えた差を計算するソース見せて

100デフォルトの名無しさん2018/03/13(火) 22:35:23.36ID:jO7pAkit
ユーザや設計者から指定された「差」の定義や例文がないと混乱するわね。
以上以下と未満ですら怪しい人が多いから
>>96
僕はボクっ子だもん

101デフォルトの名無しさん2018/03/13(火) 22:36:24.93ID:9h29uVxq
おいおい中一レベルだぞ

102デフォルトの名無しさん2018/03/14(水) 00:02:50.00ID:5wanHWIv
>>99
ちょっと考えたら自分が見当違いのことしてたの分かったからもう許して

103デフォルトの名無しさん2018/03/14(水) 21:36:07.79ID:V4ac6dGx
xとyの値次第でintの範囲に収まらなくなる可能性あるから
あんまり良くないなこれ

104デフォルトの名無しさん2018/03/15(木) 22:43:23.98ID:jcS43Jhh
> 差を求めるということは大きい値から小さい値を引いた結果になります。

この定義には驚きだね。差の絶対値じゃん。

105デフォルトの名無しさん2018/03/15(木) 22:45:38.78ID:jcS43Jhh
プログラム視点でもintの演算を勝手にunsignedにしてるし

106デフォルトの名無しさん2018/03/15(木) 22:46:20.74ID:85Z09i/Z
ものを知らないだけ
辞書引けよ

107デフォルトの名無しさん2018/03/27(火) 00:04:41.18ID:LxXLqxse
>>95
>差は大きな数字から小さな数字を引くことだと今になって初めて知った。ボクは恥ずかしい女ですw
それだと負数考慮してないでしょ。差は被減数から減数を引くこと。

>>93
問題文が悪いのよこれ。

数学的には「差」は減法の答え(減算の結果)で、
国語的にはただ「差」といった場合には隔たりの事、数の差と言った場合には2つの数の距離の事
(この距離を表す数は数学的にはベクトルになるけど、これが国語的な2者間の数の隔たりを表す)だけど、
一方がゼロ点であるとは限らないから、結局数学と同じ意味になる。
多分、この問題文考えたのも>>95と同じ様に負数の概念がすっぽ抜けてんだよ。>>93は正しい。

108デフォルトの名無しさん2018/03/27(火) 03:43:48.88ID:cnMXkmda
>>107
その話題もう終わってるから

109デフォルトの名無しさん2018/03/27(火) 06:37:48.65ID:UWBQsjyU
>>108
別に良いと思う
時間も空間も超越するのが5chの醍醐味やで
お前老害や

110デフォルトの名無しさん2018/03/28(水) 01:09:27.59ID:hR1N5KW+
リストでループ途中に要素が追加されてもループするのはどうすればいいんですか?

forEachでもIterattionでもmodifiedなんちゃらエラーになるんですよね
昔ながらのVectorでfor(int i = 0; i < size(); i++) elementAt(i) とかしなきゃだめですか?

111デフォルトの名無しさん2018/03/28(水) 01:21:01.26ID:7s/C1dYs
>>110
追加されたものもループで処理したいん?

112デフォルトの名無しさん2018/03/28(水) 07:58:42.47ID:hR1N5KW+
そうです

有限グラフ探索で隣接ノードをリストにためて順番に処理していきたいので
最初は開始ノードのみで途中でどんどんふえていく感じにしたくて

113デフォルトの名無しさん2018/03/28(水) 08:23:59.58ID:7oWFtssG
>>110
追加中にバッファが再確保される可能性があるから仕方ない。
つList#listIterator()

114デフォルトの名無しさん2018/03/28(水) 09:46:54.23ID:fhRmItKh
>>110
それ要素が処理している所よりも手前に挿入されたらダメだよね。必ず最後に追加しかされないことが保証されているリストならいいけど。
それと、削除もできないようになってないと処理中に削除される可能性がある。

ということで、処理する側と完全に連携可能なやつを自作した方が良いのでは?

115デフォルトの名無しさん2018/03/28(水) 12:02:29.13ID:B/xf69WY
いやList#listIteratorつかおうよ

116デフォルトの名無しさん2018/03/28(水) 13:23:01.36ID:/IZ3VKI9
キューをwhileで処理するんがええんじゃなかろうかと

117デフォルトの名無しさん2018/03/28(水) 19:27:30.32ID:hR1N5KW+
>>114,116
もちろん自作してもいいし実現方法はいくらでもある話なんですけど
java8の拡張文で用意されてるクラス使ってきれいにかけないのかなとちょっと思っただけでした

118デフォルトの名無しさん2018/03/29(木) 11:20:13.01ID:QwxffFOd
Collecionから一致したデータを取り出すのってどうすればいいですか?

Stringをextendsして情報を追加したクラスのCollectionから
Stringで検索してデータを取り出したいんですけど
自作するしかないですか?

119デフォルトの名無しさん2018/03/29(木) 12:35:43.41ID:Zp+X1sFq
>>118
それHashMapは使えないの?KeyからValue引っ張り出すようなやつ。

120デフォルトの名無しさん2018/03/29(木) 14:23:38.22ID:QwxffFOd
>>119
やっぱりそうするしかないかな

その場合 HashMap の Key にも Value にも同じ文字列もつことになるのでデータの無駄な気がして…

String + Iformation だけのクラスにわけて Map でもつことも考えたけど
length とか charAt とか使うから結局中で文字列ももたないといけないんですよね

そこそこデータ数が多いので文字列をテーブルに2個もつのはさけたかった…

121デフォルトの名無しさん2018/03/29(木) 17:22:09.18ID:wUwtUNlx
>>120
文字列複数とはいってもStringのインスタンスは一つで二ヶ所から参照されるだけだからたいしてメモリ食わないのでは?

122デフォルトの名無しさん2018/03/29(木) 17:45:33.63ID:QwxffFOd
そうなんですね
じゃあMapで組みなおしてみます

ありがとうございました

123デフォルトの名無しさん2018/03/29(木) 18:51:34.60ID:yhEgq3Dh
文字列の内容が同じ時に必ず同じStringのインスタンスにしたい場合は String#intern() を使うと良い。

124デフォルトの名無しさん2018/03/29(木) 19:16:34.30ID:+yEHtKmw
拡張したStringクラス内でアップキャストして比較すればいけない?

125デフォルトの名無しさん2018/03/29(木) 19:38:33.67ID:LS3RTWy4
Stringって継承できるの?finalじゃなかった?
俺が古いのかな

126デフォルトの名無しさん2018/03/29(木) 19:39:40.10ID:vAfgGUZ/
研究でAIのチューニング用UIつくってるんですが
部品のレイアウトがうまくいかないです

最初の画面にはききたいことの入力欄だけあって

入力すると次のページに数件予想質問と結果を表示して
候補にあれば選択ボタン
なければ全部NGボタンをおしてから正解の答えを入力する

ってしたいんですが
どうしても部品が画面外にでたり重なったりします

FlowLayout BoxLayout setBounds指定とかいろいろためしたんですがうまくいきません
どこが悪いか教えていただけませんか

http://fast-uploader.com/file/7077868223948/
パス 1234
デバッグ用にGUI部分だけ抜き出してみたんですが…

127デフォルトの名無しさん2018/03/29(木) 19:51:18.47ID:eXpBCev1
finalだったわ
継承はできないな

128デフォルトの名無しさん2018/03/29(木) 21:51:33.13ID:eXpBCev1
>>126
74行目でFrame自体ののレイアウトをFlowLayoutにしてるのが主な原因

あとテキストボックスのwidthサイズが大きい

レイアウト関連は背景色とかつけると解決しやすい

129デフォルトの名無しさん2018/03/29(木) 21:58:16.46ID:eXpBCev1
ソース整形したから74行目じゃなかった
まぁその辺りでthisに対して突っ込んでるレイアウト設定が原因ってことで

130デフォルトの名無しさん2018/03/30(金) 09:25:26.93ID:bu98gf73
126です

アップしたのがたまたまそうなってただけで
レイアウトをいろいろ変更してみてるんですが全くうまくいかないです…

そもそもsetSizeがぜんぜんきいてないんですが
全部のパネルをsetLayout(null);
にしてもきかないのはなぜなんでしょうか

131デフォルトの名無しさん2018/03/30(金) 13:02:53.26ID:vz0AgFHK

132デフォルトの名無しさん2018/03/30(金) 13:22:52.68ID:bu98gf73
自己解決しました

setSize()はきかなくてsetPreferredSize(new Dimension())
を使えばサイズだけは反映するようになりました

位置の調整方法はわかりませんがとりあえずデフォルトレイアウトで
はみだしたり重ならず全部のパーツが表示されました

133デフォルトの名無しさん2018/03/31(土) 07:53:45.76ID:DDP7B6Z+
日時の文字列を生成するのに、DateFormatクラスとかを使えば標準的なフォーマットで出力されて
あと言語が変わっても大丈夫(自分でローカライズする必要がない)じゃないですか。

似たような感じで時間の長さ、例えば "2時間36分" をAPIで作れるといいと思っているのですが
そういうものはありますでしょうか。これが英語になると勝手に "2 hours 36 minutes" になるみたいな。

134デフォルトの名無しさん2018/03/31(土) 10:01:25.54ID:376M7ais
つDuration.parse

135デフォルトの名無しさん2018/04/01(日) 18:17:02.75ID:QRZAvcI4
>>134
どうもです。しかし最終的に普通の時刻の文字列をDurationのインスタンスから
生成する方法がわからないのですが... ??

Duration duration = Duration.parse("PT2H36M"); とかしたとして、
toString()も単に"PT2H36M"を返しますよね。
もしかして toHours() -> 2, minusHours(2).toMinutes() -> 36 とかでで2と36を取り出し、
その後これらから文字列をなんとか作るという話でしょうか?

経過時間の計算そのものでなく、時間と分の数値は最初から与えられたとして、経過時間
の文字列の生成を如何に楽に行うかに興味があるのですが...

136デフォルトの名無しさん2018/04/05(木) 14:05:21.72ID:MD4dwdXJ
XPにはJava8インストールできないの?

137デフォルトの名無しさん2018/04/14(土) 11:08:12.71ID:Z+3xnQ4k
デザインパターンをインターフェースから説明した良心的なブログ
途中で息切れしてるみたい??

https://blogs.yahoo.co.jp/kamyu_2010/35417803.html

138デフォルトの名無しさん2018/04/23(月) 21:12:23.63ID:Hmrq+5/s
だから?

139デフォルトの名無しさん2018/04/24(火) 08:31:35.21ID:zK8TVl/a
良心的なブログよりためになるブログが良い
デザインパターンを書き写しただけのゴミを見せられる
読者の立場にもなれ

140デフォルトの名無しさん2018/04/24(火) 08:38:42.87ID:aRpe9XKh
初心者向け解説ばかりの時代

141デフォルトの名無しさん2018/04/24(火) 21:36:06.09ID:0Hi7fk6J
>>142
で?

142デフォルトの名無しさん2018/04/24(火) 22:44:47.72ID:IYsMY8oH
>>141
え?オレ何か言ったっけ?

143デフォルトの名無しさん2018/04/25(水) 00:58:24.44ID:g4RvSF2y
つまらぬわ!

144デフォルトの名無しさん2018/04/25(水) 08:46:24.05ID:xbNGGQDl
>>144
せやね

145デフォルトの名無しさん2018/04/25(水) 12:55:05.40ID:aMC3Bhoy
>>144
面白くない奴の便乗なんて寒いだけだからやめとけ

146デフォルトの名無しさん2018/05/06(日) 11:09:29.87ID:PC9jam24
データベースに保存したいJavaのオブジェクトが大量にあるのですが
直列化ではコーディングやデバグにかかる時間がかかりすぎるので
もっと簡単に永続化できるライブラリかフレームワークなどはありますか

147デフォルトの名無しさん2018/05/06(日) 11:13:54.12ID:PC9jam24
オブジェクトが大量にあるというかオブジェクトの雛形になる
クラスが大量にあるということです

148デフォルトの名無しさん2018/05/06(日) 11:51:06.89ID:/6fg2Qhj
まず高速プリンターを用意します

149デフォルトの名無しさん2018/05/06(日) 12:11:54.48ID:yG5Sy7/7

150デフォルトの名無しさん2018/05/06(日) 13:47:11.04ID:XXaq/T45
>>146
ObjectOutputStreamのwriteObject()呼び出すだけなわけだが、
コーディングに時間が掛かるとか、もっと簡単にとはいったい?
ここに書いてない要望が他にもあるんじゃないの?

151デフォルトの名無しさん2018/05/06(日) 14:33:54.08ID:kuy66ISG
>>150
顧客が本当に欲しい物は、
クラスを指定したらシリアライズ処理を自動で吐き出してくれるプラグインとか
そういうものなんじゃないかね

152デフォルトの名無しさん2018/05/06(日) 15:02:54.32ID:i9j42Pj0
ここに質問するのが適切なのか悩ましいのですが…
OpenJDKは再頒布可能なのでしょうか?

個人の趣味で作ったアプリケーションに同梱して配布してよいのかな?と思い調べているところです。
自分でビルドしたOpenJDKなら再頒布可能、CentOSなどが公開しているOpenJDKは再頒布不可などあるのでしょうか。

153デフォルトの名無しさん2018/05/06(日) 15:56:01.81ID:Ba+o29Eu
ディレクトリ a にある a.jar のなかの A.class (package a)
ディレクトリ b にある b.jar のなかの B.class (パッケージ宣言なし)
を使ったディレクトリ c にある c.jar ってどうやって実行すればいいですか

はるか昔に作って昔は動いてたはずなんですけど実行の仕方がわからなくなりました

154デフォルトの名無しさん2018/05/06(日) 16:09:20.09ID:yRUrTeQA
>>150-151
対象となるクラスがあまりにも多くてreadObjectとwriteObjectを
いちいち宣言するのが面倒くさい上に
少しでも書き間違えたときにIDEが検出してくれないし
デシリアライズに失敗したときに原因となったクラスを特定するのが困難だしで
その辺の手間を楽をする方法を探していたんだけど
JAXBでXML化する方法を思いついたので自己解決しました

ありがとうございます

155デフォルトの名無しさん2018/05/06(日) 17:01:33.93ID:Bse1bLkg
>>153
その jar ファイルを全てクラスパスに指定すればいいのでは?
環境変数 CLASSPATH かコマンドラインで -cp (java -help の出力またはドキュメント参照)。

156デフォルトの名無しさん2018/05/06(日) 18:35:06.08ID:Ba+o29Eu
>>155
動きました
パスってディレクトリに通すものかとおもってたんですがjarファイル自体を指定するんですね
ありがとうございました

157デフォルトの名無しさん2018/05/06(日) 19:08:09.02ID:hMxfhnzD
>>156
.jarとか.zipはそれ自体がフォルダーみたいなもんだから

158デフォルトの名無しさん2018/05/10(木) 16:22:03.34ID:TnST3c7c
GatlingとかLoad Runner、JMETERの動作テスト、Javaのスレッドダンプ取得とかの練習をしたいと思ってます

そのターゲットとなるWebアプリを探してます

今のところFessという、Tomcat上で動いてるWebアプリは見つけました
他にオープンソースで、Javaでうごいていて、Gatlingなんかの練習に使えるWebアプリについて情報ほしいです
どんなものがありますか?

159デフォルトの名無しさん2018/05/10(木) 17:36:39.17ID:1aaKaop2
普通自作すんだろ

160デフォルトの名無しさん2018/05/11(金) 09:01:56.54ID:ou2CAaSI
tools.jarはLinux,Mac,Winで互換性がありますか?

1611602018/05/11(金) 09:34:33.65ID:ou2CAaSI
あるいは、JavaCompiler単体のjarか独自のJavaCompilerは公開されていますか?
Java9からアプリ側から利用できなくなったそうなので。

162デフォルトの名無しさん2018/05/11(金) 09:57:35.61ID:BZrCuED6
javax.swing.JPopupMenuを直接show()で表示させてます
問題はマウスをメニューアイテムの上に乗せても、クリックしても色が変転しない
設定で定義しないといけない事があるのでしょうか?

163デフォルトの名無しさん2018/05/11(金) 13:18:37.00ID:Kz4/xaqB
>>158
Githubで言語絞れば一発
今聞かれて俺が思いつくような有名なOSSって規模が大きかったり環境整えるのが厄介だったりするのが多いから、
簡単に動かせそうなしょぼいのを適当に自分で選んだほうがいい

164デフォルトの名無しさん2018/05/12(土) 08:20:02.64ID:gX8J6qxW
>>162
addMouseListenerで e.getComponent().setBackground(Color);
で反転するようになった

165デフォルトの名無しさん2018/05/12(土) 10:58:22.92ID:pDgCeBjY
共同ツール 1
https://seleck.cc/685

https://trello.com/
ボードのメニュー → Power-Upsから拡張可能 Slack DropBoxなど
Trello Chrome拡張機能 elegant
ttp://www.kikakulabo.com/service-eft/
trelloのオープンソースあり

共同ツール 2
https://www.google.com/intl/ja_jp/sheets/about/

共同ツール 3
https://slack.com/intl/ja-jp
https://www.dropbox.com/ja/
https://bitbucket.org/
https://ja.atlassian.com/software/sourcetree
https://sketchapp.com/extensions/plugins/
ttp://photoshopvip.net/103903

ttps://goodpatch.com/blog/sketch-plugins/

166デフォルトの名無しさん2018/05/12(土) 12:02:34.73ID:XqIGE8bt
Javaのデザインパターンのブログ(ヤフーブログ)・・・・なかなか良い。

https://blogs.yahoo.co.jp/kamyu_2010/35442561.html

167デフォルトの名無しさん2018/05/12(土) 13:54:22.02ID:UoMtV9Kh
          ∧_∧
    ∧_∧  (´<_`  ) また宣伝書き込み? 
うん ( ´_ゝ`) /   ⌒i
   /   \     | |
  /    / ̄ ̄ ̄ ̄/ |
__(__ニつ/  FMV  / .| .|____
    \/____/ (u ⊃

168デフォルトの名無しさん2018/05/23(水) 19:25:05.40ID:Au5e7VGg
僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』

0XZ3H

169デフォルトの名無しさん2018/05/23(水) 19:53:26.57ID:iVq3rLr7
          ∧_∧
    ∧_∧  (´<_`  ) 儲かるなら自分でやればいいじゃんな。 
うん ( ´_ゝ`) /   ⌒i
   /   \     | |
  /    / ̄ ̄ ̄ ̄/ |
__(__ニつ/  FMV  / .| .|____
    \/____/ (u ⊃

170デフォルトの名無しさん2018/05/24(木) 05:14:55.03ID:iSd0paxF
https://ideone.com/fOelKc
除数が変数の%演算子がなんか遅かったからこんなん作ったんだが、もうちょっと速くならんかな?

被除数の範囲は0以上Long.MAX_VALUE以下、
除数は16ビットくらいまでの範囲が使えて速ければよす


うちの環境だとマイクロベンチで4倍
実際に組み込んで全体の速度が2倍くらいにはなったんだが (とボトルネックをいじってるよアピールw

171デフォルトの名無しさん2018/05/24(木) 20:56:47.08ID:iSd0paxF
ideoneでパラレルストリーム使えない・・・?
https://ideone.com/YpKyd3

paizaは普通に使える
https://paiza.io/projects/bgjMxfyxPJmc3vxGYiH8ug

172デフォルトの名無しさん2018/05/25(金) 10:54:04.75ID:Sw3LTZE2
>>171
ideoneはメインスレッド含めて8スレッド(論理コア分)アクティブになるとダメっぽい
んで、パラレルストリームで使われる共通ForkJoinPoolが論理コア-1個スレッドを起動するから、
メインスレッドと合わせて論理コア分アクティブになってアウト

スレッドプールの数を6でForkJoinPoolを作ってそれを使ってStream動かせば大丈夫っぽい…めんどくせw

173デフォルトの名無しさん2018/05/28(月) 17:05:15.50ID:ykC4rFCg
記述がFXで申し訳ないのですが、ご教授宜しくお願いします

ttp://i.imgur.com/T6CUOxA.jpg

A面は↓の回転値でいけるかと思うのですが
B面の回転ってどのように指定すればいいのでしょうか?
色々値を変えてみたのですがなかなか上手くいかず…

//画像
Image img = new Image( new File("ファイル.png").toURI().toString() );
ImageView imgv = new ImageView( img );
imgv.setTranslateX( 70 ); imgv.setTranslateY( 1300 ); imgv.setTranslateZ( -48 );

//回転
imgv.setRotationAxis( new Point3D( 1.0, 0.0, 0.0 ) );
imgv.setRotate( 90.0 );

174デフォルトの名無しさん2018/05/29(火) 17:30:52.67ID:/gnVbstm
一晩寝たら自己解決しました

175デフォルトの名無しさん2018/05/29(火) 17:36:59.04ID:jtMR10Pr
よろしい

176デフォルトの名無しさん2018/05/29(火) 19:26:49.25ID:cb/igs7S
寝ることは重要だな

177デフォルトの名無しさん2018/05/29(火) 21:00:56.09ID:YUEvTtOX
乗り物にのる、トイレに行くも

178デフォルトの名無しさん2018/05/31(木) 09:29:18.82ID:P1af5ns+
プログラムの中でswingによるGUIを表示させ、ユーザにラジオボタン・リストから値を選択してもらい、その値を後続の処理に使用したいと思ってるんですが
GUI表示してそのまま後続の処理が続いてしまいます
表示した時点で処理を停止させ、ユーザが値を選択してOKボタンを押したら処理が再開するようにすることはできますか?

179デフォルトの名無しさん2018/05/31(木) 09:50:40.39ID:v2P/wDLY
ESP、ESP、ESP

180デフォルトの名無しさん2018/05/31(木) 11:35:44.34ID:qv6ph+UR
どういう処理にしてるかわからないから正確なアドバイスは出来ないけど
guiの変更イベントで処理すれば出来るんじゃない?

181デフォルトの名無しさん2018/05/31(木) 12:34:12.85ID:1EOK+kFV
GUIプログラムはパネルを表示したらループ状態を続ける
処理は各コンポーネントのリスナーにどう処理するかを登録して
ボタンやリストを選択したら登録されてる処理を実行する
ボタンならaddActionListenerを使うんじゃないの

182デフォルトの名無しさん2018/05/31(木) 13:23:37.92ID:XsftK6MO
>>178
それいわゆるダイアログってやつだよね。

183デフォルトの名無しさん2018/06/01(金) 12:00:41.25ID:SFIgpc6j
>>178
JDialogを継承したクラスで作る。
コンストラクタで modal を true にするか modlity type をブロックするやつにする。
更に OK ボタン等が押されてダイアログを閉じるときは dispose() するように書く。
その他ラジオボタンなど必要なものを配置し、内容を外部から取得可能にするためにgetterを作っておく。

このダイアログをsetVisible(true)するとdispose()されるまで帰ってこない。
帰ってきたらgetterを通して内容を読む。

184デフォルトの名無しさん2018/06/01(金) 16:28:58.34ID:4jGKb4xs
はぇ〜
JFrameじゃないヤツ使うんですね
ありがとございます

185デフォルトの名無しさん2018/06/02(土) 16:27:10.30ID:49Aq679E
ラジオボタンじゃなくても良いのなら JOptionPane を使うという手もある。
これだと showInputDialog() や showOptionDialog() を使えば複数項目から選択して一つ入力するダイアログになる。
自分でダイアログ作る必要がない。
https://www.javadrive.jp/tutorial/joptionpane/index12.html
https://www.javadrive.jp/tutorial/joptionpane/index13.html

186デフォルトの名無しさん2018/06/03(日) 20:18:35.08ID:3rEkE1iw
今アプレット動く環境ってありますか?
IEだけはサポートされてるみたいなんですけど
昔動いたはずのアプレットタグとjarをおいてもなぜか動かないんですよね
IEでアプレット動かしたときのエラーメッセージの見方もわかれば教えてほしいです

187デフォルトの名無しさん2018/06/03(日) 21:06:43.44ID:m3SIxw/I
>>186
何故かうごかないって、ブラウザは?
そしてそのブラウザにプラグインはインストールされている?
単にされてないだけでは?もちろんそのブラウザ用のプラグインが今は開発されてないってこともあり得るが。

188デフォルトの名無しさん2018/06/03(日) 23:44:08.17ID:3rEkE1iw
>>187
Windows7 IE8 でツール インターネットオプションのなかに
アプレット有効にするってのにチャックはいってます
アプレットページひょうじすると表示領域の枠はでてるんですけど左上に赤い×マークがでてます

これプラグインがよみこめてないんでしょうか
アプレットの中のエラーで落ちてるんでしょうか

189デフォルトの名無しさん2018/06/04(月) 00:50:30.53ID:fspoOmUI
その×にマウスカーソルを持って行ってクリックすると何か出ない?

190デフォルトの名無しさん2018/06/04(月) 19:58:49.32ID:Mxq+Oh0H
何も反応ないですね

191デフォルトの名無しさん2018/06/04(月) 20:36:43.25ID:a6R/84He
X<-mouse

192デフォルトの名無しさん2018/06/04(月) 22:24:19.20ID:AidiJH9V
7か8か忘れたけど結構前から証明書必須になったし
9で非推奨、11で削除されるぞ。

jnlp出てからsunがずっとjnlp使えと言い続けてたんだから
jnlp(実装はweb start)使え。

193デフォルトの名無しさん2018/06/05(火) 01:07:27.61ID:6uzbBGLs
どうやって作ればいいんですか?
HelloWorld的なサンプルコードってあったりしますか?

194デフォルトの名無しさん2018/06/05(火) 01:49:45.76ID:6uzbBGLs
調べて jnlp ファイルっていうのかいてみたけどセキュリティどうこうで動かないみたいです

同じサーバー内にあるデータを読んで表示して
処理した結果をCGIに送って保存するみたいなアプレットだったんですけど
URLのOpenStreamの読み書きもセキュリティ的にアウトな感じなんでしょうか

昔かいたプログラムが実務で使えそうだったので
うまくウェブアプリとして動いてくれればよかったんですが
長いことJavaさわってなかったせいで分からないことだらけで時間ばかりかかってまったく進まない

おとなしく javascript でかきなおしたほうがよさそうですね…

15年前はこれからのウェブはアプレットの時代だとかいって大学でもアプレット教えてたし
当時作ったコードが全部再利用すらできないゴミになったかと思うと憂鬱だ

195デフォルトの名無しさん2018/06/05(火) 03:44:17.72ID:HABwZRW3
javaScriptで書き直したコードも15年後にはゴミになってると思うよ

196デフォルトの名無しさん2018/06/06(水) 23:02:07.48ID:c8dAN/Mm
アプレットどころか、今やJRE自体が一般ピープルのPCにとってはウィルス扱いだぞ
JavaFXも事実上廃止されてJavaを簡単にアプリにバンドルする方法も無くなり、クライアントは完全に終わった

197デフォルトの名無しさん2018/06/07(木) 00:11:58.98ID:23ZUqsYw
「JavaFXも事実上廃止」ってどゆこと?

198デフォルトの名無しさん2018/06/07(木) 03:27:56.30ID:VEx/11mP
Oracleがバンドルしなくなる。
フルーソフトだからなくなりはしないだろうけどね。

199デフォルトの名無しさん2018/06/07(木) 03:28:26.90ID:VEx/11mP
うはw 変な編集ミスしたw

200デフォルトの名無しさん2018/06/07(木) 06:34:03.30ID:zhEE1GLq
JavaFXどうなっちゃうんだろうな
OpenJDK11と一緒にopen-jfx11のバイナリもリリースしてくれるといいが

現状もLinuxディストリビューションのいくつかはopen-jfcパッケージ提供してるけど
Windows用の権威あるopen-jfxバイナリなくて不便なんだよね
Windows用にもopen-jfxの野良バイナリがいくつかあるようだけど

201デフォルトの名無しさん2018/06/07(木) 09:18:14.94ID:6qWq6S5o
権威のある君が作れば良い

202デフォルトの名無しさん2018/06/07(木) 17:57:57.97ID:G8YxR6Qt
それもそうだな!

203デフォルトの名無しさん2018/06/07(木) 20:12:42.53ID:E34l5tNQ
頑張れ

204デフォルトの名無しさん2018/06/08(金) 01:33:25.23ID:xsX40G/R
ここでいいのかよくわからないのですが教えて下さい。

AndroidでSDカードのフォルダが
/storage/47D2-1300
みたいに表示されます。
この場合、
47D2-1300
は、このSDカード固有の番号で、他のAndroid機に刺しても
47D2-1300
のように表示されるのでしょうか?

205デフォルトの名無しさん2018/06/08(金) 03:31:28.12ID:rrKZq6Yq
ブラウザ上でJava起動する方法ってもうないの?

206デフォルトの名無しさん2018/06/08(金) 03:57:47.64ID:xsX40G/R
そういうのは、Javaスクリプトっていうんじゃないの?

207デフォルトの名無しさん2018/06/08(金) 06:43:18.81ID:dTeFfRCY
Java アプレットか

ここ10年は、聞かないな

208デフォルトの名無しさん2018/06/08(金) 07:09:41.59ID:uSJSyiA7
on error goto みたいなの無いの? そのルーチン内ならどこでエラー発生してエラー処理に向かう、みたいな
それともtrycatchに全部入れちゃう?

209デフォルトの名無しさん2018/06/08(金) 08:13:31.47ID:/bqVuVHr
>>206
JavaとJavaScriptは全く別のものだ。

210デフォルトの名無しさん2018/06/08(金) 08:18:34.82ID:/bqVuVHr
>>208
そう。

それかメソッドに throws Exception 付けておくかかな。するとそのメソッド内で例外発生すると呼び出し側に帰って例外処理になる。

211デフォルトの名無しさん2018/06/08(金) 08:23:59.92ID:BDVSM83M
On Error Gotoはtry catchで代用できるけど
On Error Goto + Resume Nextの代用がないだよね
1ステートメントごとにtry catch書かにゃならん

212デフォルトの名無しさん2018/06/08(金) 10:38:05.74ID:oMLODkzi
>>204
スレチ

213デフォルトの名無しさん2018/06/08(金) 11:28:05.06ID:1PlqYTvd
>>204
そんなもんは知らん。機種によってマウントされるディレクトリは違うのでは?

214デフォルトの名無しさん2018/06/08(金) 13:10:14.04ID:OTaRl1LS
>>204
Androidのジャヴァモドキは正規のライセンスを受けていない違法な海賊版なんだよ
JavaスレでAndroidの質問をするのはバカが違法ダウンロードを自慢するようなもの

215デフォルトの名無しさん2018/06/08(金) 13:33:32.61ID:1PlqYTvd
>>214
JavaVMって独自に作っちゃいけないんだっけ?

216デフォルトの名無しさん2018/06/08(金) 13:34:45.49ID:2yGpvne7
>>215
いけない

217デフォルトの名無しさん2018/06/08(金) 13:37:08.24ID:1PlqYTvd
>>216
それはどういう法律に反するのか?

218デフォルトの名無しさん2018/06/08(金) 13:38:29.60ID:2yGpvne7
>>217
オラクルさんによると特許侵害と著作権侵害

219デフォルトの名無しさん2018/06/08(金) 13:46:03.43ID:1PlqYTvd
>>218
同じ動きをする全く別のプログラムは著作権の問題はないよな?もしこれにあったら OpenJDK もあり得ないわけだし。
特許はどこにあるのか?それとその特許は OpenJDK の方では避けられているのか?

220デフォルトの名無しさん2018/06/08(金) 15:16:14.07ID:2yGpvne7
>>219
避けられてないよ
あくまで「OracleがリリースしたOpenJDK」に対して特許の利用が認められている
OpenJDKを勝手に弄って配布したら特許侵害

221デフォルトの名無しさん2018/06/08(金) 16:29:34.75ID:xsX40G/R
プログラミングではないのですが教えて下さい。

Androidのアプリで、
マップルという地図ソフトがあります。
起動後、地図データへのパスを求められます。
大容量の地図データなのでSDカードへ入れます。
と、そのパスの形式が
/storage/47D2-1300
みたいな感じで、
SDカード固有の数字で、「数字4桁-数字4桁」のディレクトリを調べないといけないのです。
「数字4桁-数字4桁」を調べるにはどうすればいいのでしょうか?

2222042018/06/08(金) 16:32:38.13ID:xsX40G/R
↑、失礼、間違えた。
Androidスレで改めて質問し直します。

>>212-214
どうもでした。

223デフォルトの名無しさん2018/06/08(金) 17:26:47.40ID:Ayrw+LdJ
すいません jar の作り方がよくわからないので教えてください

packege util の Util.class が
util/uti.jar にはいっていて

それを使っているメインプログラムがパッケージなしで

main / Main.java

にあるんですがダブルクリックするだけで動く jar を作るにはどうしたらいいんでしょうか

224デフォルトの名無しさん2018/06/08(金) 17:46:45.50ID:rAAW+Mj8
GGRKS

225デフォルトの名無しさん2018/06/08(金) 18:07:30.25ID:BDVSM83M
>>219
そうなのか?
OpenJDKはGPLだろ?
GPLに従う限り二次派生の作成も配布も問題ないはずだ
OpenJDKというJava実装はオープンで公開していながら
Googleに対してはJavaのAPIはOracleの著作だからお金払ってね♡
ってわけがわからないよ

226デフォルトの名無しさん2018/06/08(金) 18:15:27.87ID:iLNCpvye
>>221
目的も書いたほうがいいと思うよ。

↓で解決するんじゃないの?
https://stackoverflow.com/questions/3348643/how-to-read-the-sd-card-id-number

227デフォルトの名無しさん2018/06/08(金) 18:33:06.83ID:Ayrw+LdJ
>>224
ぐぐっていろいろ変えてみてるんですけどうまくいかないんです

作ったフォルダの中でダブルクリックすると動くんですが
他のフォルダにうつすと動かなくなって
メインクラスがロードできないっていわれます

jarの作り方の記事自体はたくさんでてくるんですが
他のjarに依存する場合の書き方があまりでてこなくて
MANIFESTにクラスパスをかけばうまくいきそうなのにかいてもうまくいかなくて困ってます

228デフォルトの名無しさん2018/06/08(金) 20:22:18.43ID:tnZm4LxR
>>224 ググれクスに見えるな。やっぱ、ググレカスの場合は小文字じゃないとな。

229デフォルトの名無しさん2018/06/08(金) 20:29:27.65ID:pdRgGEa3
>>227
MANIFESTの仕様見たか、素人には無理かもね

230デフォルトの名無しさん2018/06/08(金) 20:41:54.79ID:TV1o73xX
>>221
ファイルマネージャとかでSDカード内を確認してフルパス取得すれば済む話じゃないの?

231デフォルトの名無しさん2018/06/08(金) 21:37:01.47ID:uQFFSCdV
>>220
あれは GPL だけど特許はそのままのものなのか?

232デフォルトの名無しさん2018/06/08(金) 21:43:47.18ID:LHC1uZZ8
>>220
ひょっとしてGPL知らんのか?
改編不可なんてポリシー上あり得ないんだが w

233デフォルトの名無しさん2018/06/08(金) 21:56:44.25ID:uQFFSCdV
訴訟についてはこれか。

OracleとGoogleのJava著作権侵犯裁判の現状を知る(2018年版)
http://www.orangeitems.com/entry/2018/03/28/173616

234デフォルトの名無しさん2018/06/08(金) 23:41:54.50ID:2yGpvne7
>>232
GPLv2はあくまで著作権の利用許諾でしかなく、特許の利用について何も保証しない。
GPLソフトウェアを使った者を特許侵害で訴えることは普通に可能。
その問題を解決することを意図して特許までカバーしたGPLv3ができたんだけど、OpenJDKは残念ながらv2だ。
理由はもちろんそういうこと。

235デフォルトの名無しさん2018/06/08(金) 23:48:44.16ID:Ayrw+LdJ
お願いします  どなたか助けてください 課題の提出期限がすぎそうです;;

原因きりわけのために使ってるjarと同じ階層構造の
以下のような最小セット構成でコンパイルしてるんですがjarにすると動きません

a/A.class (packege a)
b/B.class (パッケージなし) ソースをみると import a.* を使ってる
Main.java 今回つくったプログラムでパッケージ宣言なし B を使用

> javac -cp .;b Main.java でコンパイルは通る
> java -cp .;b Main → 動く

---MANIFEST.MF---
Manifest-Version: 1.0
Class-Path: . b
Created-By: 1.8.0 (Oracle Corporation)
Main-Class: Main

> jar cvmf META-INF/MANIFEST.MF main.jar *.class a b でjarを作成
> java -jar main.jar でも > java -cp .;b -jar main.jar でも
Exception in thread "main" java.lang.NoClassDefFoundError: B
というエラーが出ます

クラスファイルの状態だと動くのにjarにすると動かない原因がどうしても分かりません
MANIFESTをかくのがはじめてなので根本的に何か間違ってる気もするんですが
Class-Path の書き方は何度もぐぐってスペースあけて並べるとあったんですがためしに .;b にしてもダメでした
解凍する前にb.jarをクラスパスで指定してたときは同じフォルダ内であれば動いたことがあったのですが
今は同じフォルダ内でも動きません

http://fast-uploader.com/file/7084024397219/
最小セットにしたファイル一式です

236デフォルトの名無しさん2018/06/09(土) 00:15:06.79ID:dWoOad5I
「java exception in thread main java.lang.noclassdeffounderror」で検索!

一言一句正確なエラーメッセージで検索するのが、基本!

237デフォルトの名無しさん2018/06/09(土) 00:24:38.54ID:AVDHrvoe
>>236
もう何か芋検索しているんですが原因はパスとおってないってことしかでてこないです
実際そうなんだと思うんですがjarを作るのがはじめてで何が足りないのかがさっぱりわかりません

MANIFESTにかくのと 実行時 cp オプションをかく意外に何か必要なんでしょうか
あるいは指定の書き方が間違っているのでしょうか
スペルミスなんかは何度も確認しているんですが…

もう課題の提出期限すぎちゃったのでわかりませんでしたってかいてレポートかいちゃいましたが
今後のためにも知っておきたいなと

238 ◆QZaw55cn4c 2018/06/09(土) 00:50:21.88ID:BV3WmSRm
>>234
>GPLソフトウェアを使った者を特許侵害
GPL は「特許」ではなく著作権の方だと思うのですが

239デフォルトの名無しさん2018/06/09(土) 02:02:10.81ID:ljDu8qs0
>>238
そうだよ
だから著作権の使用はGPLに従うことで許諾されるけど特許は関係ない

240デフォルトの名無しさん2018/06/09(土) 05:21:33.40ID:uYb8xFM5
>>235
Class-Path の所の b を b/ にするとどうなる?

241デフォルトの名無しさん2018/06/09(土) 05:40:26.23ID:AVDHrvoe
>>240
同じフォルダ内であれば動くようになりました
最後に / つけるだけでかわるんですね

ただやはり別のフォルダにうつすとスタンドアロンでは動かないみたいです
ためしにクラスを消去してみるとアーカイブに入ってるはずなのに同じフォルダでも動かなくなります

>javac -cp .;b Main.java

>jar cvmf META-INF\MANIFEST.MF main.jar *.java *.class a\*.java a\*.class b\*.class b\*.java
マニフェストが追加されました
Main.javaを追加中です(入=83)(出=72)(13%収縮されました)
Main.classを追加中です(入=281)(出=214)(23%収縮されました)
a/A.javaを追加中です(入=106)(出=95)(10%収縮されました)
a/A.classを追加中です(入=381)(出=272)(28%収縮されました)
b/B.classを追加中です(入=249)(出=191)(23%収縮されました)
b/B.javaを追加中です(入=79)(出=68)(13%収縮されました)

>java -jar main.jar
Hello World

>del *.class a\*.class b\*.class

>java -jar main.jar
Exception in thread "main" java.lang.NoClassDefFoundError: B
at Main.main(Main.java:3)


http://fast-uploader.com/file/7084045860348/ (パス jartest)

242デフォルトの名無しさん2018/06/09(土) 10:09:51.63ID:Naz/3W/N
>>241
なるほど、そうすると
MANIFEST.MFのClass-Pathはjar内のパスを指定するものではなくて
jarの外のパスを指定するものだってことになるかと
jar内のパスはあくまでもpackageでやりましょうということなんじゃないかな

243デフォルトの名無しさん2018/06/09(土) 10:24:49.37ID:Naz/3W/N
packageはディレクトリで示されるのでデフォルトパッケージのB.classが
b/の下にあるのがおかしいのでしょうね

244デフォルトの名無しさん2018/06/09(土) 15:10:59.27ID:AVDHrvoe
>>242,243
わああ うごきました!!!!!

パッケージがついてないソースを全部同じフォルダに展開しただけで動くようになりました
コンパイルにパスの指定も必要なくなったし
パッケージ構成とフォルダ構成をあわせる必要があったんですね

課題用に配られたソースだったので自分で描いたコードと分けておいた方がいいのかなと思ったんですが
そのせいでまる1日どはまりしてしまった

教えていただいてありがとうございました
ほんとに助かりました

245デフォルトの名無しさん2018/06/09(土) 22:39:02.82ID:ExnJNgW8
クラスパスに指定するjarの扱いはディレクトリのようなもんなんだよ。
main.jar内にb/B.classが入っていて、デフォルトパッケージのBってクラスを
使いたいんだったら、kラスパスは main.jar:b (正確な書き方は忘れた)
みたいに書かないとダメなんだよ。

246デフォルトの名無しさん2018/06/09(土) 23:22:00.71ID:dWoOad5I
>パッケージ構成とフォルダ構成をあわせる必要があったんですね

入門書にも書いてあるのに、説明書を読まずにやっているから出来ない。
プログラミングのほとんどは、説明書を読むかどうかだけ

読まない人は、出来ない

学校の勉強と同じ。
教科書を読まない人は、出来ない

247デフォルトの名無しさん2018/06/09(土) 23:28:53.67ID:AVDHrvoe
まだ学生なのでそんなに本にお金かけたりできないんですけど
もしお勧めの本があったら紹介していただけませんか?

パッケージを作るときにフォルダ構成をあわせるのは知ってましたが
a/A.java の構成はそうなってる

他の人が作ったパッケージ宣言されてないソースを使うときに
トップディレクトリに展開しないとjarにはできないとは思わなかったので…

ディレクトリとパッケージを合わせることが自然なことは本にかかれてるかもしれませんが
他に方法がないというのはそう自明なことではないと思います

248デフォルトの名無しさん2018/06/09(土) 23:36:10.70ID:K+9PZeFb
調べ方をしらねーだけなんだからカリカリすんなよ
本を読むだけでできるようになるんなら職業プログラマなんかいらねーんだよ

249デフォルトの名無しさん2018/06/09(土) 23:52:15.00ID:MhKfyDgC
>>247
俺はJavaは知らないのだけど、一般的な方法を。

> 課題用に配られたソースだったので自分で描いたコードと分けておいた方がいいのかなと思ったんですが
> そのせいでまる1日どはまりしてしまった

これは割とよくあるパターンで、

・環境の立ち上げは、基本的に 『かなり詳しくないと』 はまる
・環境ではまったら、初心者だけで復旧は不可能

だから、自分が初心者だと分かっているうちは、出来るだけ環境問題に遭遇しないようにするのが基本。
つまり、

・与えられたソースをその場で改変する
・元ソースと比較したい場合、元ソースを ***.org とかいう風にしてコピーしておく
 (元環境と同じファイル名/ディレクトリ構造でコンパイル出来る状態で編集する
 =元ソースはファイル名そのままで編集する。あくまでコピーを別名で持つ)
・インストール時にデフォのパスがあるのなら、つべこべ考えずそのままそこにインストールする

てな感じ。
俺は本を読む前に味見するのも良いことだと思うぜ。
そして上記の通り、地雷を避ける方法も知っておけばいいだけだ。

250デフォルトの名無しさん2018/06/10(日) 01:00:23.21ID:ucpSsdvT
>>247
技術習得中はどれが問題解決に必要な情報なのかわからないんだからあまり気にしなくていい
むしろ問題解決に必要な情報が出せれてるから問題ない
最近はそれがなかなかできないやつが多いからなぁ

んで、お金がないから本を変えないつーことならちょい難易度高いが教科書+公式ドキュメント+サンプルっぽいソース探すのがおすすめ

251デフォルトの名無しさん2018/06/10(日) 04:48:20.36ID:n5chgHA2
Java の定本は、
スッキリわかる Java入門 第2版、2014

基本はエラーメッセージで検索して、自分で調べること。
それでもわからないなら、ここで聞く

252デフォルトの名無しさん2018/06/10(日) 11:22:51.08ID:9LY18awe
>>251
マ板の35歳がそれ読んで荒らしに来るから紹介は控えて欲しい

253デフォルトの名無しさん2018/06/10(日) 12:06:59.34ID:IhVDvYTT
スッキリ厨は話を聞かないことで有名だからなあ

254デフォルトの名無しさん2018/06/10(日) 12:26:24.21ID:5WgF/CDS
こいつAIだからね

255デフォルトの名無しさん2018/06/10(日) 12:46:21.18ID:Jwj29J+R
インスタンスの配列定義について教えてください

@とAはどう違うのでしょか?

(1行目のカッコの位置です)

@カッコが左のAnimalにある
Animal[] vc = new Animal[2];
vc[0] = new Animal();
vc[0].name = "neko";
vc[0].age = 5;
・・・・

Aカッコが左の変数にある
Animal vc[] = new Animal[2];
vc[0] = new Animal();
vc[0].name = "neko";
vc[0].age = 5;
・・・・

上記2つでコンパイルエラーになりません。
違いはなんですか?

256デフォルトの名無しさん2018/06/10(日) 13:08:57.02ID:5WgF/CDS
>>255
同じ
AはC言語に慣れた人のための書き方で、意味的には完全に間違っている
使った瞬間バカ認定されるから絶対に使ってはいけない
今すぐ忘れていい

257デフォルトの名無しさん2018/06/10(日) 13:19:30.60ID:Jwj29J+R
>>256
教授が使っていたので、びっくりしました。
ありがとうございました。

258デフォルトの名無しさん2018/06/11(月) 02:02:24.99ID:jMVvjS0U
>>256
意味的に完全に間違ってる?
文法上許されてるし何の問題もないと思うが?

259デフォルトの名無しさん2018/06/11(月) 02:11:29.76ID:dheNLGIF
>>258
例えばメソッド名の先頭が小文字でもコンパイルは通るから何の問題もないと考える人?

260デフォルトの名無しさん2018/06/11(月) 02:11:56.91ID:dheNLGIF
間違えた
メソッド名の先頭が大文字でも、ね

261デフォルトの名無しさん2018/06/11(月) 02:54:29.89ID:MB0XDzKq
>>259
ああ。文法上は問題なかろう。慣習には反するかも知れないが間違いではない。

262デフォルトの名無しさん2018/06/11(月) 08:24:25.82ID:2EYG9KU5
>>258
Animal配列型の変数vcだから
Animal型の配列変数vcという書き方は良くないという話だよ

そもそも配列変数なんてものは存在しないからね
シンタックスシュガーでC風の書き方ができるだけ
この構文を積極的に使う理由なんてないよ

263デフォルトの名無しさん2018/06/11(月) 09:20:40.77ID:318FxA/J
>>262
良し悪しは君の宗教の問題だよね。

264デフォルトの名無しさん2018/06/11(月) 09:44:57.19ID:dHlcwcTY
おましゅうw

265デフォルトの名無しさん2018/06/11(月) 13:07:23.49ID:UTAA5EZY
var vc:Array<Animal>

Haxe では、
var 変数名:型

266デフォルトの名無しさん2018/06/11(月) 13:12:24.89ID:NAfddAYi
だから?

267デフォルトの名無しさん2018/06/12(火) 06:53:24.64ID:aW1GuOgP
Javaでチャートを表示したくて
javafx.scene.chart.LineChart ってのをはじめて使ったんですけど
これアニメーションで使うにはどうすればいいんでしょうか

Scene scene = new Scene(lineChart,800,600);
stage.setScene(scene);
stage.show();

でグラフが表示されるんですが
そのあとで

try { Thread.sleep(2000); } catch(Exception e) {}
//データ更新
stage.show();

をやったところスリープ中に何も表示されず最後のデータだけが表示されます

あるいはJavaFXではなくawtパネルや
単にImageを生成するようなライブラリがあったら教えていただけると助かります

268デフォルトの名無しさん2018/06/12(火) 23:10:11.67ID:Ci7qqtSg
>>267
意味がわからん。

なんでこれでアニメーションされると思ったのかと何がしたいのか具体的に説明してくれ。
> try { Thread.sleep(2000); } catch(Exception e) {}
> //データ更新
> stage.show();

269デフォルトの名無しさん2018/06/12(火) 23:49:25.09ID:v+Py2umn
>>268
気持ちはわかるだろ
なんでできないのかもったいぶらず教えてやれよ

270デフォルトの名無しさん2018/06/13(水) 01:20:05.91ID:kTav0878
>>268
マイク入力をよんでスペクトルをリアルタイムで表示するようなのを作りたくて

while() {
 // 音声ラインから一定サイズよみこみ
// フーリエ変換
 // グラフ表示更新
}

みたいなプログラムをかいたんですがグラフがまったく変化しなくて
原因を追究して >>267 みたいなプログラム内でブロックするような処理があっても
それが終わるまでグラフが一切表示されないのが原因みたいです

スレッドをわけてみたりもしたんですけどよくわからないエラーが出たりでうまくいかなくて
JavaFXで検索もしてみたんですが表示して終わりばかりで表示更新を扱ってるブログも少なくて困ってました

271デフォルトの名無しさん2018/06/13(水) 07:01:52.40ID:VFl3aAKI
java8でメモリリークを強制的に発生させる良い方法ってありますか?
Webシステムでリークが発生している場合のヒープサイズの変化を
明示的に出したいです。

272デフォルトの名無しさん2018/06/13(水) 07:46:18.02ID:Y8lO4wwX
static ArrayList<byte[]> leak = new ArrayList<>();
while (true) leak.add(new byte[1000000]);

273デフォルトの名無しさん2018/06/13(水) 15:36:01.51ID:GZrsiOY9
リークっていうか、とにかくメモリ使ってどこかから参照されっぱなしになればいいだけだよな。

274デフォルトの名無しさん2018/06/13(水) 18:36:45.27ID:2UGtKAD3
数スレ前にもJavaFXで画面更新したいって質問あったけどまともなレスついてなかったし
誰も使ってないんだろうなー

自分もサーバーサイドばっかりでGUIとか数年かいてないわ

275デフォルトの名無しさん2018/06/13(水) 18:54:23.13ID:WGknwRIf
もうJavaFXはJavaの一部ではなく単なる野良ソフトウェアの一つだしな
初心者なら今からクライアントJavaに手を出すなんて時間の無駄だからやめた方がいい
煽りでも何でもなく、公式に完全に終わってる

276デフォルトの名無しさん2018/06/13(水) 21:13:38.37ID:JYmIyEqB
Androidアプリがあるんだよなー

277デフォルトの名無しさん2018/06/13(水) 21:33:45.35ID:e5+CMljH
だな

278デフォルトの名無しさん2018/06/13(水) 21:40:10.81ID:4ZMiG1ZW
だね

279デフォルトの名無しさん2018/06/14(木) 00:42:43.69ID:/66BxFoU
Kotolin

280デフォルトの名無しさん2018/06/14(木) 01:45:12.12ID:irmUauXJ
Javaの文法でwidowsライクなアプリ作れるから俺はSWT一択だね(キリッ

281デフォルトの名無しさん2018/06/14(木) 01:55:14.23ID:+qJR6f8p
>>270
わかった。
> try { Thread.sleep(2000); } catch(Exception e) {}
> //データ更新
> stage.show();
とは全然関係ないのな。

自分で言ってる以下のループの中身を...
>while() {
> // 音声ラインから一定サイズよみこみ
>// フーリエ変換
> // グラフ表示更新
>}
javafx.animationでやればいい。
これでも読んどけ。
ttps://docs.oracle.com/javase/jp/8/javafx/visual-effects-tutorial/animations.htm#JFXTE149
ttps://docs.oracle.com/javase/jp/8/javafx/user-interface-tutorial/bar-chart.htm

>>271
ファントム参照の中身をルートから辿れるところに
参照させればリークできるけど本当に開放する手段ないぞ。

282デフォルトの名無しさん2018/06/14(木) 08:25:26.24ID:34zOJI5o
親言語か?

283デフォルトの名無しさん2018/06/14(木) 08:50:36.59ID:NWhPjGfV
子言語

284デフォルトの名無しさん2018/06/14(木) 09:41:16.14ID:PKegBamu
シン言語

285デフォルトの名無しさん2018/06/14(木) 12:18:42.38ID:QNww5TEq
超セン言語

286デフォルトの名無しさん2018/06/14(木) 12:58:51.92ID:cl/4FuwJ
もう一つの真言語

287デフォルトの名無しさん2018/06/14(木) 16:58:58.79ID:Gr9d0Yf1
>>281
リプありがとうございます

このtimelineの使い方がよくわからないんですけど
ブロックは音声読み込み側でやっちゃうので
timelineでディレイをかけるとリアルタイム性が確保できなくないですか?

timelineの中で音声読み込みをすればできなくはなさそうですけど
大幅にプログラムを書き換えないといけないし
処理と表示の分離もしにくくなると思うんですがそれしか方法はないんでしょうか

音声読み込みするスレッドから何かメソッドをよんで即時表示更新ってのはできないものなんでしょうか

while() {
 // 音声ラインから一定サイズよみこみ
// フーリエ変換
 // なにかメソッドをよべばグラフ表示更新
}

288デフォルトの名無しさん2018/06/14(木) 17:26:03.40ID:WQ1Bw7bI
>>287
Platform.runLater
でアプリケーションスレッドで処理を実行できるみたいっすよ

289デフォルトの名無しさん2018/06/14(木) 19:46:03.94ID:Gr9d0Yf1
>>288
わわわ 神様だー!
ありがとうございました!
ようやくやりたいことができましたー!
もうあきらめかけてたんですけど質問してよかったです

290デフォルトの名無しさん2018/06/14(木) 20:18:06.09ID:Gr9d0Yf1
何度もすいません

void f(int[] a) {
for(i : a) {
double d = (double)i
同じ処理
}
}

void f(double[] a) {
for(d : a) {
同じ処理
}
}

みたいにintとdouble配列を受け取って同じ処理するだけの関数が必要なんですが
まとめて記述することってできないでしょうか
そこそこ速度が要求されるので最初にキャストした配列を作って渡すのも若干無駄だし

関数型言語風にかくなら

void f_core(<T>[] d, Function<<T>, double> cast) {
for(x : a) {
double d = cast.apply(x);
同じ処理
}
}

void f(int[] a) { f_core(a, x => (double)x); }
void f(double[] a) { f_core(a, x => x); }

みたいにかければいいんですけどJavaで任意型のメソッドって作ったりうけわたしたりってできますか?

291デフォルトの名無しさん2018/06/14(木) 20:47:40.32ID:RvC/sBQ5
>>290
Number[] で受け取って doubleValue() で取り出す。
その代わりプリミティブ型の配列は渡せないが。

292デフォルトの名無しさん2018/06/14(木) 20:48:57.71ID:KBTpBKAk
>>290
普通にその関数型風のコードのようにジェネリクスとラムダを使えばできるけど、
Javaのファッキンなんちゃってジェネリクスだと必ずボックス化が入るからクッソ遅くなるよ
NumberやObjectを使っても同様
諦めて別々のメソッドにして「同じ処理」の部分だけをメソッドに括り出して共通化しなさい

293デフォルトの名無しさん2018/06/14(木) 21:03:26.94ID:Gr9d0Yf1
>>291,292
やっぱりプリミティブ型のジェネリクスは無理なんですね
ありがとうございました

294デフォルトの名無しさん2018/06/15(金) 04:17:05.36ID:DGyfb6tU
だめだー

せっかく教えてもらったのに0.1秒で4000個のデータ描画表示すら間に合わない
AWTでdrawLineとか使って直書きなら8000ぐらいでも間に合うのに

JavaFX のチャートの設定で何か軽くなる設定とかってあったりしますか?
せっかく苦労したのにAWTに戻すことになりそう

295デフォルトの名無しさん2018/06/15(金) 06:35:09.89ID:DwlS46FN
仕事の相談をここでするなよマヌケ

296デフォルトの名無しさん2018/06/15(金) 07:30:56.95ID:K3OjyI6B
>>295
え?

297デフォルトの名無しさん2018/06/15(金) 08:34:10.18ID:DHgdPMs1
>>294
JavaFXの唯一の正しい使い方は、全面にWebViewを貼り付けてHTMLで全てを作ること。
誰も使ってないJavaFXなんかより遥かに速くて快適なUXを実現できる。D3.jsとか使えばチャートも簡単爆速美麗。
馬鹿馬鹿しいと思うならSpring Bootにでも乗り換えてJavaらしく普通にWebアプリにしよう。

298デフォルトの名無しさん2018/06/15(金) 10:34:32.18ID:uIGrLsPa
共同ツール 1
https://seleck.cc/685

https://trello.com/
ボードのメニュー → Power-Upsから拡張可能 Slack DropBoxなど
Trello Chrome拡張機能 elegant
ttp://www.kikakulabo.com/service-eft/
trelloのオープンソースあり

共同ツール 2
https://www.google.com/intl/ja_jp/sheets/about/

共同ツール 3
https://slack.com/intl/ja-jp
https://www.dropbox.com/ja/
https://bitbucket.org/
https://ja.atlassian.com/software/sourcetree
https://www.sketchapp.com/
ttp://photoshopvip.net/103903
ttps://goodpatch.com/blog/sketch-plugins/

Trello Chrome拡張機能プラグイン集
https://chrome.google.com/webstore/search/trello?_category=extensions

Slackプラグイン集
https://slack.com/apps

Sketchプラグイン集
https://sketchapp.com/extensions/plugins/
https://supernova.studio/

299デフォルトの名無しさん2018/06/15(金) 16:20:39.46ID:DGyfb6tU
>>295
ぜんぜん仕事とかじゃなく
いまvtuberはやってるじゃないですか
でも地声でやるの恥ずかしいからボイスチェンジャーつくりたいなーって完全に趣味です

>>297
学生あがりでJavaとCしかかけないです
ウェブアプリってサーバーがHPの表示する内容かえるみたいなかんじですよね
そもそもサーバーがない

まあ普通にAWTでGraphics.drawLineでCanvasに描画すれば間に合ったので
JavaFXのチャートあるならスケーリングやメモリの描画までやってくれて
見た目もきれいかなと思った程度なのでJavaFXのことは忘れます

300デフォルトの名無しさん2018/06/15(金) 17:03:56.08ID:oVnAseDc
たまには思い出してあげてください

301デフォルトの名無しさん2018/06/15(金) 21:58:12.68ID:ymZBnmIf
皆、無料のRails チュートリアルをやってる。
サーバーなんて、Ruby のSinatra でも良いし

Rubyでも、Node.js, jQuery, Vue.js など、JavaScript(JS) は必須。
D3.js を使っても良いんじゃない?

VSCode だって、Electron だし、
Python のJupyter Notebook(IPython Notebook) だって、JSだろ

ほぼすべての言語で、画面には、JSを使う

302デフォルトの名無しさん2018/06/15(金) 22:06:24.60ID:HtPJG7wE
>>301
Rubyはオワコン
10年遅い

今のトレンドはJava

303デフォルトの名無しさん2018/06/15(金) 23:00:02.92ID:7wMYYvtj
いや、JavaはKotlinに食われつつある。Androidに関してはかなり征服された。

304デフォルトの名無しさん2018/06/15(金) 23:04:11.35ID:/HLz/tc5
>>302
トレンドwww

305デフォルトの名無しさん2018/06/20(水) 19:47:48.12ID:g4/OGHNt
>>304
多分JavaとRUBYと
あべこべに書いてしもたんやろな

306デフォルトの名無しさん2018/06/20(水) 20:42:50.22ID:id/YgeM/
両方オワコンだから間違えようがない
一部の狂信的な信者以外は

307デフォルトの名無しさん2018/06/20(水) 20:52:23.72ID:3OmsLPWp
Nettyの質問なんだけど
https://netty.io/wiki/user-guide-for-4.x.html
俺の理解だと、サーバーは受信時にInbound、送信時にOutbound。
ところがこのサンプルのtimeserverhandlerはInboundHandlerでレスポンスをしているように見える。
そもそもサーバーのOutboundHandlerはどんな時に呼び出されるんだろうか?
クライアントはまずOutboundが呼ばれてレスポンスがあった場合のみInboundが呼ばれるのだろうと思う。
サーバーのOutboundは何をトリガーにするのか?レスポンスしない場合もあるだろう。
サーバーのOutboundHandlerのサンプルが見つからない。

このあたり分からないので誰か教えてください。

308デフォルトの名無しさん2018/06/20(水) 20:55:46.07ID:+mTfQ/rg
そんなものがあるんだ

309デフォルトの名無しさん2018/06/20(水) 20:58:29.56ID:3ZXb2ep/
>>307
オープンソースなんだからソース読めよカス

310デフォルトの名無しさん2018/06/20(水) 21:44:01.80ID:eL2b037p
>>307
サーバは受信イベントに反応して応答を返すものなのだから、InboundHanderを継承して応答を返すように実装するのは自然と思うよ。

〜handlerとか〜listenerとあったら、〜イベントに対する処理をするものと言う意味。

あと、OutboundHandlerの例は下に書いてある。
サーバレスポンス(outbound)を横取りして書き換えたい場合に使えるようだ。

311デフォルトの名無しさん2018/06/20(水) 22:31:03.15ID:t5KVEVLK
>>309
分らんのなら引っ込んでろよチンカス

312デフォルトの名無しさん2018/06/21(木) 14:33:49.08ID:zmvzH3Nu
と真性包茎のキモデブが申しております

313デフォルトの名無しさん2018/06/21(木) 19:02:53.39ID:LmBngzCG
https://docs.oracle.com/javase/jp/9/docs/api/com/sun/net/httpserver/HttpExchange.html
簡易メソッドclose()はこれらのタスクをすべて実行します。
要求本体のすべてを使用せずに交換を閉じてもエラーではありませんが、
基本となるTCP接続を次の交換用に利用できなくなる場合があります。
交換の終了に失敗した場合の結果は定義されていませんが、
通常はリソースの解放や再利用に失敗します。

これどういうこと?例えば特定のアクセス元じゃなければclose()するということをやると、
メモリリークのようなことになっていくということ?リソースの解放や再利用に失敗するとは?
HttpServerにおいて特定条件を満たしていない場合に拒絶する書き方が知りたい。

314デフォルトの名無しさん2018/06/21(木) 19:45:52.69ID:+kp8giCs
http要求ー応答の処理中に処理完了する前にcloseしたことを説明してるんじゃない?
想定外のcloseした場合、メモリ状態は分からないから正常に開放できるか不明、ゴミデータ残って一度利用したインスタンスで再通信できるか不明ってことじゃ?

315デフォルトの名無しさん2018/06/22(金) 02:08:36.03ID:6X1MAqKl
https://docs.oracle.com/javase/7/docs/jre/api/net/httpserver/spec/com/sun/net/httpserver/HttpExchange.html
英語版をgoogle翻訳してみたりstackoverflowで調べたところ、
getRequestBody()でえられるinputStreamは使えば自動的にcloseされる。
getResponseBody()でえられるOutputStreamは使った後手動でcloseする。
エラー等で処理を終える場合、HttpExchangeを必ずcloseする。
そして、どうやらgetRequestBody()を必ず使わなければならない?ようだ。
しかしそのような内部的な問題は基本的に気にする必要が無く、
HttpExchange#close()はそのgetRequestBody()の消費処理すらもやってくれる、と書いてあるように読める。
結局HttpExchange#close()を必ずどこかで呼べということな気がする。

316デフォルトの名無しさん2018/06/22(金) 11:57:36.33ID:hcBKEl3e
正誤判定プログラム作っているけど上手く表示できない
正解入力すると正解ですって表示されますが、間違い入力しても
不正解ですとは表示されず、例外のア、イ、ウ、エで入力してくださいって表示になる。
分からないので教えていただけないでしょうか?

do{
String answer = br.readLine();
if (qs.correctAnswer.equals(answer)){
System.out.println("正解です。");
break;
}
else if((answer == qs.wrongAnswer1) || (answer == qs.wrongAnswer2) || (answer == qs.wrongAnswer3)){
System.out.println("不正解です。");
}
else{
System.out.println("ア、イ、ウ、エで入力してください。");
}

317デフォルトの名無しさん2018/06/22(金) 12:08:24.12ID:OFAJDNNU
>>316
なんで正解判定で使ってるequalsを不正解判定では使わないんだ…

318デフォルトの名無しさん2018/06/22(金) 12:35:39.34ID:hcBKEl3e
>>317
助言ありがとうございます!
解決できました!

319デフォルトの名無しさん2018/06/22(金) 15:31:22.98ID:3EtLvxAt
switch使おうよ。

320デフォルトの名無しさん2018/06/22(金) 15:40:49.23ID:fTGbKFWm
Java7から使えるようになったんだっけ?

321デフォルトの名無しさん2018/06/22(金) 20:42:54.95ID:J+Abs19H
やっぱり35歳はipの出ないこっちに来るんだな

新着レスの表示
レスを投稿する