Java入門・初心者質問スレ Part.3 [無断転載禁止]©2ch.net

レス数が950を超えています。1000を超えると書き込みができなくなります。
2017/04/04(火) 20:41:11.59ID:y0EcmGB0
Java初心者のためのスレッドです。

※前スレ
Java入門・初心者質問スレ Part.2
http://echo.2ch.net/test/read.cgi/tech/1478863511/
2017/06/21(水) 17:54:52.41ID:CwIOTiNS
>>869
モデルにデータ設定するだけで1000行超えるんだが
2017/06/21(水) 17:56:18.16ID:CwIOTiNS
保険業とか著作権管理とかザラだが
2017/06/21(水) 18:21:57.13ID:8F0mxbPm
1つのクラスに1万行とかもありますか?
2017/06/22(木) 14:02:19.04ID:o0ACLL8F
派遣で医療系で使う基幹システム作ってる会社行ったとき
2万行越えのクラスファイルが4つぐらいあったな
変数は基本全てクラス変数で、かつ密結合でクラスファイルが
別のクラスのクラス変数参照しまくってるからバグの特定が困難で
最適な改修方法を精査するのにソースの条件分岐をメモってるだけで
何百行にもなるほどクソなソースで後にも先にもここが最凶最悪だったな
875デフォルトの名無しさん
垢版 |
2017/06/22(木) 17:07:27.66ID:TWN3+XGD
でかいクラスの中身がほとんどC言語ってやつか・・・
876デフォルトの名無しさん
垢版 |
2017/06/22(木) 18:35:08.32ID:06KMQ0Mv
>>874
保守のたいへんさが分かってよかったじゃないか。

世の中、そんなのばかりだよ。
877デフォルトの名無しさん
垢版 |
2017/06/22(木) 18:35:50.75ID:06KMQ0Mv
オープンソースの有名な製品もコードを見るとかなりクソだったりする、
2017/06/22(木) 19:30:31.61ID:lxRnk/Ky
1万行にしないためのJAVA

それが1万行になるという事はJAVAを書いてるコボラ
2017/06/22(木) 19:32:03.01ID:lxRnk/Ky
構造化プログラムをJAVAで書くコボラがIT業界名物デスマの元凶
880デフォルトの名無しさん
垢版 |
2017/06/22(木) 21:12:35.00ID:p66dP4Lb
まともな設計できるやつがほとんどいないってことだな
2017/06/22(木) 22:09:46.81ID:7SsgklDx
>>877
コードの良し悪しより、便利かどうかだからな
コードの綺麗さにこだわってるくせにろくなもん作ったことない、なのに声だけデカい奴が最近は増えたけど
882デフォルトの名無しさん
垢版 |
2017/06/22(木) 22:50:42.88ID:yHDavZL4
□ がこの様に一直線に並んでいて、選択した□の幅が広くなり、それによって残りの□の座標を変化させたいです。
□ □ □ □
↓左から2番目を選択([ ]は幅が広くなっていることを示している)
□ [ ] □ □
に表示したい。
どう書けばいいでしょうか?
for (int i = 0; i < 4; i++) {
if (i == cnt) {

} else {

}
g.fillRect(20 + (80 * i), 300, 40, 40);
}
2017/06/22(木) 23:13:46.79ID:Wf/TPVDN
public static void sysprif(String s, Object... args) {
System.out.printf(s, args);
}
とか書くのは邪悪なんでしょうか?(いや、邪悪だろうけど、何か後で酷い目にあったりするんだろうか)
2017/06/22(木) 23:58:20.46ID:5ZvG5KR4
>>883
そのsyspritfの存在意義ってなんなん
printfを直接呼び出すのと比べてなんのメリットがあんの?
885デフォルトの名無しさん
垢版 |
2017/06/22(木) 23:59:06.30ID:06KMQ0Mv
>>883
そもそもメソッド名の短縮化あたりで年配に見えてしまうが?
886デフォルトの名無しさん
垢版 |
2017/06/23(金) 00:00:33.41ID:BC3U1Ap1
>>884
いや彼はObject型の可変引数でいいのか聞いているのではないのか?
2017/06/23(金) 01:55:15.43ID:eMJoExoD
※882
ttps://www.axfc.net/u/3818221
とりあえず作ってみた。
こんな感じ?
2017/06/23(金) 01:56:56.84ID:eMJoExoD
※882じゃなくて>>882だな
2017/06/23(金) 16:59:14.45ID:4xTfYoSZ
すごいどうでもいい質問かも知れないけど
メソッドの引数の括弧とバケットの間ってスペース入るのがデフォなの?
890デフォルトの名無しさん
垢版 |
2017/06/23(金) 17:06:08.69ID:zs9t5glj
>>889
C言語のスタイルを受け継いでいるからスペースを入れないのが普通。

