[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 12/01 17:29 / Filesize : 259 KB / Number-of Response : 1010
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

☆★Java質問・相談スレッド174★★



1 名前:デフォルトの名無しさん mailto:sage [2015/06/26(金) 14:12:12.75 ID:I0KrLWwV.net]
プログラミング言語Javaに関する質問スレです。
JavaScript, Ajaxの質問は、ここでは受け付けていません。
Web製作管理    pc11.2ch.net/hp/
Webプログラミング 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質問・相談スレッド173★★ [転載禁止]©2ch.net
peace.2ch.net/test/read.cgi/tech/1429709719/

855 名前:デフォルトの名無しさん mailto:sage [2015/10/08(木) 02:45:36.19 ID:OsCqn7oj.net]
すいません探し方が悪かったみたいですね
swt win32 extension で検索してでてくるところはダウンロードが1つしかなかったので
そのファイル名で直接検索したのをいれたらうまくいきました
ありがとうございました
助かりました

856 名前:デフォルトの名無しさん mailto:sage [2015/10/08(木) 03:41:16.87 ID:l1fhWYWM.net]
ジェネリックで
public void <E> List<E> m();
というメソッドがあるときにvoidのあとの<E>はなぜ必要なのでしょうか?

857 名前:デフォルトの名無しさん mailto:sage [2015/10/08(木) 09:35:54.45 ID:IQ3lHv6X.net]
>>849
想像だけど、コンパイラがEってクラスと区別するため。ちなみにコード例だとTとか1文字が殆どだが普通のクラス名みたいな総称型も宣言可能

858 名前:デフォルトの名無しさん mailto:sage [2015/10/08(木) 09:46:56.12 ID:ze+KkH9u.net]
>>849
戻り値の型が2つあるのはなぜ?と思ったりするがそれは置いておいて…

Tは型パラメータと呼ばれるもので、別の型に読み替えられる部分。
この宣言がないと、Tという名前のクラスがない時にコンパイルエラーになる。

859 名前:デフォルトの名無しさん mailto:sage [2015/10/08(木) 09:47:29.14 ID:ze+KkH9u.net]
>>851
Tじゃなかった、Eだった

860 名前:デフォルトの名無しさん mailto:sage [2015/10/08(木) 09:55:40.32 ID:Ro3hhxH4.net]
クラスをジェネリックにしないでメソッドだけをジェネリックにするときに、メソッドの戻り値の型の前に<E>とか仮型引数の指定を入れる必要があるんじゃないの

861 名前:デフォルトの名無しさん mailto:sage [2015/10/08(木) 21:10:09.98 ID:c5bB1sZH.net]
aをbで割る際、余りが出る場合は小数点一位まで、余りなしの場合は
小数点なし(.0とかにしない)ってformat関数とかの一文でスマートに書くのは無理ですか?

862 名前:デフォルトの名無しさん mailto:sage [2015/10/08(木) 22:27:12.49 ID:ynCxIuiK.net]
C:\に『java』というファイルを作成しそこにプログラムを入れて実行しようとしたのですが
メインクラスが見つからないと出ます
昨日はできたのにどうしてでしょうか

863 名前:デフォルトの名無しさん mailto:sage [2015/10/08(木) 23:26:49.12 ID:ynCxIuiK.net]
>>855
sugaku.javaですべてのファイル形式で保存しました
javac sugaku.javaを入力しても、『ファイルが見つかりません』ばかり出ます



864 名前:デフォルトの名無しさん mailto:sage [2015/10/09(金) 00:12:48.76 ID:a9mGxvsP.net]
java ファイルが見つかりませんで調べると一番上に出てくるような項目は試したの?

865 名前:デフォルトの名無しさん mailto:sage [2015/10/09(金) 00:50:23.94 ID:I9RA2luF.net]
>>857
環境変数設定にミスはありません
また、ファイルの位置は上にもある通りC:\に『java』フォルダを作成しそこに入れてあります

昨日練習したプログラムも見つからない状態です

866 名前:デフォルトの名無しさん mailto:sage [2015/10/09(金) 01:05:57.85 ID:KCxg15Jd.net]
>>858
カレントディレクトリはどうしてるの?

867 名前:デフォルトの名無しさん mailto:sage [2015/10/09(金) 01:19:19.50 ID:I9RA2luF.net]
>>859
変数設定のカレントディレクトリですか?
元の場所の次に『;C:\Program……』と場所を入れて最後に\binと入れていますが間違っていますか?

868 名前:デフォルトの名無しさん mailto:sage [2015/10/09(金) 01:34:12.18 ID:sM7R5CVC.net]
javac -version って打って返ってくる?

869 名前:デフォルトの名無しさん mailto:sage [2015/10/09(金) 01:43:20.17 ID:I9RA2luF.net]
>>861
javac 1.8.0_60、今入れているversionの名前が出てきますね

870 名前:デフォルトの名無しさん mailto:sage [2015/10/09(金) 01:51:39.70 ID:sM7R5CVC.net]
dir の実行結果は?

871 名前:デフォルトの名無しさん mailto:sage [2015/10/09(金) 02:27:09.91 ID:I9RA2luF.net]
>>863
デスクトップ、ダウンロード、インテル、ミュージック、ピクチャーとPCによくあるリンクの名前が出てきますね

872 名前:デフォルトの名無しさん mailto:sage [2015/10/09(金) 02:36:04.20 ID:sM7R5CVC.net]
それってホームディレクトリの結果じゃないの?
sugaku.java は dir の出力にある?
Cドライブの直下に作ったんじゃなかった?

873 名前:デフォルトの名無しさん mailto:sage [2015/10/09(金) 02:40:17.95 ID:I9RA2luF.net]
Cドライブにフォルダを作りその中に入れたのでCドライブ直下にあることになるかと

これってコマンドプロンプトの実行先が変なことになってるぽい?



874 名前:デフォルトの名無しさん mailto:sage [2015/10/09(金) 02:40:57.88 ID:I9RA2luF.net]
あ、dirの結果にはありませんね
sugaku.javaはおろか昨日練習で作ったものもすべて

875 名前:デフォルトの名無しさん mailto:sage [2015/10/09(金) 02:41:49.43 ID:RvyK0JdS.net]
それを直下とは言わんだろw

876 名前:デフォルトの名無しさん mailto:sage [2015/10/09(金) 02:48:43.21 ID:a9mGxvsP.net]
どれでもいいからやれ
・クラスパス設定する→$javac -classpath .:C:\java
・作ったjavaファイルの絶対パスを指定する→$javac C:\java\suaku.java
・windows 7とかなら$cd /d C:\javaを実行後に同じことしてみる

877 名前:デフォルトの名無しさん mailto:sage [2015/10/09(金) 02:50:27.10 ID:a9mGxvsP.net]
あ一番上できねーかもしんねーや
一番下以外普段やらねーからあんま知らない

878 名前:デフォルトの名無しさん mailto:sage [2015/10/09(金) 03:00:13.47 ID:nq9OXxQm.net]
YSRKENさんJavaでのスクリーンキャプチャアプリ完成させたんですね、おめでとうございます

879 名前:デフォルトの名無しさん mailto:sage [2015/10/09(金) 03:00:58.82 ID:nq9OXxQm.net]
YSRKENさん
やたらstaticを使われているのは速度重視からなんですか?

880 名前:デフォルトの名無しさん mailto:sage [2015/10/09(金) 03:09:51.38 ID:sM7R5CVC.net]
>>855 の説明は Cドライブにjavaディレクトリを作成して、その中にsugaku.javaファイルがあるってことかな?

自分でもそのあたりの理解が曖昧なんだろうけど、Javaに関する環境変数云々の前に、Windowsのコマンドプロントでのファイルやディレクトリの操作や移動の方法を覚えた方がいい。
>>869 がそれぞれ何を言っているのかが理解できれば、自分で問題に対処できるようになる。

881 名前:デフォルトの名無しさん mailto:sage [2015/10/09(金) 03:50:15.12 ID:OCSMkWDX.net]
今いるディレクトリ(カレントディレクトリ)が「>」の左に表示されている
cdコマンドを引数なしで打つことでも確認できる
ここでjavacをしようとしても、sugaku.javaはC:\javaに存在していて、
カレントディレクトリ(恐らくC:\Users\ユーザー名だろう)にはないのだから、できない

C\:javaに移動した後にコンパイルせよ
cd \java
javac sugaku.java

882 名前:デフォルトの名無しさん mailto:sage [2015/10/09(金) 14:02:12.04 ID:UQvVHIvt.net]
Javaの勉強はじめたいのですがJavaにおける、C++でいうプログラミング言語C++(ビャーネ本)のような書籍は何でしょうか?
つまり原本、聖典と俗称される書籍です。

883 名前:デフォルトの名無しさん mailto:sage [2015/10/09(金) 14:21:07.70 ID:UvHfkzt8.net]
ヨハネの書



884 名前:デフォルトの名無しさん [2015/10/09(金) 19:46:18.37 ID:BsNT5RE7.net]
Aクラスを継承したBクラスのオブジェクトしか生成しない場合って
そのBオブジェクトにnull代入してもAクラス部分は開放されない?
というかそもそもオブジェクト生成しない継承元クラスは作らないべきですか?

885 名前:デフォルトの名無しさん mailto:sage [2015/10/09(金) 20:11:18.96 ID:h1z+DBkO.net]
メソッド内のローカル変数はスレッドセーフらしいのですが、スレッド内で作成したインスタンスはスレッドセーフですか?
※ローカル変数がスレッドセーフなのは、ローカル変数がスレッド固有のスタック内にあるという理由だと思っていますが、
インスタンスの実体はヒープで共有されるので、スレッドセーフではない?
public void testMethod(){
JTextArea textarea = new JTextArea()//スレッドセーフ?
}

886 名前:デフォルトの名無しさん mailto:sage [2015/10/09(金) 20:21:01.43 ID:sDmRIR0V.net]
>>877
Bのインスタンス生成時にAのコンストラクタも(暗黙的にしろ)呼ばれるはずなので、
AをロードせずにBのインスタンス生成は無理だったような。

887 名前:デフォルトの名無しさん mailto:sage [2015/10/09(金) 20:33:45.30 ID:sDmRIR0V.net]
>>878
インスタンスはヒープに置かれるのでスレッドセーフではない、という理解で良いはず。

888 名前:デフォルトの名無しさん mailto:sage [2015/10/09(金) 20:50:36.50 ID:I9RA2luF.net]
>>868-874
ありがとうございます!
おかげでうまくコンパイルできました!!

889 名前:デフォルトの名無しさん mailto:sage [2015/10/09(金) 22:38:01.93 ID:h1z+DBkO.net]
>>880
ありがとうございます。スッキリしました。

890 名前:デフォルトの名無しさん mailto:sage [2015/10/10(土) 12:41:45.54 ID:0lXvd5Js.net]
>>877
BクラスのオブジェクトはA部分とB部分がくっついて一つのオブジェクトなので、
B部分だけを生成するとか取り出すとか破棄するなんてできないよ。
オブジェクト生成しない継承元クラスなんてよくあることだし。

891 名前:デフォルトの名無しさん [2015/10/10(土) 13:50:14.41 ID:b/aCg2KH.net]
Javaの勉強を最近始めて、簡単なアプリでもソフトみたいの作りたいんだけど、
今の進み具合が変数宣言くらいまでで全然進んでなくて・・・
独学だからちょっとしたことでエラーが出るとすぐに折れてしまって
結果今のところで右往左往している状況で、やっぱり何か目標があればいんだけど。
自分の理想は、基本的なコードの書き方を勉強しながら、
一方で出来上がった何らかのプログラムをトレースしながらとりあえず作ってみたいって感じです
もし、出来上がったプログラムを公開しているサイトを知っている人がいたら教えてくれますか?
他にアドバイスあったら何でもいいのでください。
※持っている本・スキッリわかるJava入門

892 名前:デフォルトの名無しさん mailto:sage [2015/10/10(土) 14:53:59.79 ID:u8n9jLW2.net]
向いていないので他の事をやる

893 名前:デフォルトの名無しさん mailto:sage [2015/10/10(土) 15:32:17.82 ID:NbY3/Ke0.net]
向いてなさ過ぎだし、javaとかは無理だから javascriptレベルで経験積んだらよろし



894 名前:デフォルトの名無しさん mailto:sage [2015/10/10(土) 16:37:12.59 ID:2xZg/X0x.net]
javascriptってjavaよりレベル下なん?

895 名前:デフォルトの名無しさん mailto:sage [2015/10/10(土) 16:38:18.29 ID:nLYmShQH.net]
レベルってなんだ?

896 名前:デフォルトの名無しさん mailto:sage [2015/10/10(土) 18:34:12.47 ID:NbY3/Ke0.net]
エラーが出て折れるような奴がCとかjavaでプログラミング出来るとは思えんし、そんな奴が作ったソース見たくもない
WEB系で適当に遊んでる程度にしてくれ

897 名前:デフォルトの名無しさん mailto:sage [2015/10/10(土) 18:37:50.70 ID:/45oeGFK.net]
スッキリ分かるはやり易くないか?
俺もこの前やって全部終わったから実践編今やってる

898 名前:デフォルトの名無しさん [2015/10/10(土) 19:48:55.35 ID:TA42U0FR.net]
サーブレットについて教えてください。
以下のようなことを考えています。

JSPからサーブレットを呼び出す → サーブレットで何らかの判定を行う → 元のJSPに戻って(呼び出して?)判定結果を表示する。
この場合、判定結果はどのように戻すのが一般的でしょうか?
ResponceはsetAttributeがないので、Requestに追加して返すものなのでしょうか?

899 名前:デフォルトの名無しさん [2015/10/10(土) 21:28:34.29 ID:uZ4C7Mol.net]
調べたらそれで良いみたい。
結局RequestってRequestスコープって意味なんだな。
要はrequest responseって別に対応してるわけじゃないのね。

900 名前:デフォルトの名無しさん mailto:sage [2015/10/11(日) 19:53:50.37 ID:/K+UgrZV.net]
同じくtomcatのservletを書いているのですが、例外はどこで受け止めてログに出せばよいでしょうか
明らかにここで処理して上に投げない という場所があればそこでログを出すか、又は処理したから出さない選択肢を取れるのですが
とりあえず上に投げとこ。投げとこ を繰り返してロガーに残らず落ちてしまいました。

doGetメソッド全体をtry{hogehogehoge...}catch(Exception e){logger.error(e);throw e;}で囲うしか無いのでしょうか

901 名前:デフォルトの名無しさん mailto:sage [2015/10/11(日) 20:10:50.27 ID:xslSO3l/.net]
例外キャッチ用のフィルターを作っておけば良い
ここを例外の最終到達点にすれば、あとはどんな処理でもできる

902 名前:デフォルトの名無しさん mailto:sage [2015/10/11(日) 21:52:06.20 ID:cfPF8ERb.net]
なるほど、勉強になる

903 名前:デフォルトの名無しさん mailto:sage [2015/10/11(日) 22:47:35.34 ID:AcvU8gg7.net]
普通、ログレベルを設定してファイルに書き出すだろ。
エラーが発生してそれを追えないなんてありえない。



904 名前:デフォルトの名無しさん mailto:sage [2015/10/12(月) 11:28:14.88 ID:IvlFe/vj.net]
サーブレット直接触ることなくなって久しい。せいぜいデバッグでリクエストやレスポンスの中身覗く程度になってる。

他の人達はどんなFW使ってるの?
うちは今はspring-boot(spring-mvc 4.x)メインなんだけど、業務系ならEE5や6が多いのかな。

905 名前:デフォルトの名無しさん mailto:sage [2015/10/12(月) 14:10:57.09 ID:TzA4wVPG.net]
ライブラリJarを作成しようかと思っているのですが、そのライブラリの中で他のライブラリを利用する場面が出てきてしまいます。

これを配布する場合、ライブラリJarの中に他のライブラリを含める事になってしまうと思うのですか、これは正しいやり方なんでしょうか?

906 名前:デフォルトの名無しさん [2015/10/12(月) 14:14:57.11 ID:PAJ/NWkj.net]
データベースに接続する際、
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
とするのが普通みたいなのですが、newInstance()の戻り値はどこへ行っているのでしょうか?また、
oracle.jdbc.driver.OracleDriver driver = new oracle.jdbc.driver.OracleDriver();
とするのとは、何が違うのでしょうか?

907 名前:デフォルトの名無しさん [2015/10/12(月) 14:52:45.68 ID:5OGIyOb6.net]
>>899
newInstance()の戻り値は使われてないね。newInstance()がなくても動くはずよ。

Class.forNameしたときにOracleDriverのstaticイニシャライザが呼ばれてその中で
ドライバのインスタンスが作成されてDriverManagerに登録される。

Class.forNameとnew OracleDriver()は、ドライバを文字列で示すか、
識別子で示すかの違いでしょね。文字列で示すと、外部のファイルから
その文字列を受け取るようにしておけばプログラムを変えずにドライバを
入れ替えることができる。DBを変える予定ないんてないし、ドライバも変えません
ってことならnew oracle.jdbc.driver.OracleDriver()でも問題ないかと。

908 名前:デフォルトの名無しさん mailto:sage [2015/10/12(月) 15:37:37.95 ID:qTM2HYkT.net]
>>898
jar自体は分けた状態で配布した方がいいんじゃないかな。

ライブラリを利用する人が、バージョン違いの同じ依存ライブラリを利用する時に、クラスパスの指定によって変なエラーが出たりするので。

909 名前:デフォルトの名無しさん mailto:sage [2015/10/13(火) 16:10:38.77 ID:Ii59yWoc.net]
BufferedImageとImgageIO.writeを使ってインターネット上の画像をダウンロードして保存するプログラムを書いているのですが、アニメーションgifの場合保存されるのは最初の1フレームだけで、アニメーションになりません。

URL url = new URL("example.gif");
URLConnection connection = url.openConnection();
BufferedImage bufferedImage = ImageIO.read(connection.getInputStream());
File saveFile = new File("example.gif"); ImageIO.write(bufferedImage, "gif", saveFile);

アニメーションをアニメーションとして保存する方法はありませんでしょうか?

910 名前:デフォルトの名無しさん mailto:sage [2015/10/13(火) 16:33:26.79 ID:9OilHHIY.net]
>>902
単にファイルで保存したら?
java url ファイル保存 でぐぐれ

911 名前:デフォルトの名無しさん mailto:sage [2015/10/13(火) 16:56:15.26 ID:jHF5mps7.net]
BufferedImage にした時点で単一画像しか扱えないんじゃないかな
よみこんだ InputStream をそのまま FileOutputStream に書き出せばいいと思う

912 名前:デフォルトの名無しさん mailto:sage [2015/10/13(火) 19:23:18.69 ID:vTSCKgfc.net]
>>903
>>904
ありがとうございます。
ダウンロードしたものを表示するのにBufferedImageを使いたかったのでこのコードを使っていたのですが、表示には一度キャッシュしたものロードして使う事にしたいと思います。

913 名前:デフォルトの名無しさん mailto:sage [2015/10/13(火) 20:49:09.71 ID:jHF5mps7.net]
www.javainthebox.net/laboratory/JDK1.4/Graphics/ImageIO/ImageIO.html

javax.imageio.ImageReader#read(index)
ってのを使えば複数画像データの何番目を読むとかできるみたいね



914 名前:デフォルトの名無しさん mailto:sage [2015/10/14(水) 20:32:27.43 ID:oEpS0TI9.net]
正規表現で
「"abc":」「"defghi":」「"pq123"」
みたいに"hoge":の文字列を指定するにはどうすればよいでしょうか?
"^¥"$¥":" では間違いですよね?
よろしくお願いします

915 名前:デフォルトの名無しさん mailto:sage [2015/10/14(水) 21:19:40.30 ID:qepmoyFz.net]
"\"[a-zA-Z1-9]+\":"とかそんなん

916 名前:デフォルトの名無しさん mailto:sage [2015/10/15(木) 16:19:54.07 ID:uSf6jKZU.net]
samegameの隣あったマスの削除の判定を再帰使わずに実装する方法がわかんねぇ

917 名前:デフォルトの名無しさん mailto:sage [2015/10/15(木) 17:00:09.51 ID:QWsMOM9x.net]
そりゃこまったねぇ

918 名前:デフォルトの名無しさん mailto:sage [2015/10/15(木) 19:20:28.39 ID:EQ6PpGqU.net]
>>909
for文じゃだめかな

919 名前:デフォルトの名無しさん mailto:sage [2015/10/15(木) 19:49:50.51 ID:8HLDhcsw.net]
.Net Frameworkのリファレンスと比べて、Java APIのドキュメントの日本語が読みづらいのは異常ですか?仕様ですか?

920 名前:デフォルトの名無しさん mailto:sage [2015/10/15(木) 19:53:58.22 ID:hO11ftzh.net]
君の日本語が読み辛い

921 名前:デフォルトの名無しさん mailto:sage [2015/10/15(木) 20:32:43.98 ID:r3qFDNAG.net]
有料と無料を比べてドヤ顔 MS厨

922 名前:デフォルトの名無しさん mailto:sage [2015/10/16(金) 01:26:33.07 ID:Hw46kEBB.net]
非常に低レベルな質問で申し訳ないんですが
最近javaの勉強を始めユークリッドの互除法を使って最大公約数を求めるプログラムを組んだのですが
変数aとbが割り切れない数字の時に処理が終わらないプログラムになってしまいました
そういった場合に1を返すようにプログラムをしたいのですがいまいち方法が思いつきません
どういった手法があるかご教授いただけると助かります

短いのでクソース画像
minus-k.com/nejitsu/loader/up35208.jpg

923 名前:デフォルトの名無しさん mailto:sage [2015/10/16(金) 01:56:51.94 ID:Bu3hht9P.net]
>>915
試してないけど、xとyの大小関係が逆転したらbreakするとか。



924 名前:デフォルトの名無しさん mailto:sage [2015/10/16(金) 02:41:56.43 ID:o+L9gctV.net]
i=x%y は最初の1回しか実行されないよ

for(A; B; C)
のA最初の1回のみで変数宣言が可能
Bは終了条件でfalseになるとループ脱出
Cはループの最後に毎回実行される

答えかくのは簡単だけど自分で考えたほうがいいからまた動かなかったらおいで

925 名前:デフォルトの名無しさん mailto:sage [2015/10/16(金) 03:51:49.75 ID:EhkfcKR/.net]
>samegameの隣あったマスの削除の判定を再帰使わずに実装する方法がわかんねぇ

4近傍のラベリング処理ってやつで塊ごとに固有番号振ればいいだけだよ
消すときは同一の番号のやつを消せばいいだけ
ぷよぷよとかも同じやりかたで行ける

926 名前:デフォルトの名無しさん [2015/10/16(金) 04:11:49.24 ID:AUXmOgsp.net]
androidやWEBアプリをつくっていて、SQL文がSQLを学べる本とは違って
selectionなどの引数を用いておこなうメソッド経由での文だらけで、仕組みがよくわからない。

あれを練習したいが何点検索するといいんでしょうか。生のSQL文は理解してるから
1時間もあったらすぐわかるだろうけど

927 名前:デフォルトの名無しさん mailto:sage [2015/10/16(金) 04:57:29.58 ID:gPHlhu4r.net]
>>919
日本語でおk

928 名前:デフォルトの名無しさん mailto:sage [2015/10/16(金) 05:08:13.11 ID:AUXmOgsp.net]
SQLの本
SELECT * FROM 2ch

みたいな書き方だけど
プログラムは
.query(selection. order)
みたいに書くということです、後者の練習がしたいが該当項目が出てくる検索方法がわからない

929 名前:デフォルトの名無しさん [2015/10/16(金) 05:23:26.71 ID:scZWB8TV.net]
いまテザインパターンの本を読んで感動しまくっているんですが
仕事でJavaを使ってる人ってどのくらいの人がデザインパターンを理解してるんですか?

ごく少数の数パーセントくらいですか?
それともこのくらいは理解できないと仕事できないからほぼ100パーセントですか?
あるいはJavaの仕事してる人でも半分くらいの50パーセントくらいですか?

930 名前:デフォルトの名無しさん [2015/10/16(金) 05:59:45.15 ID:VmTs2xyV.net]
>>909>>911
for文で書けたぞ!

https://paiza.io/projects/NDge8BUGdO_rti4G5yVm9w

931 名前:デフォルトの名無しさん [2015/10/16(金) 06:15:33.66 ID:VmTs2xyV.net]
再帰なんかよりfor文のほうがスッキリするよな

932 名前:デフォルトの名無しさん mailto:sage [2015/10/16(金) 08:07:11.04 ID:jXGfcQ6G.net]
>>921
C#のLinqを知っているかい?

LinqもSQL文を、プログラムで処理しやすいように、
関数風に書く

933 名前:デフォルトの名無しさん mailto:sage [2015/10/16(金) 14:47:59.79 ID:pkP/rzhV.net]
>>922
どれ位の人が知ってるかは、周りの環境次第としか言えない。
他人のコードレビューする立場なら主要なパターンは当然知ってるべきかな。
経験上外注から上がってくるコードは割とクソが多い。

マイナーなパターンは使うべき状況にあまり遭遇しないから存在と概要だけ覚えとけばいいと思う。

個人的にはパターンを使うよりも、ちゃんと責務分割されててコメントや命名が分かりやすいコードになってるかが重要かな。
その上で適切にパターン使ってるならもう言うことなし。



934 名前:デフォルトの名無しさん mailto:sage [2015/10/16(金) 16:27:51.82 ID:nJkk2TZw.net]
>>922
受け入れがたいだろうが貴方はデザパタを理解していない
そして、周りの人も理解していない
デザパタはそれを必要とする人がコソコソと用いるだけのものであって
多くの人のために開かれたものではない
多くの人にとっては無用の長物、ネコに小判

935 名前:デフォルトの名無しさん mailto:sage [2015/10/16(金) 16:47:35.49 ID:wRaOrUW4.net]
カルト教かよ
お前は理解してんのか?説明してみろ

936 名前:デフォルトの名無しさん mailto:sage [2015/10/16(金) 18:20:06.85 ID:GetQEbg4.net]
魔法の杖はありません

937 名前:デフォルトの名無しさん mailto:sage [2015/10/16(金) 21:26:56.45 ID:QAbFpyNL.net]
デザパタって左足ブレーキみたいなもんで
ニワカが嬉しがっちゃう用途になりがち
本当に必要で分かってる人だけがコッソリそれをすればいい
聞きかじりのメリットとやらを宣伝しなくていいし
ブログに書いたり掲示板で話題にしたりしなくていい
ヘンに使命感をもって学習しようとしたりもしなくていい

938 名前:915 mailto:sage [2015/10/16(金) 22:24:00.58 ID:FdWAXHN2.net]
解決しました
ありがとうございます!

939 名前:デフォルトの名無しさん mailto:sage [2015/10/16(金) 23:16:22.55 ID:e8+chBx7.net]
ソースコードの何割も占める様な技術ではない

940 名前:922 [2015/10/17(土) 00:06:38.94 ID:OlfIcJ9S.net]
>>926>>927
ということは仕事でJava使ってる人でもデザインパターンをちゃんと理解してる人は50パーセントくらいの感じでしょうか。

というのはオレはヘルプデスクからプログラミングへ転職を考えてますが
デザインパターンをちゃんと理解してる人がそんなにいないなら、これはチャンスだし転職も容易と思えるからです。

941 名前:デフォルトの名無しさん mailto:sage [2015/10/17(土) 00:23:46.20 ID:e2r+DMo3.net]
>>933
ヘルプデスクからプログラミングへ転職ってどういうことですか?ヘルプデスクってなんですかそれ

942 名前:デフォルトの名無しさん mailto:sage [2015/10/17(土) 01:06:17.12 ID:8kH+SVdS.net]
>>933
馬鹿には無理

943 名前:デフォルトの名無しさん mailto:sage [2015/10/17(土) 08:54:14.49 ID:2YkqVza8.net]
いいんじゃね
ドカタ要員はいくらいてもいいんだし w



944 名前:デフォルトの名無しさん mailto:sage [2015/10/17(土) 12:52:44.98 ID:GILp5sge.net]
>>933
デザパタって設計のテクニックの一つに過ぎない。

パターン使いたい病になる気持ちはわかる、自分もそうだったし。

ただ、本来抽象化すべきでないとこにパターン適用したことで後から困るような失敗も経験すると、パターン適用の見極めの方が何倍も大事ということが分かるよ。

なので、
設計技法 >>> パターン
な訳で、基礎をすっとばして応用的なことやるのはあまり良くないと思うけど、一度手痛い失敗やらかすのも悪くないから頑張ってw

945 名前:デフォルトの名無しさん mailto:sage [2015/10/17(土) 15:06:48.64 ID:uICA5FX+.net]
設計技法って言葉が出てきたので便乗で・・・
今、設計やモデリングツールや仕様書など、実装の前段階にあたる部分で理解しておくといい知識やツールってどんな物がありますか?
漠然とした質問で申し訳ないですが、漠然とした回答でいいのでお願いします。

946 名前:デフォルトの名無しさん mailto:sage [2015/10/17(土) 15:18:57.23 ID:p4SSeh0x.net]
ウォーターホール

947 名前:デフォルトの名無しさん mailto:sage [2015/10/17(土) 20:29:44.38 ID:9Rm1dH0I.net]
水穴開けるわよ!

948 名前:デフォルトの名無しさん mailto:sage [2015/10/17(土) 21:41:36.75 ID:r3QbPfmQ.net]
エスケープキーの検出は、キーコードの数値判定だけ?
定番の判定方法ってある?

949 名前:デフォルトの名無しさん mailto:sage [2015/10/18(日) 00:22:12.97 ID:u/eLiR3R.net]
apache-poiを使ってExcelのヘッダに画像を挿入したいんですが
やりかた知ってる人がいたら教えてください。

POIでシートに張ることはできるんですが
ヘッダフッタへの貼り方が全然わからない・・・

950 名前:デフォルトの名無しさん mailto:sage [2015/10/18(日) 01:54:08.50 ID:jPVfVEl+.net]
サーブレットのサンプルを見てると次の記述があります。

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.getWriter().append("Served at: ").append(request.getContextPath());
PrintWriter writer = response.getWriter();

インターフェイスにはメソッドの処理は実装できないと思うのですが、事前に実装されてるとしか思えない getWriter() を使えるのは何故でしょうか?
また、インスタンスを作っているようにも見えないのに、staticでないgetWriter を使えるのは何故でしょうか?

951 名前:デフォルトの名無しさん mailto:sage [2015/10/18(日) 01:56:37.96 ID:eMJMGjeu.net]
>>942
すでに張ってあるファイルをコピーして作るくらいしか手はなさそう
API見ても対応してなさそうだし

952 名前:デフォルトの名無しさん mailto:sage [2015/10/18(日) 02:03:14.18 ID:eMJMGjeu.net]
>>943
このクラスを呼び出すクラスで、HttpServletResponseを実装したクラスのインスタンスを作ってるから

953 名前:デフォルトの名無しさん mailto:sage [2015/10/18(日) 07:03:17.10 ID:u/eLiR3R.net]
>>944
やっぱりそうですか、poiでできないなら別の方法を探してみます。
ありがとうございますー



954 名前:デフォルトの名無しさん [2015/10/18(日) 19:08:44.66 ID:VW0iyRT8.net]
Raspberry PiでJavaを使ってサーボ制御って出来る?

955 名前:デフォルトの名無しさん mailto:sage [2015/10/18(日) 19:54:28.46 ID:pfglOAUH.net]
頑張ればいけるんじゃない?
セットアップして試せば
www.oracle.com/technetwork/jp/articles/java/ja-topics/raspberrypi-1704896-ja.html

956 名前:デフォルトの名無しさん mailto:sage [2015/10/19(月) 03:00:15.00 ID:sW5aK9Gz.net]
mapのキャパシティサイズを指定した時に、そのキャパシティサイズを取得する方法はありますか

957 名前:デフォルトの名無しさん mailto:sage [2015/10/19(月) 08:54:08.36 ID:dUNVBx12.net]
実験コードを書きながらコードのツギハギしてると
どんどんプログラムが汚くなっていくんだけどどうすればいいの…?

958 名前:デフォルトの名無しさん mailto:sage [2015/10/19(月) 10:53:16.36 ID:WuL1GIGU.net]
捨てる

959 名前:デフォルトの名無しさん mailto:sage [2015/10/19(月) 13:41:06.22 ID:ZUDzYX5G.net]
>>950
本体で実験しない
実験は常に小さい単独のプログラム作ってそっちでやる

960 名前:デフォルトの名無しさん mailto:sage [2015/10/19(月) 13:44:08.79 ID:S9vj8UxK.net]
ソースバージョン管理システム使ってブランチ切って実験するとか
バージョン管理してれば、いらないコードを最新版からバサっと削除してもあとから見れるし

961 名前:デフォルトの名無しさん mailto:sage [2015/10/19(月) 18:05:04.30 ID:PFU/xwPn.net]
keylistener とmousemotionlistener
でゲームの操作をさせようとしているのですが
キーボードを押し続けるとマウスが動きにくくなりますよね
javaプログラムに限った話ではないかもしれませんが。
そこが相談したい部分で、キーをおしっぱなしでもマウスを普通に動かせるようにしたいんです
どうしたらいいでしょうか

962 名前:デフォルトの名無しさん mailto:sage [2015/10/19(月) 18:17:48.39 ID:UyH4f21L.net]
それはPCのスペックの問題だからjavaではどうしようもない
それに似た現象としてキーボードの同時押しに制限がある

963 名前:デフォルトの名無しさん mailto:sage [2015/10/19(月) 19:51:54.94 ID:bXGeeSlf.net]
そうですか残念
ありがとうございました



964 名前:デフォルトの名無しさん mailto:sage [2015/10/20(火) 22:18:51.59 ID:fnS6SczI.net]
Eclipseでサーブレットの勉強をしています。
コードを入力し、サーバーを起動して
localhost:8080/SampleServlet/sample
にアクセスすると、
HTTPステータス 404 - /SampleServlet/sampleと表示されます。

@WebServletアノテーションで("/sample")と指定しています。

965 名前:デフォルトの名無しさん [2015/10/20(火) 22:24:38.30 ID:IwRp7OY3.net]
>>957
localhost:8080/sample
なんじゃね

966 名前:デフォルトの名無しさん mailto:sage [2015/10/20(火) 22:37:36.17 ID:fnS6SczI.net]
>>958
それでもエラーになりました。

967 名前:デフォルトの名無しさん mailto:sage [2015/10/20(火) 23:00:39.69 ID:3raa9HQu.net]
おれも今ちょっと勉強はじめたとこだけど
動的Webプロジェクトで作ったプロジェクトは @WebServlet("/sample") を書いとけば、
localhost:8080/プロジェクト名/sample
でアクセスできてる

968 名前:デフォルトの名無しさん mailto:sage [2015/10/20(火) 23:05:24.74 ID:fnS6SczI.net]
>>960
自分も動的Webプロジェクトでそのように作成しました。
しかし、エラーが出てしまうのです。

969 名前:デフォルトの名無しさん mailto:sage [2015/10/20(火) 23:14:30.12 ID:PyWLD+Ok.net]
>>957
Tomcatのコンテキストルートはどう指定してるの?

970 名前:デフォルトの名無しさん mailto:sage [2015/10/20(火) 23:15:18.08 ID:3raa9HQu.net]
>>961
プロジェクト名もサーブレットのクラス名もSampleServletなの?

971 名前:デフォルトの名無しさん mailto:sage [2015/10/20(火) 23:22:18.70 ID:miPgU8b9.net]
わくわく

972 名前:デフォルトの名無しさん mailto:sage [2015/10/20(火) 23:23:36.32 ID:fnS6SczI.net]
>>962
コンテキストルートは
xmlファイルがどこにあるかということでしょうか?


>>963
そうです。

973 名前:デフォルトの名無しさん mailto:sage [2015/10/21(水) 02:38:41.11 ID:s8FMtkFq.net]
>>965
www.javadrive.jp/servlet/context/index2.html
ここに書いてあるような方法で、まず静的なファイルが意図通りのURLで表示できるか試すとか



974 名前:デフォルトの名無しさん [2015/10/21(水) 10:24:11.78 ID:Nls/btnY.net]
public void process(Node node) {
if (node instanceof A) {
int x = node.getX() + id;
} else if (node instanceof B) {
int y = node.getY() * vel;
}
}
をinstanceofを使わずにする方法としてVisitorパターンがあるですが、
どうやって書けばいいのだろう?
interfaceとか色々使うみたいだけど。

975 名前:デフォルトの名無しさん mailto:sage [2015/10/21(水) 10:31:00.94 ID:7n0rRQVk.net]
まず課題をネットに丸投げをする
希望する答えが返ってこなかったら逆切れする
最後は自己解決しましたという

というフローを使う

976 名前:デフォルトの名無しさん mailto:sage [2015/10/21(水) 12:03:54.79 ID:L63gddsx.net]
>>967
NodeVisitor クラスでも作って、引数がAのvisitメソッドと引数がBのvisitメソッドを定義すればいけるんじゃないの?
ただこの例に限ってはわざわざパターンを適用する必要もないと思うけど。

977 名前:デフォルトの名無しさん [2015/10/21(水) 18:02:21.46 ID:Nls/btnY.net]
>>969
instanceofを使いたくなかったので。
>>968
逆切れはしたくないな。

もう少し、考えて見ます。ありがとう

978 名前:デフォルトの名無しさん mailto:sage [2015/10/21(水) 20:45:00.93 ID:j67pUuvm.net]
Java SE 8 Update 65 and 8 Update 66キター

979 名前:デフォルトの名無しさん mailto:sage [2015/10/21(水) 23:09:44.02 ID:J12O5XBu.net]
なんで二個あるんだろう

980 名前:デフォルトの名無しさん [2015/10/22(木) 11:25:15.13 ID:jQNxSPqO.net]
クラス図を勉強中ですが
Windowsでクラス図を書くフリーのツールはどんなのがありますか?

981 名前:デフォルトの名無しさん mailto:sage [2015/10/22(木) 13:48:19.96 ID:fqtxiyxX.net]
astah* でいいんでね

982 名前:デフォルトの名無しさん mailto:sage [2015/10/22(木) 17:55:06.74 ID:Vnelzb0X.net]
astahはまれにみる糞UIソフト

983 名前:デフォルトの名無しさん mailto:sage [2015/10/22(木) 18:45:51.38 ID:kl5n9Pw0.net]
俺の職歴はまれにみる糞SIループ



984 名前:デフォルトの名無しさん mailto:sage [2015/10/22(木) 21:49:03.46 ID:IvtBMxDJ.net]
DBViewerでええやろ

985 名前:デフォルトの名無しさん mailto:sage [2015/10/22(木) 21:50:04.57 ID:IvtBMxDJ.net]
AmaterasUMLと間違えた、すまん

986 名前:デフォルトの名無しさん [2015/10/22(木) 22:19:51.60 ID:j0jvyW+p.net]
突然すみません
どなたかJAXBに詳しい方はいらっしゃいませんか?

気象庁のXMLをパースして地図上に地震情報を描画するプログラムを
作ろうと思っているのですが,あんまーしゃるがうまくできないのです

987 名前:デフォルトの名無しさん mailto:sage [2015/10/22(木) 22:23:07.83 ID:E2M03stw.net]
>気象庁のXML
>あんまーしゃる

バカには無理。

988 名前:デフォルトの名無しさん mailto:sage [2015/10/22(木) 22:33:26.76 ID:EycPERLK.net]
>>979
うまく出来ないって
何がどう出来ない?

989 名前:デフォルトの名無しさん mailto:sage [2015/10/22(木) 22:43:26.44 ID:j0jvyW+p.net]
>>981
気象庁から出てるXMLはすべて
<Report>
<Control>hoge</Control>
<Head>huga</Head>
<Body>(ここが一番知りたい)</Body>
</Report>
という形をしています.

僕は地震・火山のXMLを受信しており,
ReportをunmarchalしてControl,Headはオブジェクトに変換できました.

しかし肝心のBodyがunmarchalできなくて困っています.
どうやらReportたちとBodyは名前空間がことなるようで...

不勉強で申し訳ありません

990 名前:デフォルトの名無しさん mailto:sage [2015/10/22(木) 23:03:57.84 ID:UaTeD0BD.net]
>>982
d.hatena.ne.jp/Kazuhira/touch/20120716/1342441007
ここが参考になりそう

991 名前:デフォルトの名無しさん mailto:sage [2015/10/22(木) 23:23:06.34 ID:j0jvyW+p.net]
>>983
ありがとうございます.
大変参考になりました.

しかし残念ながらうまく解決できませんでした.
対応を間違ったのかもしれません...

992 名前:デフォルトの名無しさん mailto:sage [2015/10/22(木) 23:29:44.93 ID:j0jvyW+p.net]
後出しで大変すみません.

今unmarshalしたいXMLは
<Report xmlns="xml.kishou.go.jp/jmaxml1/" xmlns:jmx="xml.kishou.go.jp/jmaxml1/">
<Control>hoge</Control>
<Head xmlns="xml.kishou.go.jp/jmaxml1/informationBasis1/">fuga</Head>
<Body xmlns="xml.kishou.go.jp/jmaxml1/body/seismology1/" xmlns:jmx_eb="xml.kishou.go.jp/jmaxml1/elementBasis1/">
(Bodyの中身)
</Body>
</Report>
という形をしています.

BodyはReportと名前空間が違うと思うのですが,僕の誤りでしょうか.

またReportのxsdファイルを見ると,Bodyの部分はAnyElementとなっています.
そしてHeadはうまくオブジェクトにunmarshalできており,
ReportのインスタンスからBodyをgetしようとすると,
Bodyにキャストできないオブジェクト(org.apache.xerces.dom.ElementNSImpl)が帰ってきます.

993 名前:デフォルトの名無しさん mailto:sage [2015/10/23(金) 04:42:57.03 ID:4ap3tGBm.net]
どれかわかるのだけでもお願いします

1、byte配列の要素(インデックス)を指定してint値と比較したい
C言語で言う所の
 if(data[0] == 1)
これをJavaに書き換えたら
 if(Integer.parseInt(String.valueOf(data[0])) == 1)
これにたどり着いたんだけど他にスマートな方法無いかな?

2、byte配列の4区間を1つのint値に変換したい
C言語で言う所の
 int number = *((DWORD*)(&(data[10]))) // data[10]〜data[13]を4バイトの値としてint配列へ

3、byte配列にUnicode文字の値が入ってる状態で
それをeditText.append(data);で使用できる形にしたい



994 名前:デフォルトの名無しさん mailto:sage [2015/10/23(金) 04:46:54.71 ID:4ap3tGBm.net]
>>986
EditTextはAndroidでした
3、はStringに変換したいという事でお願いします

995 名前:デフォルトの名無しさん mailto:sage [2015/10/23(金) 05:04:11.14 ID:QtxgoMkI.net]
うめ。

996 名前:デフォルトの名無しさん mailto:sage [2015/10/23(金) 09:19:48.61 ID:eGZdE5Vd.net]
>>986
1 if(data[0] == 1)

2 ByteBuffer.wrap(data).getInt()

997 名前:デフォルトの名無しさん mailto:sage [2015/10/23(金) 09:56:44.38 ID:FdYbG3h+.net]
"hoge'".replaceAll("'", "\\'")
がなぜか
hoge\'
になってくれずhoge'になってしまいます。
どうしたらhoge\'になってくれるでしょうか?

998 名前:デフォルトの名無しさん mailto:sage [2015/10/23(金) 10:08:12.81 ID:aik7mNNJ.net]
"hoge'".replaceAll("'", "\\\\'")

www.javadrive.jp/regex/replace/index3.html

999 名前:デフォルトの名無しさん mailto:sage [2015/10/23(金) 10:12:16.22 ID:FdYbG3h+.net]
>>991
天才ですか?

1000 名前:デフォルトの名無しさん mailto:sage [2015/10/23(金) 10:36:10.26 ID:4ap3tGBm.net]
>>989
ありがとうございます!
1,のやり方で書いても型合わせてねってエラー出たから調べてたのに今やったらできました
試行錯誤してる間に別の何かも変更されてそっちが原因だったのかもしれません

1001 名前:デフォルトの名無しさん mailto:sage [2015/10/23(金) 19:44:37.04 ID:LqfZEE05.net]


1002 名前:デフォルトの名無しさん mailto:sage [2015/10/23(金) 22:10:07.88 ID:JSe1P5F3.net]
サーブレットとか勉強したいのですが、ダウンロードするのはJava EE 7 SDKでいいのですね?
そうするとJava8の機能は使えないのですか?

1003 名前:デフォルトの名無しさん mailto:sage [2015/10/23(金) 22:14:49.65 ID:sB1GrBUA.net]
>>995
mergedoc.osdn.jp/
こっからEclipse 4.5 MarsのJava Full Edition落とせばおk



1004 名前:デフォルトの名無しさん mailto:sage [2015/10/23(金) 22:51:44.73 ID:JSe1P5F3.net]
>>996
ありがとうございます。

1005 名前:デフォルトの名無しさん mailto:sage [2015/10/23(金) 23:05:26.68 ID:9C9skM4j.net]
うめ

1006 名前:デフォルトの名無しさん mailto:sage [2015/10/23(金) 23:07:07.11 ID:sB1GrBUA.net]
梅干

1007 名前:デフォルトの名無しさん mailto:sage [2015/10/23(金) 23:07:34.55 ID:9C9skM4j.net]
1000だったら彼女にプロポーズする!

1008 名前:1001 [Over 1000 Thread.net]
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。

1009 名前:過去ログ ★ [[過去ログ]]
■ このスレッドは過去ログ倉庫に格納されています






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<259KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef