★★Java質問・相談スレッド180★★ [無断転載禁止]©2ch.net

■ このスレッドは過去ログ倉庫に格納されています
2017/04/21(金) 22:13:17.42ID:Sf0TFsly
プログラミング言語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質問・相談スレッド179★★
http://echo.2ch.net/test/read.cgi/tech/1476706523/
2017/06/08(木) 08:07:45.80ID:QV1lsJYM
>>131
放っとけ
現実の開発でjavac手打ちなんてありえないからどうでもいい
mavenやgradleを使おうね
2017/06/08(木) 08:53:29.49ID:V3R1vIUK
どーしても欲しいってのならバッチ作ってパス通せばいい
134デフォルトの名無しさん
垢版 |
2017/06/08(木) 09:09:29.53ID:4Sfj3MXg
>>131
ファイルを消す方法はOSや操作環境によって違う。
Windowsでコマンドプロンプトならdelコマンド、LinuxやMacOSのようなUNIX系OSならrm等でできる。
ただしディレクトリの階層を降りて行って対象のファイルを全て削除したい場合はそれぞれやり方が大きく異なるのでよく調べてからやった方が良い。
確かUNIX系のOSではfindコマンドと組み合わせないとできない。

それとWindowsのエクスプローラは*.javaで検索後にまとめて選択して削除はできるかも知れない。やったことないけど。
2017/06/08(木) 11:35:11.82ID:N6bKCzZD
>>134
消すのは.classだけにしてあげて

javacに-dだかつけて特定のとこに出力しといて毎回そこ消せばいい
面倒になってワンライナー書くようになって
色々やりたくなってスクリプト化して
mavenとかみたいなソフトを作ってね
2017/06/08(木) 11:51:57.46ID:AJC0wjYd
コンパイルしたら問答無用でソース削除ってすげえな
サムライだわ
2017/06/08(木) 12:24:32.03ID:2+JnwVdz
GridPaneで8×8のマスを作ってGUIのマインスイーパーのアプリケーションを作りたいんだけど
どうやって作ったらいいと思いますか?
2017/06/08(木) 12:32:38.14ID:V3R1vIUK
調べながらやればいいと思う
2017/06/08(木) 13:28:18.05ID:AJC0wjYd
JavaのGUIなんて覚えてもどうせ実際の開発で使う機会はないんだから画面はAAでいいんじゃね
座標を入力してマスを開くようにしたらいい
2017/06/08(木) 18:57:54.02ID:wdYocHRg
javacを質問したものですが.javaにコードを書くのですね
初心者の勘違いでした

java能力検定というものを受けてみようと思うのですが、試験ではjavaファイルを修正してjavacでコンパイルしたものを提出するようなのでビルドとクリーンは押さえておきたいと思い

オプションで出来るだろうなと思っていました
141デフォルトの名無しさん
垢版 |
2017/06/08(木) 19:35:14.41ID:HjFtHmDJ
>>140
何を言ってるのかますますわからん。
2017/06/08(木) 20:59:29.83ID:C8PmrmH4
そんなレベルで受かるような試験なら受ける価値は全くないと思う
2017/06/08(木) 23:01:38.03ID:FAwIWNwN
え?javacのオプションでファイル消せると思ってたの?
んなこたできねえ。
2017/06/08(木) 23:02:59.28ID:FAwIWNwN
試験のお題が「ファイルを削除するプログラムを作りなさい」だったら笑うな。
2017/06/08(木) 23:13:50.27ID:Ie+JXWe+
antを使いなさい
2017/06/09(金) 15:00:31.56ID:AVL5YzBz
コンパイラとビルドツールの違いがいまいち分かってないのか
というか、コンパイラがコンパイル対象消すって、機能としてはまず入れないと思うぞ
自分がクラスファイルを書き出した根拠を消すって、怖すぎ
2017/06/09(金) 19:24:11.51ID:2o9pD8dn
本でしか勉強してないのかな
実践しなよ