if文等なら入れる。
891デフォルトの名無しさん
垢版 |
2017/06/23(金) 17:15:16.13ID:zs9t5glj
>>889
") {"の話か。これならスペースを入れるのが主流だろうな。これがC言語だとここで改行するスタイルもある。

Javaはクラスの場合は改行、メソッドの場合は改行しないのが普通。
2017/06/23(金) 18:28:39.19ID:0SAurMDI
基本的にeclipseのフォーマッターに従っときゃいいよそんなもん
改行なんかは見やすく調整が必要だったりするけど、スペースなんて好みの入る余地はない
2017/06/23(金) 20:39:04.90ID:4xTfYoSZ
>>891,892
なるほど!ありがとうございました!
894デフォルトの名無しさん
垢版 |
2017/06/23(金) 22:18:29.83ID:+oxSuAhB
>>891
クラスも改行しないだろ
まあ好みの問題か
2017/06/24(土) 00:30:40.20ID:zN8wjmA4
一万行ドヤ顔ワロス、初心者スレだから良いのかw
896デフォルトの名無しさん
垢版 |
2017/06/24(土) 00:43:48.32ID:EAyBYnWy
どうなんだろうねえ。たまに真に受ける純真な人が居たりするから初心者スレではなるべくならない方が良いとは思うが。
897デフォルトの名無しさん
垢版 |
2017/06/24(土) 05:42:16.85ID:AiSsJYjg
>>894
クラスは改行するのがJava本来のスタイル。
898デフォルトの名無しさん
垢版 |
2017/06/24(土) 05:43:14.11ID:AiSsJYjg
>>892
はあ?
899デフォルトの名無しさん
垢版 |
2017/06/24(土) 08:15:02.93ID:pwzMZ27W
>>887

そんな感じです。ちょっと説明しずらいので描いてみました。
ttps://www.axfc.net/u/3818541.png

□同士の間隔は変わらないのですが、選択したものの幅が広がり、
他の位置を広がった幅分だけ設定するのが難しいと感じています。
2017/06/24(土) 18:01:58.54ID:Gf6BkFv4
>>899
文字じゃ無くて四角を描画するのかな?
こんな感じ?
ttps://www.axfc.net/u/3818669
901デフォルトの名無しさん
垢版 |
2017/06/24(土) 18:46:51.81ID:pwzMZ27W
>>900

おおお!ありがとうございます。まさにこれです!
しかも、クリックで選択できるとは。

ありがとうございます。
902デフォルトの名無しさん
垢版 |
2017/06/24(土) 22:36:11.32ID:EAyBYnWy
>>897
おまえの言ってるのは

class X
{
}

みたいなことか?

class X {
}

ではなくて。

しかし後者のソースの方が圧倒的に多いように思うんだがなあ。

