★★Java質問・相談スレッド180★★ [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
垢版 |
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/
0117デフォルトの名無しさん
垢版 |
2017/05/28(日) 21:32:06.13ID:QPUrPhGM
>>109
Javaは継承したクラスが別物にしてしまうことを想定してないからな。

形だけ継承して中身を書き換えられるからタチが悪い。
0118デフォルトの名無しさん
垢版 |
2017/05/28(日) 21:34:09.27ID:QPUrPhGM
>>114
高度なWindowsアプリならWindows SDKの可能性が高い。
0122デフォルトの名無しさん
垢版 |
2017/05/28(日) 23:06:34.69ID:QPUrPhGM
>>119
Windows SDKならCかC++なんだよ。知らないなら調べてもの言えよ
0124デフォルトの名無しさん
垢版 |
2017/05/29(月) 00:58:20.59ID:3z87Obs+
>>123
読んできました。
0127デフォルトの名無しさん
垢版 |
2017/06/03(土) 19:56:05.44ID:wtE6TEU1
Googleみたいなウェーイ系の延長と違ってAmazonはエンタープライズITに対してわりと理解があるし
Java開発のAWSへの取り込みを加速させるには悪くないんじゃないかな
0128デフォルトの名無しさん
垢版 |
2017/06/07(水) 19:46:39.66ID:3Fne/ooH
chromeブラウザのF12で表示される「NetWork」タブみたいに
URLにアクセスした際に送受信されるリクエスト全部取得する処理ってどうやれば実現できますか?
たぶんhttpClientかsocketあたり使うと思うけどhttpClientはレスポンスぐらいしか取れないように見える
0131デフォルトの名無しさん
垢版 |
2017/06/08(木) 07:25:25.31ID:wdYocHRg
javacでコンパイルした後、クリーンのようなコマンドで.javaファイルを全て削除することは出来ないでしょうか?
0132デフォルトの名無しさん
垢版 |
2017/06/08(木) 08:07:45.80ID:QV1lsJYM
>>131
放っとけ
現実の開発でjavac手打ちなんてありえないからどうでもいい
mavenやgradleを使おうね
0134デフォルトの名無しさん
垢版 |
2017/06/08(木) 09:09:29.53ID:4Sfj3MXg
>>131
ファイルを消す方法はOSや操作環境によって違う。
Windowsでコマンドプロンプトならdelコマンド、LinuxやMacOSのようなUNIX系OSならrm等でできる。
ただしディレクトリの階層を降りて行って対象のファイルを全て削除したい場合はそれぞれやり方が大きく異なるのでよく調べてからやった方が良い。
確かUNIX系のOSではfindコマンドと組み合わせないとできない。

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

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

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

オプションで出来るだろうなと思っていました
0141デフォルトの名無しさん
垢版 |
2017/06/08(木) 19:35:14.41ID:HjFtHmDJ
>>140
何を言ってるのかますますわからん。
0144デフォルトの名無しさん
垢版 |
2017/06/08(木) 23:02:59.28ID:FAwIWNwN
試験のお題が「ファイルを削除するプログラムを作りなさい」だったら笑うな。
0146デフォルトの名無しさん
垢版 |
2017/06/09(金) 15:00:31.56ID:AVL5YzBz
コンパイラとビルドツールの違いがいまいち分かってないのか
というか、コンパイラがコンパイル対象消すって、機能としてはまず入れないと思うぞ
自分がクラスファイルを書き出した根拠を消すって、怖すぎ
0147デフォルトの名無しさん
垢版 |
2017/06/09(金) 19:24:11.51ID:2o9pD8dn
本でしか勉強してないのかな
実践しなよ

それができないなら情報処理技術者試験とかのがいいんじゃないか
0148デフォルトの名無しさん
垢版 |
2017/06/09(金) 21:05:11.77ID:HFELVm93
そういやファイル削除するプログラムは初心者向けのお題としてはいいかも知れんな。
ワイルドカードも使えてオプションでディレクトリを降下して削除することもできるようなやつ。
暇な初心者は作ってみな。
0150デフォルトの名無しさん
垢版 |
2017/06/09(金) 21:50:56.86ID:HFELVm93
Write once, Run once.
0153デフォルトの名無しさん
垢版 |
2017/06/10(土) 01:28:25.17ID:Aw9IeMww
>>149
惜しい。*をエスケープしないとカレントディレクトリに一つjavaファイルがあったらbashに展開されてそのファイル名一つが指定されたことになってしまう。2つ以上あったらfindコマンドがエラーになって動かない。
0154デフォルトの名無しさん
垢版 |
2017/06/10(土) 01:42:53.38ID:Aw9IeMww
それ以前の問題としてOSがUNIX系OSでなければ動かない可能性大か・・・
0157デフォルトの名無しさん
垢版 |
2017/06/10(土) 15:12:22.05ID:Aw9IeMww
>>156
あー。スペース入りファイル名ね。その場合 xargs に -0 が必要になるな。

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

そう言えば Java だと1.7以降は java.nio.file.Files#walkFileTree() 使えば楽にできそうだな。
自分で再起処理書く必要がない。
0158デフォルトの名無しさん
垢版 |
2017/06/10(土) 15:15:07.76ID:Aw9IeMww
walkFileTree()はstaticメソッドだった。何もしないでいきなり使える。
0159デフォルトの名無しさん
垢版 |
2017/06/14(水) 06:53:55.92ID:Q+Hg17ig
walkFileTreeは典型的なJavaらしい使い辛さ
なんでプル型(イテレータみたいに利用者側のアクションで取りに行く形のこと)にしなかったのか
ああいうSAXみたいなスタイルのAPIって実装する側は楽かもしれないけど利用者は面倒臭いだけなんだよな
0160デフォルトの名無しさん
垢版 |
2017/06/14(水) 07:08:13.41ID:Q+Hg17ig
Visitorを実装するのが面倒臭いというのももちろんあるけど、
ああいうAPIの一番の問題はスレッドをブロックしやがること
処理を一時中断するにはいちいち別のスレッドを起動しなきゃいけない
0161デフォルトの名無しさん
垢版 |
2017/06/14(水) 07:56:23.35ID:y6/KXvpo
プル型の処理はnewDirectoryStreamやJava8で追加されたfindで可能
結果、
visitorの実装が面倒でブロッキングなwalkFileTree
サブディレクトリを再起処理してくれない上にStreamの名を冠しながらJava8のStreamと互換性のないnewDirectoryStream
メソッド増えすぎて反省したのか手軽なオーバーロードがなく引数の指定が面倒なfind
わずか2バージョンでこの乱立ぶりよ
0162デフォルトの名無しさん
垢版 |
2017/06/14(水) 10:05:21.83ID:gMpitCBj
walkfiletreeは知らないがSAXは便利に使ってる
普段からsedとか使ってるからかな
0165デフォルトの名無しさん
垢版 |
2017/06/14(水) 12:22:31.58ID:y6/KXvpo
>>164
制御を奪われてしまう
>>160の通りだね
プルパーサはラップすることで簡単にSAXを実装できるけど、逆にSAXをベースにプルパーサを実装するのは(シングルスレッドの範囲では)不可能
SAXを好む人を否定はしないけど、少なくとも低レベルAPIとして位置付けるには制限が強くて向いてないんだよ
0167デフォルトの名無しさん
垢版 |
2017/06/14(水) 15:46:33.83ID:y6/KXvpo
>>166
今時は非同期プログラミングの普及でいったん制御をフレームワークへ戻したいケースもよくあるからそんなにおかしな発想ではないぞ
DOMに近い感覚で必要な要素だけを処理できるのも大きなメリットだ
SAXだと、特定の要素に対する処理だけをメソッドに切り出すってのが非常にやりづらい
0170デフォルトの名無しさん
垢版 |
2017/06/14(水) 18:08:39.39ID:QP2Q0Xjx
>>159
walk()もよろしく。
0172デフォルトの名無しさん
垢版 |
2017/06/14(水) 19:04:54.50ID:QP2Q0Xjx
不可能ではないが大変面倒
0173デフォルトの名無しさん
垢版 |
2017/06/14(水) 19:05:27.78ID:QP2Q0Xjx
問題はメモリ食うことかな
0174デフォルトの名無しさん
垢版 |
2017/06/15(木) 18:38:11.28ID:EyGOo2Io
データをソートして出力したいんですが
TreeSetを使うとコンパレータのスコアが重複するデータは上書きされるみたいで
重複を許して保持するようなライブラリってありますでしょうか
0175デフォルトの名無しさん
垢版 |
2017/06/15(木) 18:48:33.62ID:B79jGaPH
ArrayListをソートしてどうぞ
0176デフォルトの名無しさん
垢版 |
2017/06/15(木) 19:00:21.53ID:EyGOo2Io
レスありがとうございます
ArrayListの中にsortらしいメソッドがみあたらないのですが
じぶんでsortアルゴリズムをかかなければいけないということなのでしょうか?
0177デフォルトの名無しさん
垢版 |
2017/06/15(木) 19:10:29.12ID:BXhoALLT
なんでこの会話はSetとListがごっちゃになってるんだ?
0180デフォルトの名無しさん
垢版 |
2017/06/15(木) 19:35:29.73ID:ttGDN5KX
TreeSetですでにコードかいてるなら
ComparableのcompareToが0だったら1を返すとか0を返さないようにすればいいだけ
0182デフォルトの名無しさん
垢版 |
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から認識されていないのが問題だと考えておりますが、
その理由がよくわかりません。
よろしくお願いします。
0184デフォルトの名無しさん
垢版 |
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);
}

