X



Java入門・初心者質問スレ Part.4 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
0736デフォルトの名無しさん
垢版 |
2017/09/18(月) 23:14:25.43ID:dedSK5h5
ガイジに触るな
つけあがるだけだから
0737デフォルトの名無しさん
垢版 |
2017/09/19(火) 03:15:00.25ID:nlkSBfsW
ま、そっとしといてやれ。
0739デフォルトの名無しさん
垢版 |
2017/09/19(火) 17:31:26.90ID:wzTNYtyj
今は字下げにTAB使ってて、他人と組むことはないからどっちが正しいとかはどうでもいいのだけど、それでもちょっと前に自分が作った奴は字下げにスペース使っててしかも2個だったり4個だったり
まあ動作に支障ないから放っておいてもいいとはいいのだけど自動でどっちかのルールに統一して書き換えてくれるツールはないでしょうか
0741デフォルトの名無しさん
垢版 |
2017/09/19(火) 17:50:37.52ID:hoc+jdT8
>>739
あるんじゃねえか?

でもお題として丁度良さそうな難易度なのでお題にしてみんなに作らせてもいいかもなw
行頭のスペースをタブに変換。
0744デフォルトの名無しさん
垢版 |
2017/09/19(火) 19:46:48.16ID:HsBqGOx3
ネットビーンズじゃダメなの・・・
0748デフォルトの名無しさん
垢版 |
2017/09/19(火) 22:15:13.10ID:TjZ5lvcl
>>739
IDEのコードフォーマッターぐらい使えよ
コメント位置すらちゃんと設定通りにしてくれるぞ

つーかコード規約決めた後にIDE側で設定して
保存時かコンパイル時に自動でフォーマットかける設定にするんじゃないの普通
0753デフォルトの名無しさん
垢版 |
2017/09/20(水) 09:26:35.78ID:ISdLOp37
質問すいません。
プログラムはある程度できるのですが、画像の処理関係は全くの素人なのです。
やりたいことは画像を比較して類似しているかどうか調べるというものなのです。
ただ、画像がとても多く、画像の追加も頻繁にあるので困っています。
どのようにすると良いでしょう?
0755デフォルトの名無しさん
垢版 |
2017/09/20(水) 11:59:57.72ID:8B/Smyuh
とある本(サンプルソースがJAVA)で、下記のような文章があり、よくわからない状況です。
ーー引用ーー
自己カプセル化を使っているときは、コンストラクタ内のsetメソッドの使用には注意が必要です。
多くの場合、オプジェクトが生成されたあとの変更用にsetメソッドが使われることを想定しているので、
setメソッドには、初期化時とは異なる振る舞いを持たせることになるでしよう。
そのため、コンストラクタから直接アクセスを使うか、別に設ける初期化メソッドを使うのがよいでしよう。
ーー引用ーー

Q、私の拙い解釈だと、「コンストラクタ内でsetメソッド使用は避けよ」と言っているようなのですが、理由が読み解けません。どなたか、わかりますか?
0756デフォルトの名無しさん
垢版 |
2017/09/20(水) 14:41:07.62ID:DYqQfVY4
>>755
プロパティa,bがあったとして
すべてのインスタンスは何らかの値を持ってたとする
setAではbの内容を参照するとする
でもコンストラクタでの手順によってはbはまだ初期化されてない

借り値を入れとくとか手順を考えるとかもあるけど
その著者はsetを使わないことにしてるんじゃない

私はvalidateとかをsetに入れてるので極力使うよ
0757デフォルトの名無しさん
垢版 |
2017/09/20(水) 15:45:58.63ID:8B/Smyuh
コンストラクタ内の処理が走っている段階では、
そのクラスはまだ不完全で、メソッドかフィールド変数かが
利用できない状態かもしれない、だからsetterは控えよう……
ということでしょうか?

参考書の著者は控えようと言っているけども、
現在のJVM環境なら、さして気にすることもないから
setter使っていいよ! ……ってことでしょうか?