まあでも Java の場合は文法的にはどちらでもよく完全に好みの問題でしかないからどうでもいいことだが。
2017/06/24(土) 22:39:41.70ID:jG1C/Elt
ナムナムシテルゥ??
2017/06/24(土) 22:43:45.10ID:EAyBYnWy
>>899
できればエロ広告満載のアップローダを使うのは控えて欲しかった。
隠す必要のない画像ならimgurとかもあるしな。
http://blog.livedoor.jp/easy2ch/archives/256381.html
2017/06/24(土) 22:45:51.41ID:9mpJ1WGD
>>904
登録しないといけないのは怖いです
906デフォルトの名無しさん
垢版 |
2017/06/24(土) 22:55:35.56ID:AiSsJYjg
>>902
Javaはクラスの場合は後者が伝統的な書き方だよ。
907デフォルトの名無しさん
垢版 |
2017/06/24(土) 22:57:34.71ID:AiSsJYjg
>>902
前者の間違いだった。Javaはわざわざこれはクラスだとわかるように改行するのがもともとのJavaのスタイル。
2017/06/24(土) 23:00:09.67ID:pSkV4PMO
全部eclipseのフォーマッターが標準でいいよ
909デフォルトの名無しさん
垢版 |
2017/06/24(土) 23:03:14.36ID:AiSsJYjg
>>908
そもそもエクリプスは反Java側が作ったものだから。
2017/06/24(土) 23:09:57.15ID:pSkV4PMO
だからどうしたと言うのか
Javaの一般的IDEであるeclipseのフォーマッターによるフォーマットでは後者が採用されているし
各種書籍やネット上のソースでも後者が絶対的多数
伝統的と言えば聞こえはいいが結局は絶滅危惧種の古文書的フォーマット
2017/06/24(土) 23:17:17.99ID:84AJXWJ9
フォーマットなんて所詮言語と同じでナマモノだから
使われなくなればどれだけの伝統があろうが淘汰される、それだけ
912デフォルトの名無しさん
垢版 |
2017/06/24(土) 23:28:24.44ID:AiSsJYjg
>>910
ちなみにJavaはNetBeansが本家だぞ。
2017/06/24(土) 23:35:25.45ID:pSkV4PMO
>>912
悪いけどちゃんと読んでからレスしてくれるか
「一般的IDE」と言っただけで誰も本家の話はしていない
2017/06/24(土) 23:51:16.05ID:EAyBYnWy
>>909
そうだったの?じゃあなんで全部Javaで作ったんだ?
915デフォルトの名無しさん
垢版 |
2017/06/25(日) 03:06:45.87ID:gnvvT/jN
予告犯の主人公は変なとこで改行入れんなとか言われてたな
派遣切りでそのままネカフェ難民になってたけど、
一応java使えてれば仕事くらいはあるもんなんちゃうの?
916デフォルトの名無しさん
垢版 |
2017/06/25(日) 06:20:33.73ID:wnVI7vr5
>>914
もうどうでもいいことだけど、eclipseは日蝕という言葉だから、サンマイクロシステムズの太陽へのあてつけだったんだけどな。もうそういう話も話題にならない時代になったわけか。
2017/06/25(日) 11:14:41.58ID:KhSXYTyi
使えるっていうのがどのレベルか知らんけど
ちゃんと全部のデザパタ理解してソースコード書けて
オラクルゴールド取れるぐらいにSQL理解してて
メジャーなORMの仕組みを理解してちゃんと使えて
Javaのフレームワークは最低限Strutsの頃から出て物全て把握してるなら
仕事なんて吐いて捨てるほど選び放題だ

javaの言語覚えました! レベルの奴は知らん
918デフォルトの名無しさん
垢版 |
2017/06/25(日) 11:29:00.70ID:wnVI7vr5
>>917
オラクルマスターのゴールドはSQLを問う資格ではない。
919デフォルトの名無しさん
垢版 |
2017/06/25(日) 11:30:51.12ID:wnVI7vr5
>>917
Java EEの定義からはずれることも言ってるけど頭は大丈夫か?
2017/06/25(日) 11:33:30.39ID:KhSXYTyi
いちいちスレあげんな阿呆
2017/06/25(日) 11:37:15.80ID:KhSXYTyi
>ID:wnVI7vr5
馬鹿乙