それができないなら情報処理技術者試験とかのがいいんじゃないか
148デフォルトの名無しさん
垢版 |
2017/06/09(金) 21:05:11.77ID:HFELVm93
そういやファイル削除するプログラムは初心者向けのお題としてはいいかも知れんな。
ワイルドカードも使えてオプションでディレクトリを降下して削除することもできるようなやつ。
暇な初心者は作ってみな。
2017/06/09(金) 21:22:20.33ID:lTunlEdI
Runtime.getRuntime().exec(new String[] {"bash", "-c", "find . -type f -name *.java" | xargs rm"});
150デフォルトの名無しさん
垢版 |
2017/06/09(金) 21:50:56.86ID:HFELVm93
Write once, Run once.
2017/06/09(金) 21:54:48.29ID:Lf5I0uKH
Eclipse使えよ
2017/06/09(金) 22:33:25.96ID:lTunlEdI
ビルドツール使わずにEclipseでビルドが許されるのは小学生まで
153デフォルトの名無しさん
垢版 |
2017/06/10(土) 01:28:25.17ID:Aw9IeMww
>>149
惜しい。*をエスケープしないとカレントディレクトリに一つjavaファイルがあったらbashに展開されてそのファイル名一つが指定されたことになってしまう。2つ以上あったらfindコマンドがエラーになって動かない。
154デフォルトの名無しさん
垢版 |
2017/06/10(土) 01:42:53.38ID:Aw9IeMww
それ以前の問題としてOSがUNIX系OSでなければ動かない可能性大か・・・
2017/06/10(土) 09:33:16.08ID:0q4Mq4Kr
パッと見で、rmのエイリアスどうなってるのか不安になる
2017/06/10(土) 10:07:20.48ID:chD4P6/F
>>153
print0もない
157デフォルトの名無しさん
垢版 |
2017/06/10(土) 15:12:22.05ID:Aw9IeMww
>>156
あー。スペース入りファイル名ね。その場合 xargs に -0 が必要になるな。

てか、既に話が Java ではなくなってるな。

そう言えば Java だと1.7以降は java.nio.file.Files#walkFileTree() 使えば楽にできそうだな。
自分で再起処理書く必要がない。
158デフォルトの名無しさん
垢版 |
2017/06/10(土) 15:15:07.76ID:Aw9IeMww
walkFileTree()はstaticメソッドだった。何もしないでいきなり使える。
2017/06/14(水) 06:53:55.92ID:Q+Hg17ig
walkFileTreeは典型的なJavaらしい使い辛さ
なんでプル型(イテレータみたいに利用者側のアクションで取りに行く形のこと)にしなかったのか
ああいうSAXみたいなスタイルのAPIって実装する側は楽かもしれないけど利用者は面倒臭いだけなんだよな
2017/06/14(水) 07:08:13.41ID:Q+Hg17ig
Visitorを実装するのが面倒臭いというのももちろんあるけど、
ああいうAPIの一番の問題はスレッドをブロックしやがること
処理を一時中断するにはいちいち別のスレッドを起動しなきゃいけない
2017/06/14(水) 07:56:23.35ID:y6/KXvpo
プル型の処理はnewDirectoryStreamやJava8で追加されたfindで可能
結果、
visitorの実装が面倒でブロッキングなwalkFileTree
サブディレクトリを再起処理してくれない上にStreamの名を冠しながらJava8のStreamと互換性のないnewDirectoryStream
メソッド増えすぎて反省したのか手軽なオーバーロードがなく引数の指定が面倒なfind
わずか2バージョンでこの乱立ぶりよ
2017/06/14(水) 10:05:21.83ID:gMpitCBj
walkfiletreeは知らないがSAXは便利に使ってる
普段からsedとか使ってるからかな
2017/06/14(水) 11:02:50.40ID:y6/KXvpo
>>162
Javaも今はプルパーサが主流よ
SAXは不要な制限が付くだけの糞
2017/06/14(水) 11:48:12.85ID:gMpitCBj
>>163
流行りとかどうでもいいけど、どんな制限?
2017/06/14(水) 12:22:31.58ID:y6/KXvpo
>>164
制御を奪われてしまう
>>160の通りだね
プルパーサはラップすることで簡単にSAXを実装できるけど、逆にSAXをベースにプルパーサを実装するのは(シングルスレッドの範囲では)不可能
SAXを好む人を否定はしないけど、少なくとも低レベルAPIとして位置付けるには制限が強くて向いてないんだよ
2017/06/14(水) 13:25:11.04ID:gMpitCBj
>>165
ストリーム開けっ放しにして他のこと始めるのか
その発想がなかった
2017/06/14(水) 15:46:33.83ID:y6/KXvpo
>>166
今時は非同期プログラミングの普及でいったん制御をフレームワークへ戻したいケースもよくあるからそんなにおかしな発想ではないぞ
DOMに近い感覚で必要な要素だけを処理できるのも大きなメリットだ
SAXだと、特定の要素に対する処理だけをメソッドに切り出すってのが非常にやりづらい
2017/06/14(水) 17:03:52.08ID:gMpitCBj
>>167
あーそういうレベルで難しいんだ
それならしょうがない
出来る方法でやるといいよ
2017/06/14(水) 17:16:50.12ID:7kOowwdv
プルのいいところは軽量と速さだろ
170デフォルトの名無しさん
垢版 |
2017/06/14(水) 18:08:39.39ID:QP2Q0Xjx
>>159
walk()もよろしく。
2017/06/14(水) 18:08:55.88ID:OTRTw69H
プッシュだと例えば複数のxmlを開いて結合することができないわけです
172デフォルトの名無しさん
垢版 |
2017/06/14(水) 19:04:54.50ID:QP2Q0Xjx
不可能ではないが大変面倒
173デフォルトの名無しさん
垢版 |
2017/06/14(水) 19:05:27.78ID:QP2Q0Xjx
問題はメモリ食うことかな
2017/06/15(木) 18:38:11.28ID:EyGOo2Io
データをソートして出力したいんですが
TreeSetを使うとコンパレータのスコアが重複するデータは上書きされるみたいで
重複を許して保持するようなライブラリってありますでしょうか
175デフォルトの名無しさん
垢版 |
2017/06/15(木) 18:48:33.62ID:B79jGaPH
ArrayListをソートしてどうぞ
2017/06/15(木) 19:00:21.53ID:EyGOo2Io
レスありがとうございます
ArrayListの中にsortらしいメソッドがみあたらないのですが
じぶんでsortアルゴリズムをかかなければいけないということなのでしょうか?
177デフォルトの名無しさん
垢版 |
2017/06/15(木) 19:10:29.12ID:BXhoALLT
なんでこの会話はSetとListがごっちゃになってるんだ?
2017/06/15(木) 19:18:26.03ID:6VMUpjHZ
>>176
sortあるじゃないか
https://docs.oracle.com/javase/jp/8/docs/api/java/util/ArrayList.html#sort-java.util.Comparator-

Java7以前つかってるんか?
http://docs.oracle.com/javase/jp/7/api/java/util/Collections.html#sort(java.util.List, java.util.Comparator)
2017/06/15(木) 19:31:49.07ID:EyGOo2Io
いまだにjava6つかってました…
この期にアップデートしてみます
2017/06/15(木) 19:35:29.73ID:ttGDN5KX
TreeSetですでにコードかいてるなら
ComparableのcompareToが0だったら1を返すとか0を返さないようにすればいいだけ
2017/06/15(木) 20:00:44.40ID:udtNcQ4R
バージョン上げるならJava8でStreamでソートが鉄板
2017/06/15(木) 22:12:59.08ID:s6cEPBpB
サーブレット環境下
(tomcat8.0, java8)
の開発環境(eclipse neon.3)
でデータベース(postgresql)に
jdbcを使用し接続したいのですが
java.sql.SQLException: No suitable driver found for jdbc:postgresql://localhost:5432/test
at java.sql.DriverManager.getConnection(DriverManager.java:689)
at java.sql.DriverManager.getConnection(DriverManager.java:247)
の例外により接続できません。
jdbcドライバはWEB-INF/libの中にありeclipseではクラスパスを通してあります。
またWEB-INF/lib内の他のjarはjavaから認識されております。
jdbcドライバがtomcatから認識されていないのが問題だと考えておりますが、
その理由がよくわかりません。
よろしくお願いします。
2017/06/15(木) 22:22:40.42ID:qujjETaM
その通りjdbcドライバーが見つからないのだろう
184デフォルトの名無しさん
垢版 |
2017/06/15(木) 22:27:58.11ID:B79jGaPH
>>182
https://stackoverflow.com/questions/5556664/how-to-fix-no-suitable-driver-found-for-jdbcmysql-localhost-dbname-error-w

Connection con = null;
try {
 //registering the jdbc driver here, your string to use
 //here depends on what driver you are using.
 Class.forName("something.jdbc.driver.YourFubarDriver");
 con = DriverManager.getConnection("jdbc:apache:commons:dbcp:test");
} catch (SQLException e) {
 throw new RuntimeException(e);
}

ドライバクラスはスタティックイニシャライザでレジストするインプリメンテーションがデフォルト
2017/06/15(木) 22:34:58.54ID:qujjETaM
Tomcat 8.xだとTOMCAT_HOME/libに置かないといけなくなった。
2017/06/15(木) 22:43:56.31ID:qujjETaM
JNDI
http://tomcat.apache.org/tomcat-8.5-doc/jndi-datasource-examples-howto.html
2017/06/15(木) 22:46:36.54ID:qujjETaM
Tomcat8.0はこっち
http://tomcat.apache.org/tomcat-8.0-doc/jndi-datasource-examples-howto.html
2017/06/16(金) 08:56:51.80ID:GfJ3Qlj3
>>184
>>185
ありがとうございます
ドライバが見つからないのはおまかんなわけではなく正しい挙動なんですね
2017/06/16(金) 16:47:26.57ID:KtCc4FWk
変な奴
190デフォルトの名無しさん
垢版 |
2017/06/16(金) 23:56:36.61ID:mVd3o9jj
おまかん?
2017/06/17(土) 06:38:57.83ID:zhqgErrF
どこの方言?
2017/06/17(土) 09:31:28.78ID:RkyTVT3o
おまかんって略語否定するのもそろそろ老害みたいで見苦しいぞ
2017/06/17(土) 10:05:03.24ID:4jZoropc
キモ豚用語?
194デフォルトの名無しさん
垢版 |
2017/06/17(土) 13:09:59.57ID:boIwNXkm
>>192
いや、初めて見た。
2017/06/17(土) 16:29:51.64ID:h2C93wHL
「ありがとうざいます」だけでいいだろ
2017/06/17(土) 20:06:56.55ID:P9o9pGro
人の言動にまで注文つけるのか
おまかんがわからないなら訊けばいいだけだろ
2017/06/17(土) 20:32:58.23ID:+2iYDCUP
人に聞くまでもなくちょっとググればいいだけでしょ
198デフォルトの名無しさん
垢版 |
2017/06/17(土) 20:33:28.55ID:Y15actJI
使わない方がいんじゃないかな?
なんでおまかんなんて言っちゃったんだ
破廉恥すぎるだろ、状況考えろよ
2017/06/17(土) 20:42:50.29ID:P9o9pGro
>>198
正規表現で置換するときに興奮するのかよ
文脈考えろ
200デフォルトの名無しさん
垢版 |
2017/06/17(土) 21:01:56.25ID:Y15actJI
>>199
文脈考えたら「おまかん」なんて使うべきじゃないってわかるよね?
下品だよ
201デフォルトの名無しさん
垢版 |
2017/06/17(土) 21:03:42.82ID:Y15actJI
ドライバ見つかったのかな?
2017/06/17(土) 21:10:29.58ID:P9o9pGro
>>200
文脈ってそういう意味じゃないよ
2017/06/17(土) 21:14:55.34ID:ZIBVNPpE
>>196
しってるよ、アホ
2017/06/17(土) 21:18:03.31ID:ZIBVNPpE
答えるほうが質問者の環境のことを揶揄して使うものだろ
2017/06/17(土) 21:32:50.85ID:P9o9pGro
>>203
知ってるのに違う使い方するとかアホだな
2017/06/17(土) 21:35:55.87ID:P9o9pGro
>>204
特段、揶揄のイメージないな
質問者がこれっておま環?って聞き方もよく見る
2017/06/17(土) 21:38:33.18ID:ZIBVNPpE
>>205
知るかボケ、誰のこと言ってんだカス
208デフォルトの名無しさん
垢版 |
2017/06/17(土) 21:40:11.78ID:lbM+W8dy
で、どういう意味?
209デフォルトの名無しさん
垢版 |
2017/06/17(土) 23:08:25.10ID:Y15actJI
>>206
どこで見たの?
場所を状況を考えて使おうよ
2017/06/17(土) 23:19:01.84ID:P9o9pGro
>>209
2chの質問スレだったかな
2017/06/18(日) 00:00:41.09ID:VFfoK1IP
>>210
誤魔化してんじゃねえよ
どこのスレよ?
2017/06/18(日) 00:02:22.09ID:VFfoK1IP
ここが上流階級の大人の社交場だってわかってるよね
2017/06/18(日) 00:03:58.58ID:VFfoK1IP
二度とおまかんなどという下民の言葉を使うな
2017/06/18(日) 00:05:45.33ID:VFfoK1IP
おれかん
215デフォルトの名無しさん
垢版 |
2017/06/18(日) 00:19:04.93ID:O7yFS/m7
で、結局どういう意味なん?
「おまんこを貫通」?
2017/06/18(日) 00:25:17.28ID:QQwdSgzF
おま姦
2017/06/18(日) 00:35:18.02ID:VFfoK1IP
おまかん=お前の環境だけ

ドライバが見つからないのはお前の環境だけなわけではなく正しい挙動なんですね
2017/06/18(日) 00:38:03.18ID:VFfoK1IP
おまんちん
219デフォルトの名無しさん
垢版 |
2017/06/18(日) 01:05:00.61ID:O7yFS/m7
おまかん=俺の魔貫光殺法だろ?
2017/06/18(日) 02:49:46.90ID:ceJzqHwZ
>>211
そんなよくあるレスいちいちどこだったか覚えてるとは限らないだろ
2017/06/18(日) 07:55:34.70ID:wFRQo9Gh
>>220
空気読もうよ
このスレでは不適切だよ
2017/06/18(日) 07:57:27.24ID:wFRQo9Gh
>>219
それって結局ピッコロじゃん
2017/06/18(日) 09:38:50.24ID:y5TaghHe
>>209
情弱かよ w
ちょっとググれば出てくるだろ

30: 名無しさん2016/10/27(木) 02:42:05.68 ID:sCn6hmWJ0
TOSの蔵名にネクソID付いてきてるんだが、これっておま環?
http://tosmatome.net/?p=2328
2017/06/18(日) 10:16:01.09ID:WGtDcH0y
>>223
場所考えろよ
その場に応じた適切な言葉服装髪型があるんだ
お前はこのスレのドレスコードに違反してる
おまはん
2017/06/18(日) 10:23:37.73ID:ZuuuQZtB
なんでも省略しちゃうおじさん
2017/06/18(日) 10:26:18.15ID:WGtDcH0y
はあめんどくせ
ここまで言わなきゃわからんかね
文章添削して不適切な用語を置き換えるとこうなる

ありがとうございます
僕はドライバが見つからないピッコロなんですね
2017/06/18(日) 10:27:19.21ID:WGtDcH0y
おまころ
2017/06/18(日) 10:39:07.32ID:y5TaghHe
情弱君お疲れ w
2017/06/18(日) 11:43:56.76ID:ZuuuQZtB
意味の通じる省略はいいけど通じない省略は意味をなさないよ
230デフォルトの名無しさん
垢版 |
2017/06/18(日) 11:52:04.56ID:SrhEXG8X
それが粋だと思ったんだろ
まさにイキってる
2017/06/18(日) 14:33:03.75ID:ceJzqHwZ
>>221
おまえが2chに適応できてないのでは
知恵遅れでも行ったらどうだ

>>229
意味がわからなかったらググるか質問したらどうだ?
見てる奴の語彙なんてわかるわけない
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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