ドライバクラスはスタティックイニシャライザでレジストするインプリメンテーションがデフォルト
0190デフォルトの名無しさん
垢版 |
2017/06/16(金) 23:56:36.61ID:mVd3o9jj
おまかん?
0194デフォルトの名無しさん
垢版 |
2017/06/17(土) 13:09:59.57ID:boIwNXkm
>>192
いや、初めて見た。
0196デフォルトの名無しさん
垢版 |
2017/06/17(土) 20:06:56.55ID:P9o9pGro
人の言動にまで注文つけるのか
おまかんがわからないなら訊けばいいだけだろ
0198デフォルトの名無しさん
垢版 |
2017/06/17(土) 20:33:28.55ID:Y15actJI
使わない方がいんじゃないかな?
なんでおまかんなんて言っちゃったんだ
破廉恥すぎるだろ、状況考えろよ
0200デフォルトの名無しさん
垢版 |
2017/06/17(土) 21:01:56.25ID:Y15actJI
>>199
文脈考えたら「おまかん」なんて使うべきじゃないってわかるよね?
下品だよ
0201デフォルトの名無しさん
垢版 |
2017/06/17(土) 21:03:42.82ID:Y15actJI
ドライバ見つかったのかな?
0208デフォルトの名無しさん
垢版 |
2017/06/17(土) 21:40:11.78ID:lbM+W8dy
で、どういう意味?
0209デフォルトの名無しさん
垢版 |
2017/06/17(土) 23:08:25.10ID:Y15actJI
>>206
どこで見たの?
場所を状況を考えて使おうよ
■ このスレッドは過去ログ倉庫に格納されています

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