なんだか混乱してます……(><;
0759デフォルトの名無しさん
垢版 |
2017/09/20(水) 17:56:10.76ID:lixqcDrr
>>757
setterを控えよう、じゃなくて、setterをはじめとするオブジェクトの状態を変更するメソッドの呼び出しには気をつけようってこと
パブリックなsetメソッドは完全なオブジェクトに対し状態変更のため外部から呼び出されるという用途であること多いから、気をつけないといけないポイントの代表例として挙げてあるだけ
0760デフォルトの名無しさん
垢版 |
2017/09/20(水) 17:57:58.25ID:lixqcDrr
花火オブジェクトの引火メソッドは、オブジェクトが完全な状態で呼び出されることを想定してるから、
花火オブジェクト生成中の火薬剥き出しの状態で呼び出してはならない
0761デフォルトの名無しさん
垢版 |
2017/09/20(水) 18:09:31.13ID:8B/Smyuh
・コンストラクタ処理中はインスタンス作成途中の可能性がある。
・作成途中のインスタンスを変更する操作は避けた方が良い。
ということが、ご説明頂いた内容で理解できました(^^)ノ
ありがとうございました。m(^v^)m<ペコリ
0762デフォルトの名無しさん
垢版 |
2017/09/20(水) 18:41:10.87ID:lixqcDrr
>>761
> ・作成途中のインスタンスを変更する操作は避けた方が良い。

別に変更すること自体はいいんだよ、その変更がオブジェクトの初期化に必要な操作であり、変更による
不整合が発生しないことがわかってるなら
まあ気をつけましょうってことだよ

あと気持ち悪い顔文字使ってんじゃねえよ殺すぞ
0764デフォルトの名無しさん
垢版 |
2017/09/20(水) 22:37:20.08ID:E3lPvo/Y
m(^v^)m<ペコリ
0767デフォルトの名無しさん
垢版 |
2017/09/21(木) 02:44:01.70ID:AcIIQNEl
m(^v^)m<ペコリ
0768デフォルトの名無しさん
垢版 |
2017/09/21(木) 08:46:56.77ID:YP+rtO81
なんと、拙い私の理解不足にフォローまでしてくださって、
助かります。良い方ですね。(m’ v’)m<感謝!
ありがとうございました。m(^v^)m<ペコリ
0769デフォルトの名無しさん
垢版 |
2017/09/21(木) 09:42:31.05ID:AcIIQNEl
m(^v^)m<ペコリ
0770デフォルトの名無しさん
垢版 |
2017/09/21(木) 09:49:26.14ID:/4KdsZUo
人が嫌がることを嬉々としてやる奴ってキチガイなのか?

それとも幼いのか?
ガキがアリの巣に水を流し込んで喜んでいるみたいな感じで
0771デフォルトの名無しさん
垢版 |
2017/09/21(木) 09:54:13.33ID:tALCl2oJ
m(^v^)m<ペコリ
0774デフォルトの名無しさん
垢版 |
2017/09/21(木) 12:53:24.76ID:/4KdsZUo
日本と韓国

日本人「我々が歴史を変えてみせる」
韓国人「我々が歴史を変えてみせる」

日本人「犯罪で捕まるなんて馬鹿だな。親はどういう教育をしたんだ」
韓国人「犯罪で捕まるなんて馬鹿だな。親はどういう教育をしたんだ」

日本人「『少し見ない間に美人になったね』って言われます」
韓国人「『少し見ない間に美人になったね』って言われます」

日本人 「技術は、教えてもらうものではなく、盗むもの」
韓国人 「技術は、教えてもらうものではなく、盗むもの」

日本人「人の嫌がることを進んでします」
韓国人「人の嫌がることを進んでします」
0775デフォルトの名無しさん
垢版 |
2017/09/21(木) 13:02:45.02ID:eVVH2vYt
なんだか必死である
0776デフォルトの名無しさん
垢版 |
2017/09/21(木) 13:03:14.79ID:gTpUVQWr
0で割ると普通に0で返してくれればいいのですが
ArithmeticExceptionと言うエラーが出るのですが、
こんなのいちいち例外処理かませないといけないのでしょうか
0778デフォルトの名無しさん
垢版 |
2017/09/21(木) 14:01:18.22ID:kkyna6sC
0で割ったら、+- 無限大だろ

数値にならない。
数値の範囲・ドメインの外

0にすれば、数値の範囲内になってしまうから、ダメ
0779デフォルトの名無しさん
垢版 |
2017/09/21(木) 14:24:12.87ID:tBiYCXnO
0で割っても無限大にはならない
その計算自体できないのが正しいし例外を返すのも正しい
0781デフォルトの名無しさん
垢版 |
2017/09/21(木) 15:19:22.76ID:eVVH2vYt
>>776
君も算数のお勉強をすると少し頭がよくなるかも知れません
0782デフォルトの名無しさん
垢版 |
2017/09/21(木) 15:21:14.85ID:9JsIphje
>>773
人の嫌がること…と言うより、競技において(正当なルールの範囲内で)相手の嫌がることを…だな。
0783デフォルトの名無しさん
垢版 |
2017/09/21(木) 19:23:34.97ID:L84El5xg
未だに0で割ると無限大になる(だから割れない)とか思ってるやつが大学生にもいるから困る
0785デフォルトの名無しさん
垢版 |
2017/09/21(木) 20:13:07.34ID:bi2NZeDg
A÷BはAからBを何回引けるか、という考え方だとBが0なら何回引いてもダメなので無限であるかのように思うのはわからなくはない。
しかしBが0というだけでその後の引き算は全て無駄になる事がわかるわけで、引き算は一回もする必要がないのだ。
0786デフォルトの名無しさん
垢版 |
2017/09/21(木) 20:14:57.27ID:bi2NZeDg
>>784
このスレは

m(^v^)m<ペコリ

のスレになったのです。
0787デフォルトの名無しさん
垢版 |
2017/09/21(木) 20:55:21.58ID:8GyRKs0J
すいません、スッキリJava二冊一通り理解したのですが
持ち運ぶように1冊にJavaに関することが纏まってる本でお勧めはないでしょうか?
0789デフォルトの名無しさん
垢版 |
2017/09/21(木) 21:06:54.11ID:gTpUVQWr
電書版ありますよ
たまーに半額セールになってるのでその時に買ってみてはどうでしょう
0791デフォルトの名無しさん
垢版 |
2017/09/21(木) 21:28:50.45ID:8GyRKs0J
>>788
>>789
本が好きなので今回は遠慮しときます

逆引きリファレンスよさそうなのでそれにさせてもらいます
ありがとうございました
0792デフォルトの名無しさん
垢版 |
2017/09/21(木) 21:39:21.40ID:kkyna6sC
スッキリ 3部作と、

実践Javaコーディング作法 プロが知るべき、
112の規約と21の心得、森崎雅稔(まさとし)、2014

Java 最強リファレンス、田中裕一、2014

EFFECTIVE JAVA 第2版、2014

Spring Framework 4 プログラミング入門、掌田津耶乃、2014
Spring Boot プログラミング入門、掌田津耶乃、2016
0798デフォルトの名無しさん
垢版 |
2017/09/22(金) 00:15:23.40ID:kB3Gqsn3
またあのハゲが翻訳すんのかな
あいつの日本語で読まされるの苦痛すぎるから、あのハゲには関わらないでいてほしいわ
0800デフォルトの名無しさん
垢版 |
2017/09/22(金) 07:35:47.12ID:e1PNbTCp
Java 9アウトー!
0802デフォルトの名無しさん
垢版 |
2017/09/22(金) 10:30:43.32ID:2GANQweE
>>801
ないみたいだね。ダウンロードはできたよ。うっかり32ビットのWindowsでダブルクリックして実行できないとか出てきたが。
とりあえずLinuxの方をCentOS7で動いてるPCにインストールした。
0803デフォルトの名無しさん
垢版 |
2017/09/22(金) 10:56:12.71ID:+ziQqQe2
質問です。
開発現場で、前担当が下のようなコード記述をしていた場合で、
現段階ではポリモーフィズムをしていない時。

class Customer{
private Set _orders = new HashSet();
//以下略
}

この意味は……
1、「未来ではポリモーフィズムするはずだ。親クラスで受けるようにしておこう」
2,「とりあえず親クラスで受けておけば安心だ!」
3,ぜんぜん別の理由

の内、どれでしょうか?
3の場合は、理由は何でしょうか?
よろしくお願いします。m(^v^)m<ペコリ
0805デフォルトの名無しさん
垢版 |
2017/09/22(金) 12:23:50.31ID:2GANQweE
>>803
作ったやつに変なこだわりがあるだけでは?
0806デフォルトの名無しさん
垢版 |
2017/09/22(金) 12:26:41.19ID:QQzWS0sO
1. ← そんな糞な解釈する馬鹿はお前だけ
2. ← 上に同じ
3. インターフェースで定義しているメソッドだけで事足りるから柔軟性を考慮してインターフェースで受けてるだけ
0807デフォルトの名無しさん
垢版 |
2017/09/22(金) 12:38:30.33ID:+ziQqQe2
「インターフェースで定義しているメソッドだけで事足りる」
という言葉で納得できました。
糞な解釈する馬鹿で間抜けなブスの私に良い回答をしていただき、
ありがとうございます。(感謝)
ご返信いただいた皆様にもありがとうございます。
0808デフォルトの名無しさん
垢版 |
2017/09/22(金) 13:17:12.20ID:2GANQweE
>>806
柔軟に、なるか?
0810デフォルトの名無しさん
垢版 |
2017/09/22(金) 16:51:38.86ID:TZgFdtLW
あー。そういう意味ではなるな。
0811デフォルトの名無しさん
垢版 |
2017/09/22(金) 17:33:15.98ID:QQzWS0sO
こんな当たり前のことはJava歴3か月の奴でもわかるのにいちいち見栄張るなよ阿呆
ほんとこういうバレバレの馬鹿見てるとイラついてくるわ
お前等レベルのカスは入門書を風化するまで読み尽くしてからレスしろアホ
0812デフォルトの名無しさん
垢版 |
2017/09/22(金) 17:39:25.25ID:PI1uxnaH
メンバ変数を、外部からアクセスできないようにしてるだけだろ。
カプセル化

カプセル化は、オブジェクト指向の基本だから、誰でもこうするだろ

例外は、速度を重視する際、メンバ変数を公開する場合だけ
0813デフォルトの名無しさん
垢版 |
2017/09/22(金) 18:01:17.20ID:TZgFdtLW
m(^v^)m<ペコリ
m(^v^)m<ペコリ
m(^v^)m<ペコリ
m(^v^)m<ペコリ
m(^v^)m<ペコリ
m(^v^)m<ペコリ
m(^v^)m<ペコリ
m(^v^)m<ペコリ 👀
Rock54: Caution(BBR-MD5:0be15ced7fbdb9fdb4d0ce1929c1b82f)
0817デフォルトの名無しさん
垢版 |
2017/09/22(金) 21:25:26.58ID:T2wCvFaq
そういやJava9にはjshellってのが付いてるよ。
コマンドラインで試せるやつ。
0818デフォルトの名無しさん
垢版 |
2017/09/23(土) 06:42:35.85ID:MQ2PIFw7
int型配列 Average、Count、Passingは要素数はすべて同じでそれぞれだいたい0から20くらいまでの数値が入っています。負の数値は一つもありません。

for (int j =1 ; j < 4000 ; j++ ) {
if ( Count[ j ] <1 ) continue ;
//Average[ j ] = Average[ j ] / Count[ j ] ; //平均値を算出する
//Passing[ j ] = ( Passing[ j ] *100 ) / Count [ j ] ; //条件を満たした回数を百分率に変換
}

コメントアウトしてる部分を通る前までは想定通りの数値なのだけど、ここを//外して通すとただ四則演算してるだけなのに
それまで配列に入ってた数値が-5066060605とか0とか全然ありえない数字に全部化けてしまうんだけどどういった原因が考えられるでしょうか
0821デフォルトの名無しさん
垢版 |
2017/09/23(土) 09:32:29.20ID:6LIHf7uu
1行ずつデバッグして、
「何を何で割ったら、何になったか」を書き出す

上の、3つの何が分からないと、答えようがない
0823デフォルトの名無しさん
垢版 |
2017/09/23(土) 10:30:00.47ID:MQ2PIFw7
>>821-822
違う行で計算するとちゃんと想定通りの数値は出るのでこのfor文内で計算して代入した時だけなんかおかしいみたいです
j と i を間違えて書いてるというわけでもないですし理由がわからないのももやもやするので
数値の動きをもう少し調べてみます
0824デフォルトの名無しさん
垢版 |
2017/09/23(土) 11:36:50.47ID:8bsZ0VcP
>>818
Average、Count、Passing はそのループに入る前に本当に想定した通りの値になっているのか?
0825デフォルトの名無しさん
垢版 |
2017/09/23(土) 11:39:43.43ID:8bsZ0VcP
些細な事だがもう一つ気になる点は j を 1 〜 3999 にしている点。
もし配列の要素は 0 から始まるのだが、0に関しては何もしなくて良いのか?
0828デフォルトの名無しさん
垢版 |
2017/09/23(土) 19:44:42.23ID:NqPOSMMT
javaでデスクトップのアプリケーションを作りたいです
ボタンを作ってそのボタンを押すとランダムに画像が入れ替わるようなものを作っているのですがそれをwordやexcelのようなデスクトップアプリにするにはどうすればいいのでしょうか?
0831デフォルトの名無しさん
垢版 |
2017/09/24(日) 01:14:49.34ID:WK3y2BIb
すっきり解るシリーズ読んでて思ったんだけどさ
JAVA勉強するなら先にSQL勉強したほうがよくね?
0832デフォルトの名無しさん
垢版 |
2017/09/24(日) 01:25:05.65ID:c233uqnI
DBも使うのであれば、な。
0834デフォルトの名無しさん
垢版 |
2017/09/24(日) 07:10:17.57ID:PrPRrieW
俺は最近SQL全く使わないから新人にはスッキリシリーズ勧めてないな
新規プロジェクトはほぼelasticsearchを採用してる
■ このスレッドは過去ログ倉庫に格納されています

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