★★Java質問・相談スレッド181★★
■ このスレッドは過去ログ倉庫に格納されています
プログラミング言語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/ >>99
ちょっと考えたら自分が見当違いのことしてたの分かったからもう許して xとyの値次第でintの範囲に収まらなくなる可能性あるから
あんまり良くないなこれ > 差を求めるということは大きい値から小さい値を引いた結果になります。
この定義には驚きだね。差の絶対値じゃん。 プログラム視点でもintの演算を勝手にunsignedにしてるし >>95
>差は大きな数字から小さな数字を引くことだと今になって初めて知った。ボクは恥ずかしい女ですw
それだと負数考慮してないでしょ。差は被減数から減数を引くこと。
>>93
問題文が悪いのよこれ。
数学的には「差」は減法の答え(減算の結果)で、
国語的にはただ「差」といった場合には隔たりの事、数の差と言った場合には2つの数の距離の事
(この距離を表す数は数学的にはベクトルになるけど、これが国語的な2者間の数の隔たりを表す)だけど、
一方がゼロ点であるとは限らないから、結局数学と同じ意味になる。
多分、この問題文考えたのも>>95と同じ様に負数の概念がすっぽ抜けてんだよ。>>93は正しい。 >>108
別に良いと思う
時間も空間も超越するのが5chの醍醐味やで
お前老害や リストでループ途中に要素が追加されてもループするのはどうすればいいんですか?
forEachでもIterattionでもmodifiedなんちゃらエラーになるんですよね
昔ながらのVectorでfor(int i = 0; i < size(); i++) elementAt(i) とかしなきゃだめですか? >>110
追加されたものもループで処理したいん? そうです
有限グラフ探索で隣接ノードをリストにためて順番に処理していきたいので
最初は開始ノードのみで途中でどんどんふえていく感じにしたくて >>110
追加中にバッファが再確保される可能性があるから仕方ない。
つList#listIterator() >>110
それ要素が処理している所よりも手前に挿入されたらダメだよね。必ず最後に追加しかされないことが保証されているリストならいいけど。
それと、削除もできないようになってないと処理中に削除される可能性がある。
ということで、処理する側と完全に連携可能なやつを自作した方が良いのでは? キューをwhileで処理するんがええんじゃなかろうかと >>114,116
もちろん自作してもいいし実現方法はいくらでもある話なんですけど
java8の拡張文で用意されてるクラス使ってきれいにかけないのかなとちょっと思っただけでした Collecionから一致したデータを取り出すのってどうすればいいですか?
Stringをextendsして情報を追加したクラスのCollectionから
Stringで検索してデータを取り出したいんですけど
自作するしかないですか? >>118
それHashMapは使えないの?KeyからValue引っ張り出すようなやつ。 >>119
やっぱりそうするしかないかな
その場合 HashMap の Key にも Value にも同じ文字列もつことになるのでデータの無駄な気がして…
String + Iformation だけのクラスにわけて Map でもつことも考えたけど
length とか charAt とか使うから結局中で文字列ももたないといけないんですよね
そこそこデータ数が多いので文字列をテーブルに2個もつのはさけたかった… >>120
文字列複数とはいってもStringのインスタンスは一つで二ヶ所から参照されるだけだからたいしてメモリ食わないのでは? そうなんですね
じゃあMapで組みなおしてみます
ありがとうございました 文字列の内容が同じ時に必ず同じStringのインスタンスにしたい場合は String#intern() を使うと良い。 拡張したStringクラス内でアップキャストして比較すればいけない? Stringって継承できるの?finalじゃなかった?
俺が古いのかな 研究でAIのチューニング用UIつくってるんですが
部品のレイアウトがうまくいかないです
最初の画面にはききたいことの入力欄だけあって
入力すると次のページに数件予想質問と結果を表示して
候補にあれば選択ボタン
なければ全部NGボタンをおしてから正解の答えを入力する
ってしたいんですが
どうしても部品が画面外にでたり重なったりします
FlowLayout BoxLayout setBounds指定とかいろいろためしたんですがうまくいきません
どこが悪いか教えていただけませんか
http://fast-uploader.com/file/7077868223948/
パス 1234
デバッグ用にGUI部分だけ抜き出してみたんですが… >>126
74行目でFrame自体ののレイアウトをFlowLayoutにしてるのが主な原因
あとテキストボックスのwidthサイズが大きい
レイアウト関連は背景色とかつけると解決しやすい ソース整形したから74行目じゃなかった
まぁその辺りでthisに対して突っ込んでるレイアウト設定が原因ってことで 126です
アップしたのがたまたまそうなってただけで
レイアウトをいろいろ変更してみてるんですが全くうまくいかないです…
そもそもsetSizeがぜんぜんきいてないんですが
全部のパネルをsetLayout(null);
にしてもきかないのはなぜなんでしょうか 自己解決しました
setSize()はきかなくてsetPreferredSize(new Dimension())
を使えばサイズだけは反映するようになりました
位置の調整方法はわかりませんがとりあえずデフォルトレイアウトで
はみだしたり重ならず全部のパーツが表示されました 日時の文字列を生成するのに、DateFormatクラスとかを使えば標準的なフォーマットで出力されて
あと言語が変わっても大丈夫(自分でローカライズする必要がない)じゃないですか。
似たような感じで時間の長さ、例えば "2時間36分" をAPIで作れるといいと思っているのですが
そういうものはありますでしょうか。これが英語になると勝手に "2 hours 36 minutes" になるみたいな。 >>134
どうもです。しかし最終的に普通の時刻の文字列をDurationのインスタンスから
生成する方法がわからないのですが... ??
Duration duration = Duration.parse("PT2H36M"); とかしたとして、
toString()も単に"PT2H36M"を返しますよね。
もしかして toHours() -> 2, minusHours(2).toMinutes() -> 36 とかでで2と36を取り出し、
その後これらから文字列をなんとか作るという話でしょうか?
経過時間の計算そのものでなく、時間と分の数値は最初から与えられたとして、経過時間
の文字列の生成を如何に楽に行うかに興味があるのですが... 良心的なブログよりためになるブログが良い
デザインパターンを書き写しただけのゴミを見せられる
読者の立場にもなれ >>144
面白くない奴の便乗なんて寒いだけだからやめとけ データベースに保存したいJavaのオブジェクトが大量にあるのですが
直列化ではコーディングやデバグにかかる時間がかかりすぎるので
もっと簡単に永続化できるライブラリかフレームワークなどはありますか オブジェクトが大量にあるというかオブジェクトの雛形になる
クラスが大量にあるということです >>146
ObjectOutputStreamのwriteObject()呼び出すだけなわけだが、
コーディングに時間が掛かるとか、もっと簡単にとはいったい?
ここに書いてない要望が他にもあるんじゃないの? >>150
顧客が本当に欲しい物は、
クラスを指定したらシリアライズ処理を自動で吐き出してくれるプラグインとか
そういうものなんじゃないかね ここに質問するのが適切なのか悩ましいのですが…
OpenJDKは再頒布可能なのでしょうか?
個人の趣味で作ったアプリケーションに同梱して配布してよいのかな?と思い調べているところです。
自分でビルドしたOpenJDKなら再頒布可能、CentOSなどが公開しているOpenJDKは再頒布不可などあるのでしょうか。 ディレクトリ a にある a.jar のなかの A.class (package a)
ディレクトリ b にある b.jar のなかの B.class (パッケージ宣言なし)
を使ったディレクトリ c にある c.jar ってどうやって実行すればいいですか
はるか昔に作って昔は動いてたはずなんですけど実行の仕方がわからなくなりました >>150-151
対象となるクラスがあまりにも多くてreadObjectとwriteObjectを
いちいち宣言するのが面倒くさい上に
少しでも書き間違えたときにIDEが検出してくれないし
デシリアライズに失敗したときに原因となったクラスを特定するのが困難だしで
その辺の手間を楽をする方法を探していたんだけど
JAXBでXML化する方法を思いついたので自己解決しました
ありがとうございます >>153
その jar ファイルを全てクラスパスに指定すればいいのでは?
環境変数 CLASSPATH かコマンドラインで -cp (java -help の出力またはドキュメント参照)。 >>155
動きました
パスってディレクトリに通すものかとおもってたんですがjarファイル自体を指定するんですね
ありがとうございました >>156
.jarとか.zipはそれ自体がフォルダーみたいなもんだから GatlingとかLoad Runner、JMETERの動作テスト、Javaのスレッドダンプ取得とかの練習をしたいと思ってます
そのターゲットとなるWebアプリを探してます
今のところFessという、Tomcat上で動いてるWebアプリは見つけました
他にオープンソースで、Javaでうごいていて、Gatlingなんかの練習に使えるWebアプリについて情報ほしいです
どんなものがありますか? tools.jarはLinux,Mac,Winで互換性がありますか? あるいは、JavaCompiler単体のjarか独自のJavaCompilerは公開されていますか?
Java9からアプリ側から利用できなくなったそうなので。 javax.swing.JPopupMenuを直接show()で表示させてます
問題はマウスをメニューアイテムの上に乗せても、クリックしても色が変転しない
設定で定義しないといけない事があるのでしょうか? >>158
Githubで言語絞れば一発
今聞かれて俺が思いつくような有名なOSSって規模が大きかったり環境整えるのが厄介だったりするのが多いから、
簡単に動かせそうなしょぼいのを適当に自分で選んだほうがいい >>162
addMouseListenerで e.getComponent().setBackground(Color);
で反転するようになった ∧_∧
∧_∧ (´<_` ) また宣伝書き込み?
うん ( ´_ゝ`) / ⌒i
/ \ | |
/ / ̄ ̄ ̄ ̄/ |
__(__ニつ/ FMV / .| .|____
\/____/ (u ⊃ 僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
0XZ3H ∧_∧
∧_∧ (´<_` ) 儲かるなら自分でやればいいじゃんな。
うん ( ´_ゝ`) / ⌒i
/ \ | |
/ / ̄ ̄ ̄ ̄/ |
__(__ニつ/ FMV / .| .|____
\/____/ (u ⊃ https://ideone.com/fOelKc
除数が変数の%演算子がなんか遅かったからこんなん作ったんだが、もうちょっと速くならんかな?
被除数の範囲は0以上Long.MAX_VALUE以下、
除数は16ビットくらいまでの範囲が使えて速ければよす
うちの環境だとマイクロベンチで4倍
実際に組み込んで全体の速度が2倍くらいにはなったんだが (とボトルネックをいじってるよアピールw >>171
ideoneはメインスレッド含めて8スレッド(論理コア分)アクティブになるとダメっぽい
んで、パラレルストリームで使われる共通ForkJoinPoolが論理コア-1個スレッドを起動するから、
メインスレッドと合わせて論理コア分アクティブになってアウト
スレッドプールの数を6でForkJoinPoolを作ってそれを使ってStream動かせば大丈夫っぽい…めんどくせw 記述が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 ); プログラムの中でswingによるGUIを表示させ、ユーザにラジオボタン・リストから値を選択してもらい、その値を後続の処理に使用したいと思ってるんですが
GUI表示してそのまま後続の処理が続いてしまいます
表示した時点で処理を停止させ、ユーザが値を選択してOKボタンを押したら処理が再開するようにすることはできますか? どういう処理にしてるかわからないから正確なアドバイスは出来ないけど
guiの変更イベントで処理すれば出来るんじゃない? GUIプログラムはパネルを表示したらループ状態を続ける
処理は各コンポーネントのリスナーにどう処理するかを登録して
ボタンやリストを選択したら登録されてる処理を実行する
ボタンならaddActionListenerを使うんじゃないの >>178
それいわゆるダイアログってやつだよね。 >>178
JDialogを継承したクラスで作る。
コンストラクタで modal を true にするか modlity type をブロックするやつにする。
更に OK ボタン等が押されてダイアログを閉じるときは dispose() するように書く。
その他ラジオボタンなど必要なものを配置し、内容を外部から取得可能にするためにgetterを作っておく。
このダイアログをsetVisible(true)するとdispose()されるまで帰ってこない。
帰ってきたらgetterを通して内容を読む。 はぇ〜
JFrameじゃないヤツ使うんですね
ありがとございます ラジオボタンじゃなくても良いのなら JOptionPane を使うという手もある。
これだと showInputDialog() や showOptionDialog() を使えば複数項目から選択して一つ入力するダイアログになる。
自分でダイアログ作る必要がない。
https://www.javadrive.jp/tutorial/joptionpane/index12.html
https://www.javadrive.jp/tutorial/joptionpane/index13.html 今アプレット動く環境ってありますか?
IEだけはサポートされてるみたいなんですけど
昔動いたはずのアプレットタグとjarをおいてもなぜか動かないんですよね
IEでアプレット動かしたときのエラーメッセージの見方もわかれば教えてほしいです >>186
何故かうごかないって、ブラウザは?
そしてそのブラウザにプラグインはインストールされている?
単にされてないだけでは?もちろんそのブラウザ用のプラグインが今は開発されてないってこともあり得るが。 >>187
Windows7 IE8 でツール インターネットオプションのなかに
アプレット有効にするってのにチャックはいってます
アプレットページひょうじすると表示領域の枠はでてるんですけど左上に赤い×マークがでてます
これプラグインがよみこめてないんでしょうか
アプレットの中のエラーで落ちてるんでしょうか その×にマウスカーソルを持って行ってクリックすると何か出ない? 7か8か忘れたけど結構前から証明書必須になったし
9で非推奨、11で削除されるぞ。
jnlp出てからsunがずっとjnlp使えと言い続けてたんだから
jnlp(実装はweb start)使え。 どうやって作ればいいんですか?
HelloWorld的なサンプルコードってあったりしますか? 調べて jnlp ファイルっていうのかいてみたけどセキュリティどうこうで動かないみたいです
同じサーバー内にあるデータを読んで表示して
処理した結果をCGIに送って保存するみたいなアプレットだったんですけど
URLのOpenStreamの読み書きもセキュリティ的にアウトな感じなんでしょうか
昔かいたプログラムが実務で使えそうだったので
うまくウェブアプリとして動いてくれればよかったんですが
長いことJavaさわってなかったせいで分からないことだらけで時間ばかりかかってまったく進まない
おとなしく javascript でかきなおしたほうがよさそうですね…
15年前はこれからのウェブはアプレットの時代だとかいって大学でもアプレット教えてたし
当時作ったコードが全部再利用すらできないゴミになったかと思うと憂鬱だ javaScriptで書き直したコードも15年後にはゴミになってると思うよ アプレットどころか、今やJRE自体が一般ピープルのPCにとってはウィルス扱いだぞ
JavaFXも事実上廃止されてJavaを簡単にアプリにバンドルする方法も無くなり、クライアントは完全に終わった Oracleがバンドルしなくなる。
フルーソフトだからなくなりはしないだろうけどね。 JavaFXどうなっちゃうんだろうな
OpenJDK11と一緒にopen-jfx11のバイナリもリリースしてくれるといいが
現状もLinuxディストリビューションのいくつかはopen-jfcパッケージ提供してるけど
Windows用の権威あるopen-jfxバイナリなくて不便なんだよね
Windows用にもopen-jfxの野良バイナリがいくつかあるようだけど ■ このスレッドは過去ログ倉庫に格納されています