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

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

※前スレ
Java入門・初心者質問スレ Part.2
http://echo.2ch.net/test/read.cgi/tech/1478863511/
844デフォルトの名無しさん
垢版 |
2017/06/19(月) 19:07:31.87ID:pt8icPJA
>>843
オブジェクト指向ではないのか?
2017/06/19(月) 19:17:35.34ID:ZfjHm45J
>>843-844
csv,tsv,json,xmlなど好きな形で書いておいて、ファイルからデータ読み込んで、オブジェクトのインスタンスを生成して使うって話じゃないん?
そのデータが固定ならばjar内に同梱、可変なら外に置けるように作る
2017/06/19(月) 19:28:38.55ID:W0M1n2m6
>>843
そういうのこそクラス作っておくのがベスト
配列にするのは可読性が下がるから効率を追求するときだけにしとけ
2017/06/19(月) 19:29:23.18ID:W0M1n2m6
あーそっちか、すまん
2017/06/19(月) 19:47:36.02ID:wKau2iwt
ありがとうございます。
せっかくなのでcsvファイルを読み込むのに挑戦してみようと思います。
2017/06/19(月) 20:59:10.59ID:o0IU7wmv
腕試しって言ってるしそもそもオブジェクト指向を理解していないのでは
2017/06/20(火) 00:12:42.70ID:sy5ccpv+
配列は配列で便利ですよね
同じ処理のボタンとか、配列で綺麗にまとめられると嬉しくなります
話はそれますが。
2017/06/21(水) 07:17:21.25ID:n4ESO8N1
VBしかやったこと無いからJAVA能力検定1級というのを受けてみたんだけど、テキストエディタだけでコード書くのキツイね

コードフォーマッタ無いから手動でインデントしたけど、対応する鍵カッコを見失って困った

JAVAって標準のIDE無いからテキストエディタとコンパイラでやるんだろうけどキツイ世界だね
2017/06/21(水) 08:58:07.89ID:BZXMZb7j
まあな、メモ帳で1万行のメソッド書いてコンパイルできるようになったら一人前だ、それがJava
2017/06/21(水) 09:37:01.88ID:sUpvI2FC
Java8の標準ライブラリの範囲内で数値を8桁の2進数表記がやりたいのですが、良いやり方があれば教えてください

int i = 10; // 0 <= i <= 255
String actual = /* 整形 */

assertEquals("00001010", actual);

思いついたのはこれなんですが…あまりにもイマイチな気がしてます
String tmp = "0000000" + Integer.toBinaryString(i);
actual = tmp.substring(tmp.length - 8);
854デフォルトの名無しさん
垢版 |
2017/06/21(水) 09:57:48.03ID:A+TdX/Mq
>>852
そりゃなんかものすごい設計ミス
2017/06/21(水) 10:17:13.12ID:m473rNdf
>>853
String actual = Integer.toBinaryString(i | 256).substring(1);
856デフォルトの名無しさん
垢版 |
2017/06/21(水) 10:31:52.72ID:A+TdX/Mq
>>855
おまえあたまいいな
2017/06/21(水) 10:32:13.11ID:bqAd0GFb
>>854
エンタープライズならザラにあるよ
複雑だけど信頼性の高いプログラム
2017/06/21(水) 12:49:36.79ID:L1LFWazB
Java7以降の数値リテラルで、2進数は接頭辞 0b・0B だろ。
_ も無視されるから、間に使える

0b0000_1010
859デフォルトの名無しさん
垢版 |
2017/06/21(水) 12:53:26.47ID:A+TdX/Mq
>>857
設計が変でもそういうのはある。
しかし設計が変なことにはかわりなし。
860デフォルトの名無しさん
垢版 |
2017/06/21(水) 12:54:20.55ID:A+TdX/Mq
>>858
それが何か?
誰もそんな話してないよな。
2017/06/21(水) 13:04:11.72ID:sUpvI2FC
>>855
天才現る!
ありがとうございます、すっきり書けました
意図をコメントで残しておけば混乱もないでしょうし助かりましたm(_ _)m
2017/06/21(水) 13:05:10.78ID:bqAd0GFb
>>859
信頼性の高いプログラム作れるんだから変じゃない
優れた設計と言っていただきたい
2017/06/21(水) 13:08:10.05ID:bqAd0GFb
>>860
そんなこと言っとったら話題が広がらんだろうが
誰も話してなかったら話をしちゃいけないんだもんなあ
ああ辛いわあ
すごい話があるんだけどいわないから!
864デフォルトの名無しさん
垢版 |
2017/06/21(水) 15:18:14.32ID:K52r2H7q
>>862
Javaで一万行は普通は何か変だろ。
それそのものが信頼性高くても何か作りがおかしいことには変わりはない。

>>863
なに必死になってんだ?大丈夫か?
誰もおまえのこと悪く言ったりしてないぞ。
2017/06/21(水) 16:09:47.19ID:CwIOTiNS
>>864
人を刺してる人が居たら
刺されてるのが自分じゃなくても嫌な気持ちになるだろ
俺はお前の犯罪を止めたい
2017/06/21(水) 16:10:28.28ID:CwIOTiNS
1万行は何も変じゃない
867デフォルトの名無しさん
垢版 |
2017/06/21(水) 16:20:00.12ID:K52r2H7q
あーはいはいそうですね
2017/06/21(水) 17:50:01.76ID:CwIOTiNS
>>867
そうです、1万行は普通です
2017/06/21(水) 17:52:45.71ID:9ByPg2Qh
コメント、改行のみは除いて1メソッド15行以内に収めましょう
2017/06/21(水) 17:53:22.83ID:CwIOTiNS
1万行が普通じゃないと言っちゃう人は
業務経験が圧倒的に不足していると言わざるを得ない
大規模開発では普通にあるし普通に書けないと仕事にならない
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回目ですよ
レス数が900を超えています。1000を超えると表示できなくなるよ。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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