15/10/08 22:27:12.49 ynCxIuiK.net
C:\に『java』というファイルを作成しそこにプログラムを入れて実行しようとしたのですが
メインクラスが見つからないと出ます
昨日はできたのにどうしてでしょうか
856:デフォルトの名無しさん
15/10/08 23:26:49.12 ynCxIuiK.net
>>855
sugaku.javaですべてのファイル形式で保存しました
javac sugaku.javaを入力しても、『ファイルが見つかりません』ばかり出ます
857:デフォルトの名無しさん
15/10/09 00:12:48.76 a9mGxvsP.net
java ファイルが見つかりませんで調べると一番上に出てくるような項目は試したの?
858:デフォルトの名無しさん
15/10/09 00:50:23.94 I9RA2luF.net
>>857
環境変数設定にミスはありません
また、ファイルの位置は上にもある通りC:\に『java』フォルダを作成しそこに入れてあります
昨日練習したプログラムも見つからない状態です
859:デフォルトの名無しさん
15/10/09 01:05:57.85 KCxg15Jd.net
>>858
カレントディレクトリはどうしてるの?
860:デフォルトの名無しさん
15/10/09 01:19:19.50 I9RA2luF.net
>>859
変数設定のカレントディレクトリですか?
元の場所の次に『;C:\Program……』と場所を入れて最後に\binと入れていますが間違っていますか?
861:デフォルトの名無しさん
15/10/09 01:34:12.18 sM7R5CVC.net
javac -version って打って返ってくる?
862:デフォルトの名無しさん
15/10/09 01:43:20.17 I9RA2luF.net
>>861
javac 1.8.0_60、今入れているversionの名前が出てきますね
863:デフォルトの名無しさん
15/10/09 01:51:39.70 sM7R5CVC.net
dir の実行結果は?
864:デフォルトの名無しさん
15/10/09 02:27:09.91 I9RA2luF.net
>>863
デスクトップ、ダウンロード、インテル、ミュージック、ピクチャーとPCによくあるリンクの名前が出てきますね
865:デフォルトの名無しさん
15/10/09 02:36:04.20 sM7R5CVC.net
それってホームディレクトリの結果じゃないの?
sugaku.java は dir の出力にある?
Cドライブの直下に作ったんじゃなかった?
866:デフォルトの名無しさん
15/10/09 02:40:17.95 I9RA2luF.net
Cドライブにフォルダを作りその中に入れたのでCドライブ直下にあることになるかと
これってコマンドプロンプトの実行先が変なことになってるぽい?
867:デフォルトの名無しさん
15/10/09 02:40:57.88 I9RA2luF.net
あ、dirの結果にはありませんね
sugaku.javaはおろか昨日練習で作ったものもすべて
868:デフォルトの名無しさん
15/10/09 02:41:49.43 RvyK0JdS.net
それを直下とは言わんだろw
869:デフォルトの名無しさん
15/10/09 02:48:43.21 a9mGxvsP.net
どれでもいいからやれ
・クラスパス設定する→$javac -classpath .:C:\java
・作ったjavaファイルの絶対パスを指定する→$javac C:\java\suaku.java
・windows 7とかなら$cd /d C:\javaを実行後に同じことしてみる
870:デフォルトの名無しさん
15/10/09 02:50:27.10 a9mGxvsP.net
あ一番上できねーかもしんねーや
一番下以外普段やらねーからあんま知らない
871:デフォルトの名無しさん
15/10/09 03:00:13.47 nq9OXxQm.net
YSRKENさんJavaでのスクリーンキャプチャアプリ完成させたんですね、おめでとうございます
872:デフォルトの名無しさん
15/10/09 03:00:58.82 nq9OXxQm.net
YSRKENさん
やたらstaticを使われているのは速度重視からなんですか?
873:デフォルトの名無しさん
15/10/09 03:09:51.38 sM7R5CVC.net
>>855 の説明は Cドライブにjavaディレクトリを作成して、その中にsugaku.javaファイルがあるってことかな?
自分でもそのあたりの理解が曖昧なんだろうけど、Javaに関する環境変数云々の前に、Windowsのコマンドプロントでのファイルやディレクトリの操作や移動の方法を覚えた方がいい。
>>869 がそれぞれ何を言っているのかが理解できれば、自分で問題に対処できるようになる。
874:デフォルトの名無しさん
15/10/09 03:50:15.12 OCSMkWDX.net
今いるディレクトリ(カレントディレクトリ)が「>」の左に表示されている
cdコマンドを引数なしで打つことでも確認できる
ここでjavacをしようとしても、sugaku.javaはC:\javaに存在していて、
カレントディレクトリ(恐らくC:\Users\ユーザー名だろう)にはないのだから、できない
C\:javaに移動した後にコンパイルせよ
cd \java
javac sugaku.java
875:デフォルトの名無しさん
15/10/09 14:02:12.04 UQvVHIvt.net
Javaの勉強はじめたいのですがJavaにおける、C++でいうプログラミング言語C++(ビャーネ本)のような書籍は何でしょうか?
つまり原本、聖典と俗称される書籍です。
876:デフォルトの名無しさん
15/10/09 14:21:07.70 UvHfkzt8.net
ヨハネの書
877:デフォルトの名無しさん
15/10/09 19:46:18.37 BsNT5RE7.net
Aクラスを継承したBクラスのオブジェクトしか生成しない場合って
そのBオブジェクトにnull代入してもAクラス部分は開放されない?
というかそもそもオブジェクト生成しない継承元クラスは作らないべきですか?
878:デフォルトの名無しさん
15/10/09 20:11:18.96 h1z+DBkO.net
メソッド内のローカル変数はスレッドセーフらしいのですが、スレッド内で作成したインスタンスはスレッドセーフですか?
※ローカル変数がスレッドセーフなのは、ローカル変数がスレッド固有のスタック内にあるという理由だと思っていますが、
インスタンスの実体はヒープで共有されるので、スレッドセーフではない?
public void testMethod(){
JTextArea textarea = new JTextArea()//スレッドセーフ?
}
879:デフォルトの名無しさん
15/10/09 20:21:01.43 sDmRIR0V.net
>>877
Bのインスタンス生成時にAのコンストラクタも(暗黙的にしろ)呼ばれるはずなので、
AをロードせずにBのインスタンス生成は無理だったような。
880:デフォルトの名無しさん
15/10/09 20:33:45.30 sDmRIR0V.net
>>878
インスタンスはヒープに置かれるのでスレッドセーフではない、という理解で良いはず。
881:デフォルトの名無しさん
15/10/09 20:50:36.50 I9RA2luF.net
>>868-874
ありがとうございます!
おかげでうまくコンパイルできました!!
882:デフォルトの名無しさん
15/10/09 22:38:01.93 h1z+DBkO.net
>>880
ありがとうございます。スッキリしました。
883:デフォルトの名無しさん
15/10/10 12:41:45.54 0lXvd5Js.net
>>877
BクラスのオブジェクトはA部分とB部分がくっついて一つのオブジェクトなので、
B部分だけを生成するとか取り出すとか破棄するなんてできないよ。
オブジェクト生成しない継承元クラスなんてよくあることだし。
884:デフォルトの名無しさん
15/10/10 13:50:14.41 b/aCg2KH.net
Javaの勉強を最近始めて、簡単なアプリでもソフトみたいの作りたいんだけど、
今の進み具合が変数宣言くらいまでで全然進んでなくて・・・
独学だからちょっとしたことでエラーが出るとすぐに折れてしまって
結果今のところで右往左往している状況で、やっぱり何か目標があればいんだけど。
自分の理想は、基本的なコードの書き方を勉強しながら、
一方で出来上がった何らかのプログラムをトレースしながらとりあえず作ってみたいって感じです
もし、出来上がったプログラムを公開しているサイトを知っている人がいたら教えてくれますか?
他にアドバイスあったら何でもいいのでください。
※持っている本・スキッリわかるJava入門
885:デフォルトの名無しさん
15/10/10 14:53:59.79 u8n9jLW2.net
向いていないので他の事をやる
886:デフォルトの名無しさん
15/10/10 15:32:17.82 NbY3/Ke0.net
向いてなさ過ぎだし、javaとかは無理だから javascriptレベルで経験積んだらよろし
887:デフォルトの名無しさん
15/10/10 16:37:12.59 2xZg/X0x.net
javascriptってjavaよりレベル下なん?
888:デフォルトの名無しさん
15/10/10 16:38:18.29 nLYmShQH.net
レベルってなんだ?
889:デフォルトの名無しさん
15/10/10 18:34:12.47 NbY3/Ke0.net
エラーが出て折れるような奴がCとかjavaでプログラミング出来るとは思えんし、そんな奴が作ったソース見たくもない
WEB系で適当に遊んでる程度にしてくれ
890:デフォルトの名無しさん
15/10/10 18:37:50.70 /45oeGFK.net
スッキリ分かるはやり易くないか?
俺もこの前やって全部終わったから実践編今やってる
891:デフォルトの名無しさん
15/10/10 19:48:55.35 TA42U0FR.net
サーブレットについて教えてください。
以下のようなことを考えています。
JSPからサーブレットを呼び出す → サーブレットで何らかの判定を行う → 元のJSPに戻って(呼び出して?)判定結果を表示する。
この場合、判定結果はどのように戻すのが一般的でしょうか?
ResponceはsetAttributeがないので、Requestに追加して返すものなのでしょうか?
892:デフォルトの名無しさん
15/10/10 21:28:34.29 uZ4C7Mol.net
調べたらそれで良いみたい。
結局RequestってRequestスコープって意味なんだな。
要はrequest responseって別に対応してるわけじゃないのね。
893:デフォルトの名無しさん
15/10/11 19:53:50.37 /K+UgrZV.net
同じくtomcatのservletを書いているのですが、例外はどこで受け止めてログに出せばよいでしょうか
明らかにここで処理して上に投げない という場所があればそこでログを出すか、又は処理したから出さない選択肢を取れるのですが
とりあえず上に投げとこ。投げとこ を繰り返してロガーに残らず落ちてしまいました。
doGetメソッド全体をtry{hogehogehoge...}catch(Exception e){logger.error(e);throw e;}で囲うしか無いのでしょうか
894:デフォルトの名無しさん
15/10/11 20:10:50.27 xslSO3l/.net
例外キャッチ用のフィルターを作っておけば良い
ここを例外の最終到達点にすれば、あとはどんな処理でもできる
895:デフォルトの名無しさん
15/10/11 21:52:06.20 cfPF8ERb.net
なるほど、勉強になる
896:デフォルトの名無しさん
15/10/11 22:47:35.34 AcvU8gg7.net
普通、ログレベルを設定してファイルに書き出すだろ。
エラーが発生してそれを追えないなんてありえない。
897:デフォルトの名無しさん
15/10/12 11:28:14.88 IvlFe/vj.net
サーブレット直接触ることなくなって久しい。せいぜいデバッグでリクエストやレスポンスの中身覗く程度になってる。
他の人達はどんなFW使ってるの?
うちは今はspring-boot(spring-mvc 4.x)メインなんだけど、業務系ならEE5や6が多いのかな。
898:デフォルトの名無しさん
15/10/12 14:10:57.09 TzA4wVPG.net
ライブラリJarを作成しようかと思っているのですが、そのライブラリの中で他のライブラリを利用する場面が出てきてしまいます。
これを配布する場合、ライブラリJarの中に他のライブラリを含める事になってしまうと思うのですか、これは正しいやり方なんでしょうか?
899:デフォルトの名無しさん
15/10/12 14:14:57.11 PAJ/NWkj.net
データベースに接続する際、
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
とするのが普通みたいなのですが、newInstance()の戻り値はどこへ行っているのでしょうか?また、
oracle.jdbc.driver.OracleDriver driver = new oracle.jdbc.driver.OracleDriver();
とするのとは、何が違うのでしょうか?
900:デフォルトの名無しさん
15/10/12 14:52:45.68 5OGIyOb6.net
>>899
newInstance()の戻り値は使われてないね。newInstance()がなくても動くはずよ。
Class.forNameしたときにOracleDriverのstaticイニシャライザが呼ばれてその中で
ドライバのインスタンスが作成されてDriverManagerに登録される。
Class.forNameとnew OracleDriver()は、ドライバを文字列で示すか、
識別子で示すかの違いでしょね。文字列で示すと、外部のファイルから
その文字列を受け取るようにしておけばプログラムを変えずにドライバを
入れ替えることができる。DBを変える予定ないんてないし、ドライバも変えません
ってことならnew oracle.jdbc.driver.OracleDriver()でも問題ないかと。
901:デフォルトの名無しさん
15/10/12 15:37:37.95 qTM2HYkT.net
>>898
jar自体は分けた状態で配布した方がいいんじゃないかな。
ライブラリを利用する人が、バージョン違いの同じ依存ライブラリを利用する時に、クラスパスの指定によって変なエラーが出たりするので。
902:デフォルトの名無しさん
15/10/13 16:10:38.77 Ii59yWoc.net
BufferedImageとImgageIO.writeを使ってインターネット上の画像をダウンロードして保存するプログラムを書いているのですが、アニメーションgifの場合保存されるのは最初の1フレームだけで、アニメーションになりません。
URL url = new URL("URLリンク(example.gif"));
URLConnection connection = url.openConnection();
BufferedImage bufferedImage = ImageIO.read(connection.getInputStream());
File saveFile = new File("example.gif"); ImageIO.write(bufferedImage, "gif", saveFile);
アニメーションをアニメーションとして保存する方法はありませんでしょうか?
903:デフォルトの名無しさん
15/10/13 16:33:26.79 9OilHHIY.net
>>902
単にファイルで保存したら?
java url ファイル保存 でぐぐれ
904:デフォルトの名無しさん
15/10/13 16:56:15.26 jHF5mps7.net
BufferedImage にした時点で単一画像しか扱えないんじゃないかな
よみこんだ InputStream をそのまま FileOutputStream に書き出せばいいと思う
905:デフォルトの名無しさん
15/10/13 19:23:18.69 vTSCKgfc.net
>>903
>>904
ありがとうございます。
ダウンロードしたものを表示するのにBufferedImageを使いたかったのでこのコードを使っていたのですが、表示には一度キャッシュしたものロードして使う事にしたいと思います。
906:デフォルトの名無しさん
15/10/13 20:49:09.71 jHF5mps7.net
URLリンク(www.javainthebox.net)
javax.imageio.ImageReader#read(index)
ってのを使えば複数画像データの何番目を読むとかできるみたいね
907:デフォルトの名無しさん
15/10/14 20:32:27.43 oEpS0TI9.net
正規表現で
「"abc":」「"defghi":」「"pq123"」
みたいに"hoge":の文字列を指定するにはどうすればよいでしょうか?
"^¥"$¥":" では間違いですよね?
よろしくお願いします
908:デフォルトの名無しさん
15/10/14 21:19:40.30 qepmoyFz.net
"\"[a-zA-Z1-9]+\":"とかそんなん
909:デフォルトの名無しさん
15/10/15 16:19:54.07 uSf6jKZU.net
samegameの隣あったマスの削除の判定を再帰使わずに実装する方法がわかんねぇ
910:デフォルトの名無しさん
15/10/15 17:00:09.51 QWsMOM9x.net
そりゃこまったねぇ
911:デフォルトの名無しさん
15/10/15 19:20:28.39 EQ6PpGqU.net
>>909
for文じゃだめかな
912:デフォルトの名無しさん
15/10/15 19:49:50.51 8HLDhcsw.net
.Net Frameworkのリファレンスと比べて、Java APIのドキュメントの日本語が読みづらいのは異常ですか?仕様ですか?
913:デフォルトの名無しさん
15/10/15 19:53:58.22 hO11ftzh.net
君の日本語が読み辛い
914:デフォルトの名無しさん
15/10/15 20:32:43.98 r3qFDNAG.net
有料と無料を比べてドヤ顔 MS厨
915:デフォルトの名無しさん
15/10/16 01:26:33.07 Hw46kEBB.net
非常に低レベルな質問で申し訳ないんですが
最近javaの勉強を始めユークリッドの互除法を使って最大公約数を求めるプログラムを組んだのですが
変数aとbが割り切れない数字の時に処理が終わらないプログラムになってしまいました
そういった場合に1を返すようにプログラムをしたいのですがいまいち方法が思いつきません
どういった手法があるかご教授いただけると助かります
短いのでクソース画像
URLリンク(minus-k.com)
916:デフォルトの名無しさん
15/10/16 01:56:51.94 Bu3hht9P.net
>>915
試してないけど、xとyの大小関係が逆転したらbreakするとか。
917:デフォルトの名無しさん
15/10/16 02:41:56.43 o+L9gctV.net
i=x%y は最初の1回しか実行されないよ
for(A; B; C)
のA最初の1回のみで変数宣言が可能
Bは終了条件でfalseになるとループ脱出
Cはループの最後に毎回実行される
答えかくのは簡単だけど自分で考えたほうがいいからまた動かなかったらおいで
918:デフォルトの名無しさん
15/10/16 03:51:49.75 EhkfcKR/.net
>samegameの隣あったマスの削除の判定を再帰使わずに実装する方法がわかんねぇ
4近傍のラベリング処理ってやつで塊ごとに固有番号振ればいいだけだよ
消すときは同一の番号のやつを消せばいいだけ
ぷよぷよとかも同じやりかたで行ける
919:デフォルトの名無しさん
15/10/16 04:11:49.24 AUXmOgsp.net
androidやWEBアプリをつくっていて、SQL文がSQLを学べる本とは違って
selectionなどの引数を用いておこなうメソッド経由での文だらけで、仕組みがよくわからない。
あれを練習したいが何点検索するといいんでしょうか。生のSQL文は理解してるから
1時間もあったらすぐわかるだろうけど
920:デフォルトの名無しさん
15/10/16 04:57:29.58 gPHlhu4r.net
>>919
日本語でおk
921:デフォルトの名無しさん
15/10/16 05:08:13.11 AUXmOgsp.net
SQLの本
SELECT * FROM 2ch
みたいな書き方だけど
プログラムは
.query(selection. order)
みたいに書くということです、後者の練習がしたいが該当項目が出てくる検索方法がわからない
922:デフォルトの名無しさん
15/10/16 05:23:26.71 scZWB8TV.net
いまテザインパターンの本を読んで感動しまくっているんですが
仕事でJavaを使ってる人ってどのくらいの人がデザインパターンを理解してるんですか?
ごく少数の数パーセントくらいですか?
それともこのくらいは理解できないと仕事できないからほぼ100パーセントですか?
あるいはJavaの仕事してる人でも半分くらいの50パーセントくらいですか?
923:デフォルトの名無しさん
15/10/16 05:59:45.15 VmTs2xyV.net
>>909>>911
for文で書けたぞ!
URLリンク(paiza.io)
924:デフォルトの名無しさん
15/10/16 06:15:33.66 VmTs2xyV.net
再帰なんかよりfor文のほうがスッキリするよな
925:デフォルトの名無しさん
15/10/16 08:07:11.04 jXGfcQ6G.net
>>921
C#のLinqを知っているかい?
LinqもSQL文を、プログラムで処理しやすいように、
関数風に書く
926:デフォルトの名無しさん
15/10/16 14:47:59.79 pkP/rzhV.net
>>922
どれ位の人が知ってるかは、周りの環境次第としか言えない。
他人のコードレビューする立場なら主要なパターンは当然知ってるべきかな。
経験上外注から上がってくるコードは割とクソが多い。
マイナーなパターンは使うべき状況にあまり遭遇しないから存在と概要だけ覚えとけばいいと思う。
個人的にはパターンを使うよりも、ちゃんと責務分割されててコメントや命名が分かりやすいコードになってるかが重要かな。
その上で適切にパターン使ってるならもう言うことなし。
927:デフォルトの名無しさん
15/10/16 16:27:51.82 nJkk2TZw.net
>>922
受け入れがたいだろうが貴方はデザパタを理解していない
そして、周りの人も理解していない
デザパタはそれを必要とする人がコソコソと用いるだけのものであって
多くの人のために開かれたものではない
多くの人にとっては無用の長物、ネコに小判
928:デフォルトの名無しさん
15/10/16 16:47:35.49 wRaOrUW4.net
カルト教かよ
お前は理解してんのか?説明してみろ
929:デフォルトの名無しさん
15/10/16 18:20:06.85 GetQEbg4.net
魔法の杖はありません
930:デフォルトの名無しさん
15/10/16 21:26:56.45 QAbFpyNL.net
デザパタって左足ブレーキみたいなもんで
ニワカが嬉しがっちゃう用途になりがち
本当に必要で分かってる人だけがコッソリそれをすればいい
聞きかじりのメリットとやらを宣伝しなくていいし
ブログに書いたり掲示板で話題にしたりしなくていい
ヘンに使命感をもって学習しようとしたりもしなくていい
931:915
15/10/16 22:24:00.58 FdWAXHN2.net
解決しました
ありがとうございます!
932:デフォルトの名無しさん
15/10/16 23:16:22.55 e8+chBx7.net
ソースコードの何割も占める様な技術ではない