プログラミング言語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/
★★Java質問・相談スレッド181★★
■ このスレッドは過去ログ倉庫に格納されています
2018/02/10(土) 17:49:40.56ID:l9ZzjyKP
204デフォルトの名無しさん
2018/06/08(金) 01:33:25.23ID:xsX40G/R ここでいいのかよくわからないのですが教えて下さい。
AndroidでSDカードのフォルダが
/storage/47D2-1300
みたいに表示されます。
この場合、
47D2-1300
は、このSDカード固有の番号で、他のAndroid機に刺しても
47D2-1300
のように表示されるのでしょうか?
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年は、聞かないな
ここ10年は、聞かないな
208デフォルトの名無しさん
2018/06/08(金) 07:09:41.59ID:uSJSyiA7 on error goto みたいなの無いの? そのルーチン内ならどこでエラー発生してエラー処理に向かう、みたいな
それともtrycatchに全部入れちゃう?
それともtrycatchに全部入れちゃう?
209デフォルトの名無しさん
2018/06/08(金) 08:13:31.47ID:/bqVuVHr >>206
JavaとJavaScriptは全く別のものだ。
JavaとJavaScriptは全く別のものだ。
210デフォルトの名無しさん
2018/06/08(金) 08:18:34.82ID:/bqVuVHr211デフォルトの名無しさん
2018/06/08(金) 08:23:59.92ID:BDVSM83M On Error Gotoはtry catchで代用できるけど
On Error Goto + Resume Nextの代用がないだよね
1ステートメントごとに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:OTaRl1LS215デフォルトの名無しさん
2018/06/08(金) 13:33:32.61ID:1PlqYTvd >>214
JavaVMって独自に作っちゃいけないんだっけ?
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 の方では避けられているのか?
同じ動きをする全く別のプログラムは著作権の問題はないよな?もしこれにあったら OpenJDK もあり得ないわけだし。
特許はどこにあるのか?それとその特許は OpenJDK の方では避けられているのか?
220デフォルトの名無しさん
2018/06/08(金) 15:16:14.07ID:2yGpvne7221デフォルトの名無しさん
2018/06/08(金) 16:29:34.75ID:xsX40G/R プログラミングではないのですが教えて下さい。
Androidのアプリで、
マップルという地図ソフトがあります。
起動後、地図データへのパスを求められます。
大容量の地図データなのでSDカードへ入れます。
と、そのパスの形式が
/storage/47D2-1300
みたいな感じで、
SDカード固有の数字で、「数字4桁-数字4桁」のディレクトリを調べないといけないのです。
「数字4桁-数字4桁」を調べるにはどうすればいいのでしょうか?
Androidのアプリで、
マップルという地図ソフトがあります。
起動後、地図データへのパスを求められます。
大容量の地図データなのでSDカードへ入れます。
と、そのパスの形式が
/storage/47D2-1300
みたいな感じで、
SDカード固有の数字で、「数字4桁-数字4桁」のディレクトリを調べないといけないのです。
「数字4桁-数字4桁」を調べるにはどうすればいいのでしょうか?
222204
2018/06/08(金) 16:32:38.13ID:xsX40G/R223デフォルトの名無しさん
2018/06/08(金) 17:26:47.40ID:Ayrw+LdJ すいません jar の作り方がよくわからないので教えてください
packege util の Util.class が
util/uti.jar にはいっていて
それを使っているメインプログラムがパッケージなしで
main / Main.java
にあるんですがダブルクリックするだけで動く 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の著作だからお金払ってね♡
ってわけがわからないよ
そうなのか?
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
目的も書いたほうがいいと思うよ。
↓で解決するんじゃないの?
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にクラスパスをかけばうまくいきそうなのにかいてもうまくいかなくて困ってます
ぐぐっていろいろ変えてみてるんですけどうまくいかないんです
作ったフォルダの中でダブルクリックすると動くんですが
他のフォルダにうつすと動かなくなって
メインクラスがロードできないっていわれます
jarの作り方の記事自体はたくさんでてくるんですが
他のjarに依存する場合の書き方があまりでてこなくて
MANIFESTにクラスパスをかけばうまくいきそうなのにかいてもうまくいかなくて困ってます
228デフォルトの名無しさん
2018/06/08(金) 20:22:18.43ID:tnZm4LxR >>224 ググれクスに見えるな。やっぱ、ググレカスの場合は小文字じゃないとな。
229デフォルトの名無しさん
2018/06/08(金) 20:29:27.65ID:pdRgGEa3 >>227
MANIFESTの仕様見たか、素人には無理かもね
MANIFESTの仕様見たか、素人には無理かもね
230デフォルトの名無しさん
2018/06/08(金) 20:41:54.79ID:TV1o73xX >>221
ファイルマネージャとかでSDカード内を確認してフルパス取得すれば済む話じゃないの?
ファイルマネージャとかでSDカード内を確認してフルパス取得すれば済む話じゃないの?
231デフォルトの名無しさん
2018/06/08(金) 21:37:01.47ID:uQFFSCdV >>220
あれは GPL だけど特許はそのままのものなのか?
あれは GPL だけど特許はそのままのものなのか?
232デフォルトの名無しさん
2018/06/08(金) 21:43:47.18ID:LHC1uZZ8233デフォルトの名無しさん
2018/06/08(金) 21:56:44.25ID:uQFFSCdV 訴訟についてはこれか。
OracleとGoogleのJava著作権侵犯裁判の現状を知る(2018年版)
http://www.orangeitems.com/entry/2018/03/28/173616
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だ。
理由はもちろんそういうこと。
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/
最小セットにしたファイル一式です
原因きりわけのために使ってる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 オプションをかく意外に何か必要なんでしょうか
あるいは指定の書き方が間違っているのでしょうか
スペルミスなんかは何度も確認しているんですが…
もう課題の提出期限すぎちゃったのでわかりませんでしたってかいてレポートかいちゃいましたが
今後のためにも知っておきたいなと
もう何か芋検索しているんですが原因はパスとおってないってことしかでてこないです
実際そうなんだと思うんですがjarを作るのがはじめてで何が足りないのかがさっぱりわかりません
MANIFESTにかくのと 実行時 cp オプションをかく意外に何か必要なんでしょうか
あるいは指定の書き方が間違っているのでしょうか
スペルミスなんかは何度も確認しているんですが…
もう課題の提出期限すぎちゃったのでわかりませんでしたってかいてレポートかいちゃいましたが
今後のためにも知っておきたいなと
239デフォルトの名無しさん
2018/06/09(土) 02:02:10.81ID:ljDu8qs0240デフォルトの名無しさん
2018/06/09(土) 05:21:33.40ID:uYb8xFM5 >>235
Class-Path の所の b を b/ にするとどうなる?
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)
同じフォルダ内であれば動くようになりました
最後に / つけるだけでかわるんですね
ただやはり別のフォルダにうつすとスタンドアロンでは動かないみたいです
ためしにクラスを消去してみるとアーカイブに入ってるはずなのに同じフォルダでも動かなくなります
>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でやりましょうということなんじゃないかな
なるほど、そうすると
MANIFEST.MFのClass-Pathはjar内のパスを指定するものではなくて
jarの外のパスを指定するものだってことになるかと
jar内のパスはあくまでもpackageでやりましょうということなんじゃないかな
243デフォルトの名無しさん
2018/06/09(土) 10:24:49.37ID:Naz/3W/N packageはディレクトリで示されるのでデフォルトパッケージのB.classが
b/の下にあるのがおかしいのでしょうね
b/の下にあるのがおかしいのでしょうね
244デフォルトの名無しさん
2018/06/09(土) 15:10:59.27ID:AVDHrvoe >>242,243
わああ うごきました!!!!!
パッケージがついてないソースを全部同じフォルダに展開しただけで動くようになりました
コンパイルにパスの指定も必要なくなったし
パッケージ構成とフォルダ構成をあわせる必要があったんですね
課題用に配られたソースだったので自分で描いたコードと分けておいた方がいいのかなと思ったんですが
そのせいでまる1日どはまりしてしまった
教えていただいてありがとうございました
ほんとに助かりました
わああ うごきました!!!!!
パッケージがついてないソースを全部同じフォルダに展開しただけで動くようになりました
コンパイルにパスの指定も必要なくなったし
パッケージ構成とフォルダ構成をあわせる必要があったんですね
課題用に配られたソースだったので自分で描いたコードと分けておいた方がいいのかなと思ったんですが
そのせいでまる1日どはまりしてしまった
教えていただいてありがとうございました
ほんとに助かりました
245デフォルトの名無しさん
2018/06/09(土) 22:39:02.82ID:ExnJNgW8 クラスパスに指定するjarの扱いはディレクトリのようなもんなんだよ。
main.jar内にb/B.classが入っていて、デフォルトパッケージのBってクラスを
使いたいんだったら、kラスパスは main.jar:b (正確な書き方は忘れた)
みたいに書かないとダメなんだよ。
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にはできないとは思わなかったので…
ディレクトリとパッケージを合わせることが自然なことは本にかかれてるかもしれませんが
他に方法がないというのはそう自明なことではないと思います
もしお勧めの本があったら紹介していただけませんか?
パッケージを作るときにフォルダ構成をあわせるのは知ってましたが
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 とかいう風にしてコピーしておく
(元環境と同じファイル名/ディレクトリ構造でコンパイル出来る状態で編集する
=元ソースはファイル名そのままで編集する。あくまでコピーを別名で持つ)
・インストール時にデフォのパスがあるのなら、つべこべ考えずそのままそこにインストールする
てな感じ。
俺は本を読む前に味見するのも良いことだと思うぜ。
そして上記の通り、地雷を避ける方法も知っておけばいいだけだ。
俺は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
基本はエラーメッセージで検索して、自分で調べること。
それでもわからないなら、ここで聞く
スッキリわかる Java入門 第2版、2014
基本はエラーメッセージで検索して、自分で調べること。
それでもわからないなら、ここで聞く
252デフォルトの名無しさん
2018/06/10(日) 11:22:51.08ID:9LY18awe >>251
マ板の35歳がそれ読んで荒らしに来るから紹介は控えて欲しい
マ板の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つでコンパイルエラーになりません。
違いはなんですか?
@と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/CDS257デフォルトの名無しさん
2018/06/10(日) 13:19:30.60ID:Jwj29J+R258デフォルトの名無しさん
2018/06/11(月) 02:02:24.99ID:jMVvjS0U259デフォルトの名無しさん
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風の書き方ができるだけ
この構文を積極的に使う理由なんてないよ
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 変数名:型
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を生成するようなライブラリがあったら教えていただけると助かります
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();
意味がわからん。
なんでこれでアニメーションされると思ったのかと何がしたいのか具体的に説明してくれ。
> try { Thread.sleep(2000); } catch(Exception e) {}
> //データ更新
> stage.show();
269デフォルトの名無しさん
2018/06/12(火) 23:49:25.09ID:v+Py2umn270デフォルトの名無しさん
2018/06/13(水) 01:20:05.91ID:kTav0878271デフォルトの名無しさん
2018/06/13(水) 07:01:52.40ID:VFl3aAKI java8でメモリリークを強制的に発生させる良い方法ってありますか?
Webシステムでリークが発生している場合のヒープサイズの変化を
明示的に出したいです。
Webシステムでリークが発生している場合のヒープサイズの変化を
明示的に出したいです。
272デフォルトの名無しさん
2018/06/13(水) 07:46:18.02ID:Y8lO4wwX static ArrayList<byte[]> leak = new ArrayList<>();
while (true) leak.add(new byte[1000000]);
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とか数年かいてないわ
誰も使ってないんだろうなー
自分もサーバーサイドばっかりでGUIとか数年かいてないわ
275デフォルトの名無しさん
2018/06/13(水) 18:54:23.13ID:WGknwRIf もうJavaFXはJavaの一部ではなく単なる野良ソフトウェアの一つだしな
初心者なら今からクライアント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
ファントム参照の中身をルートから辿れるところに
参照させればリークできるけど本当に開放する手段ないぞ。
わかった。
> 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() {
// 音声ラインから一定サイズよみこみ
// フーリエ変換
// なにかメソッドをよべばグラフ表示更新
}
リプありがとうございます
このtimelineの使い方がよくわからないんですけど
ブロックは音声読み込み側でやっちゃうので
timelineでディレイをかけるとリアルタイム性が確保できなくないですか?
timelineの中で音声読み込みをすればできなくはなさそうですけど
大幅にプログラムを書き換えないといけないし
処理と表示の分離もしにくくなると思うんですがそれしか方法はないんでしょうか
音声読み込みするスレッドから何かメソッドをよんで即時表示更新ってのはできないものなんでしょうか
while() {
// 音声ラインから一定サイズよみこみ
// フーリエ変換
// なにかメソッドをよべばグラフ表示更新
}
288デフォルトの名無しさん
2018/06/14(木) 17:26:03.40ID:WQ1Bw7bI289デフォルトの名無しさん
2018/06/14(木) 19:46:03.94ID:Gr9d0Yf1290デフォルトの名無しさん
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で任意型のメソッドって作ったりうけわたしたりってできますか?
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/sBQ5292デフォルトの名無しさん
2018/06/14(木) 20:48:57.71ID:KBTpBKAk >>290
普通にその関数型風のコードのようにジェネリクスとラムダを使えばできるけど、
Javaのファッキンなんちゃってジェネリクスだと必ずボックス化が入るからクッソ遅くなるよ
NumberやObjectを使っても同様
諦めて別々のメソッドにして「同じ処理」の部分だけをメソッドに括り出して共通化しなさい
普通にその関数型風のコードのようにジェネリクスとラムダを使えばできるけど、
Javaのファッキンなんちゃってジェネリクスだと必ずボックス化が入るからクッソ遅くなるよ
NumberやObjectを使っても同様
諦めて別々のメソッドにして「同じ処理」の部分だけをメソッドに括り出して共通化しなさい
293デフォルトの名無しさん
2018/06/14(木) 21:03:26.94ID:Gr9d0Yf1294デフォルトの名無しさん
2018/06/15(金) 04:17:05.36ID:DGyfb6tU だめだー
せっかく教えてもらったのに0.1秒で4000個のデータ描画表示すら間に合わない
AWTでdrawLineとか使って直書きなら8000ぐらいでも間に合うのに
JavaFX のチャートの設定で何か軽くなる設定とかってあったりしますか?
せっかく苦労したのにAWTに戻すことになりそう
せっかく教えてもらったのに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アプリにしよう。
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/
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:DGyfb6tU300デフォルトの名無しさん
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を使う
サーバーなんて、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:HtPJG7wE303デフォルトの名無しさん
2018/06/15(金) 23:00:02.92ID:7wMYYvtj いや、JavaはKotlinに食われつつある。Androidに関してはかなり征服された。
304デフォルトの名無しさん
2018/06/15(金) 23:04:11.35ID:/HLz/tc5 >>302
トレンドwww
トレンドwww
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【地震速報】青森県で震度6強 沿岸部に津波警報 ★6 [ぐれ★]
- 「日の丸にバツ印」掲げた大学生 あいまいな国旗損壊罪に「怖い」 The Mainichi [少考さん★]
- 【音楽】BARBEE BOYS・KONTAが事故で四肢麻痺を公表、新体制で活動は継続 [少考さん★]
- 【野球】野球の未来に危機感「マイナースポーツになる」 宮本慎也氏が開催…学童大会 [尺アジ★]
- 中国「捜索レーダー起動は各国の通常の手法」 火器管制用か回答せず [蚤の市★]
- 【訃報】声優・西村知道さん死去 「SLAM DUNK」安西先生役 9月に体調不良のため一時休業 [少考さん★]
- ぺこーら、地震で同僚が次々配信を止めるなか強行し続けるので悪目立ちするwww [268244553]
- なぜ人間は架空の人物に感情移入するのか
- 【愛国者速報】山上徹也、金に困りTwitterのお金配り垢に応募していた。犯行もお金があったら暫くやらなかったと供述 [856698234]
- 年々クリスマス感が無くなってる
- 【速報】高市早苗、起床 [779938112]
- ひま