実際に仕事で使われることについてしか書いてないのに
なんでJavaEEの定義がどうとか出てくるのか
922デフォルトの名無しさん
垢版 |
2017/06/25(日) 11:40:07.72ID:T3UbVkML
>>920
上げて損する人間などいない!
2017/06/25(日) 11:45:17.88ID:KhSXYTyi
まぁ揚げ足取ってるつもりで全然取れてない馬鹿みたいに
javaだけしか知らない阿呆だけでシステム作れたら誰も苦労しねぇ罠
924デフォルトの名無しさん
垢版 |
2017/06/25(日) 11:49:05.79ID:T3UbVkML
なにを言っとるんだ
925デフォルトの名無しさん
垢版 |
2017/06/25(日) 11:49:38.20ID:T3UbVkML
システムはjavaだけしか知らない阿呆だけで作れます
2017/06/25(日) 11:53:44.21ID:KhSXYTyi
あのなぁ
俺は仕事したことなさそうな初心者に
親切心でJava、SQL、ORM、フレームワークってキーワード出してやってんのに
定義から外れてるだのjavaだけで作れますだの低次元のゴミは消えろ阿呆
馬鹿の言葉遊びはチラシの裏で一人でやってろ
927デフォルトの名無しさん
垢版 |
2017/06/25(日) 12:00:01.54ID:T3UbVkML
>>926
その親切心が皆の足かせになってることに気付こうよ
2017/06/25(日) 12:01:56.65ID:QPpmeE/J
めちゃくちゃ的外れな上に
知りもしないこと知ったげに言われると
初心者が混乱するから迷惑なんですが
929デフォルトの名無しさん
垢版 |
2017/06/25(日) 12:10:07.76ID:wnVI7vr5
>>926
このスレッドのタイトルを見てますか?
2017/06/25(日) 12:12:23.99ID:NO+bhPJd
>>929
見えてないんでしょ
2017/06/25(日) 12:13:45.70ID:KhSXYTyi
キーワードすら聞いたことない馬鹿がゴキブリのように沸いてくるよな阿呆
俺を除いてここにいるようなjavaだけしか知らない馬鹿どもには仕事はできない
これが現実だ
現実は馬鹿に合わせてレベルを下げてなんかくれないぞ?
一つ勉強になったなアホども
2017/06/25(日) 12:17:45.64ID:KhSXYTyi
タイトルも糞も俺は>915の疑問に回答しただけだアホ
933デフォルトの名無しさん
垢版 |
2017/06/25(日) 12:26:32.31ID:T3UbVkML
チームの人間をアホ・バカと罵ることで自らの力を誇示する人がいる
彼らはそれと引き換えにチームの人間を萎縮させチームの力を低下させる
個人の力よりもチームの力を優先できることをコミュニケーション能力と呼ぶならば
会社がコミュニケーション能力を重視するのは当然のことかも知れない
934デフォルトの名無しさん
垢版 |
2017/06/25(日) 12:27:12.25ID:T3UbVkML
僕らはチームなんだよ!
チームプレイに徹して欲しい
935デフォルトの名無しさん
垢版 |
2017/06/25(日) 12:28:04.52ID:T3UbVkML
2ch株式会社Java入門チーム
2017/06/25(日) 12:39:18.47ID:NO+bhPJd
自分だけはバカじゃないという前提
937デフォルトの名無しさん
垢版 |
2017/06/25(日) 12:51:17.04ID:T3UbVkML
認知心理学の研究で大学の教授にアンケートを取ったところ
自分が他の教授よりも頭が良いと思っている人は9割だった

知的活動では自信過剰なことがプラスに働くんじゃないか
という研究結果があるので他人の批判ではなくて自己の思考や
行動を活発化させる方向にそれを活かせればよいのだろうけどね
938デフォルトの名無しさん
垢版 |
2017/06/25(日) 18:58:05.05ID:/dywZQtk
>>904

すみませんでした。以後、imgurを使用います。

----

indexが増えた際のx座標計算がうまくできません。
IntStream.range(0,itemCount)
.filter( i -> getItemX(i) <= e.getX() && e.getX() < getItemX(i)+getItemWidth(i) ).limit(1)
の制限も考慮しなくてはならないのでしょうか?

参考ソース (ttps://www.axfc.net/u/3818669)
作成ソース (ttps://pastebin.com/i84ws4zH)
939デフォルトの名無しさん
垢版 |
2017/06/25(日) 19:43:27.29ID:PbhQLBTm
>>916
ならばなおのこと全部Javaで作った理由がわからんな。Javaでこんなものまで作れますよって実績作ることにしかならないじゃない。
2017/06/25(日) 20:14:59.02ID:L2u2Exq8
Javaの話じゃなくてすまんがIronPythonを.NETをdisるために作ろうとしたら想像以上によく動くものができたから自分の論文を撤回せざるを得なくなったって話思い出した
2017/06/25(日) 21:15:23.43ID:Fdc708fK
業務システムでプロジェクト分割をしようと思った時、
1. Controller + Form
2. Repository + Service + Dto
3. システム共通

の3つに別けようと思う。
このプロジェクト分割方法は馬鹿かな?
942デフォルトの名無しさん
垢版 |
2017/06/25(日) 21:42:01.98ID:NUJBMJ8x
>>931
現実はお前に合わせてレベルを下げてなんかくれないぞ?
2017/06/25(日) 21:43:09.30ID:Mv46Kpif
>>942
おじいちゃんその話52回目ですよ
944デフォルトの名無しさん
垢版 |
2017/06/25(日) 21:43:24.48ID:wnVI7vr5
>>939
全部Javaなんて誰が言っているのか?
2017/06/25(日) 22:14:49.01ID:biukWTID
>>904
すまん。899は俺に合わせたんだと思う。

>>938
79行目
 誤: if (i == index) {
 正:if (i == this.index) {
13行目のint index;と71行目の getItemX(int index) 、どちらもindexなんだけど、79行目では13行目の方を使う。

86行目のtmpX += interval;を83行目と84行目の間に移動。
forの外にあったらintervalは1回しか使われない。

>IntStream.range(0,itemCount)
>.filter( i -> getItemX(i) <= e.getX() && e.getX() < getItemX(i)+getItemWidth(i) ).limit(1)
>の制限も考慮しなくてはならないのでしょうか?
そっちはマウスのボタンを押した際のX座標からどの四角かを判別してる所だから関係ないよ。
946デフォルトの名無しさん
垢版 |
2017/06/25(日) 23:19:36.03ID:/dywZQtk
>> 945

ありがとうございます。なんとか出来ました。

>>そっちはマウスのボタンを押した際のX座標からどの四角かを判別してる所だから関係ないよ。
なるほど。まだよくラムダが分かっておらずfilterとlimit(1)があったので、座標計算の一部をしているのかと思いました。

親切にどうもありがとうございました。
947デフォルトの名無しさん
垢版 |
2017/06/26(月) 01:41:16.14ID:dBcxZn43
>>944
Java ではないのか? じゃあこれ間違ってるから書き直しておいてくれ。

https://ja.wikipedia.org/wiki/Eclipse_(%E7%B5%B1%E5%90%88%E9%96%8B%E7%99%BA%E7%92%B0%E5%A2%83)
> Eclipse自体はJavaで記述されている。
948デフォルトの名無しさん
垢版 |
2017/06/26(月) 07:38:34.42ID:WsPLfBZ0
EclipseはすべてJavaで作られた,と,言いたかったのか
949デフォルトの名無しさん
垢版 |
2017/06/26(月) 07:39:54.73ID:WsPLfBZ0
Wikipediaの編集はそうするべきと思った人が自分でやりましょう,そのためのWikipedia
2017/06/26(月) 20:29:48.22ID:Zn9ql8N4
初歩的な質問ですみません
例外処理について勉強しているところなのですが
以下のコードでobjメソッド内で例外エラーが発生したとして、
"throws Exception"を記述する理由が良く分かりません
その記述が無くても、tryブロックでobjメソッドを呼び出した時に例外エラーが起こるので
catchブロックに移動し問題なく例外処理されると思うのですが・・・

class Sample{
public static void main(String args[]){
try{

obj();

}catch(Exception e){ //obj()からパスされた例外をキャッチ

   //例外処理

}


}

static void obj() throws Exception{

処理

}

}
951デフォルトの名無しさん
垢版 |
2017/06/26(月) 21:13:23.21ID:L0ltnIDu
>>950
それがないとコンパイラも人も中身を全部読まなきゃ何の例外返す可能性があるメソッドなのかわからないからだろう。
2017/06/26(月) 21:27:09.37ID:Zn9ql8N4
>>951
ありがとうございます!
2017/06/27(火) 07:26:37.90ID:JOEM7gLE
javaってc++のシンタックスシュガーという認識で良いでしょうか
2017/06/27(火) 07:56:12.40ID:ngSbFuUq
>>953
何言ってんだお前、全然違う
シンタックスシュガーじゃない
センタックスシュガーだ
それ以外は合ってる
955デフォルトの名無しさん
垢版 |
2017/06/27(火) 09:23:49.77ID:iWisgjb4
>>953
似ている所はあるがかなり違うと思ってた方が良いと思うよ。
2017/06/27(火) 12:51:55.54ID:24FbyWo4
>>953
まずシンタックスシュガーって言葉の認識がおかしいわw
2017/06/27(火) 14:24:50.21ID:UG1947Jf
>>954
えっ
958デフォルトの名無しさん
垢版 |
2017/06/27(火) 17:56:39.93ID:WJOzEeQP
かんたまがきゆい
959デフォルトの名無しさん
垢版 |
2017/06/27(火) 19:12:17.19ID:emYml4i8
C++はC言語、手続き型プログラミング言語に抽象データ型を実現し、
静的型付けオブジェクト指向プログラミングを書きやすくするために作られ、
C言語を継承し機械語の効率的な実行のための設計を維持しようとしている。

Javaは当初、組み込みシステム上でネットワークコンピューティングに対応(support)するために作られた。
Javaは移植性があり、セキュアであり、マルチスレッド対応であり、分散であり、そして
C++よりも単純(simple)になるように設計された。
Javaの文法はCプログラマに馴染みやすいものが選ばれたが、Cとの直接的な互換性は維持されていない。

JavaとC++の比較
-Wikipedia
960デフォルトの名無しさん
垢版 |
2017/06/27(火) 19:15:14.99ID:emYml4i8
C++
プログラマを当てにする
明示的な型破壊
マルチパラダイム
演算子多重定義

Java
プログラマを守る
型安全性
オブジェクト指向
演算子の効果は不変

JavaとC++の比較
-Wikipedia
2017/06/27(火) 19:15:21.15ID:XD0WiN5V
java初心者の素人ですが、C言語は難解で難しいんやろなあと思っている
2017/06/27(火) 19:22:49.43ID:01l/tej4
初心者、入門の話だとJavaの方が10倍難しいよ
963デフォルトの名無しさん
垢版 |
2017/06/27(火) 19:24:55.69ID:BFJFfjlP
>>962
それはオブジェクト指向だけ切り取った場合だろw
2017/06/27(火) 19:27:03.80ID:kIT2/xtQ
>>961
難解というのなら Java の generics の方が難解だ
C++ のそれは instanctiate に端的に表されるとおり、至極素直だと思う
2017/06/27(火) 19:27:49.98ID:XD0WiN5V
え、まじですか?
Cの方がメモリ管理とかポインタとかあって難しいという噂ですよ。
その代わり、早いのだとか。

javaは、私でも初歩だけは楽しく学べました。
どんな言語にしろ、プログラムって素晴らしいですね!
966デフォルトの名無しさん
垢版 |
2017/06/27(火) 19:27:53.77ID:emYml4i8
「メモリ管理は、Java仮想マシンに統合されたガベージコレクションの機能によって行われる(中略)
Javaには、C/C++のような、整数とポインタの相互変換、
配列の要素へのポインタによるアクセス、ポインタ演算といった機能は、基本機能としては提供していない」

Java
-Wikipedia
2017/06/27(火) 19:29:43.95ID:XD0WiN5V
でも楽しくて素晴らしいなんて思えてるのは最初だからかも。
開発となれば納期とか派遣とか人間関係とかあって、つらいという噂です。
やはりプログラム言語は恐ろしいですね…
2017/06/27(火) 19:31:16.57ID:kIT2/xtQ
趣味でやればいい、誰にも支配されることはない
2017/06/27(火) 19:31:29.26ID:01l/tej4
>>965
ポインタってぶっちゃけかなり単純な話だよ
2017/06/27(火) 19:32:18.24ID:kIT2/xtQ
>>969
でも void * 型を適正に使うのはむずかしい
レス数が950を超えています。1000を超えると書き込みができなくなります。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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