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/
827デフォルトの名無しさん
垢版 |
2017/06/12(月) 17:53:32.88ID:a//lNTfp
いっそのこと試験問題のように「〜せよ。」とか書いてほしいものだ。
2017/06/12(月) 17:57:13.28ID:X/qk8fTD
お前等馬鹿が質問の仕方もろくにわからんガキに反応するから
teratailみたいなところでも意味不明な日本語で質問する馬鹿が減らないんだよ
2017/06/12(月) 18:00:45.61ID:XJZ7MJot
プログラム言語の勉強は本当に頭が痛くなる
しかし動いた時の嬉しさは言葉にできない。
痴呆抑制にも効果があるのではないだろうか?
ただ、眼には良くないけど…
2017/06/12(月) 18:02:23.25ID:uEFWWPMQ
2chへの熱い風評被害
2017/06/12(月) 18:23:53.48ID:pgqA3Bjv
>>826
反抗期かw
2017/06/12(月) 19:16:10.02ID:2dDccTdY
>>831
いただきます…いただきますっつってんだろー!
俺には召し上がれすら言わねーのかよ!
って息子が反抗期に言ってた
2017/06/12(月) 19:40:16.61ID:jxW+MGk6
>>832
お前臭いから喋んな
2017/06/12(月) 20:30:42.94ID:mg3rFpBS
>>820
レスサンクス
2017/06/12(月) 20:33:11.67ID:pgqA3Bjv
>>832
それパクツイ
836デフォルトの名無しさん
垢版 |
2017/06/16(金) 00:21:26.44ID:pAg9stYl
演習問題で、抽象クラスを型に持ったメソッド見たのですが
クラスを型にした場合、何を返せば良いのでしょうか?

public Record getRecord(int idx)
{
return ???;
}

abstract public class Record
{
//特にリターンは無い
}

intやstringの型ならintやstringを返すということは解るのですが
特に返り値を持たないクラスはどうしたら良いのか想像がつきません

よろしくお願いします
2017/06/16(金) 01:09:23.90ID:poP4xQCz
抽象クラスを返せば?

要するに、具象クラスA・Bも、抽象クラスXととらえる事で、
異なる具象クラスA・Bに、共通の処理を書ける

return で、抽象クラスをもらったら、
それを該当する具象クラスへ、正しくキャストする
2017/06/16(金) 01:37:44.13ID:AzAJ43JZ
たしかに気持ち悪いな
階層がおかしい
2017/06/16(金) 03:02:04.76ID:jhdXcInh
>>837
キャストせず済むのが一番
2017/06/16(金) 03:25:03.02ID:jhdXcInh
>>836
例えば、return new MyRecord(idx)

public class MyRecord extends Record {
実装略
}

実際はそのgetRecordが定義されてるクラス内の別メソッドやらプロパティ使ったアクセス経由で値返す事が多いだろうけど。
2017/06/16(金) 21:10:04.87ID:NbKqOO6c
抽象クラスのシングルトンみたいなことが出来ちゃうのか?
だとしたら気持ち悪いわ
842デフォルトの名無しさん
垢版 |
2017/06/16(金) 22:35:15.61ID:qWm3MoH/
そうか?
2017/06/19(月) 17:44:20.17ID:wKau2iwt
腕試しに簡単なゲーム作ってるんだけど
敵キャラクターとか見方キャラクターのデータってどう保存しておくのが良いんだ?
育成要素無いからステータスは一定だから配列でどうにかできそうな気がするけど
各キャラクターの要素敵も味方もは「キャラ名」「HP」「攻撃力」「防御力」「すばやさ」
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だけで作れますだの低次元のゴミは消えろ阿呆
馬鹿の言葉遊びはチラシの裏で一人でやってろ
レス数が900を超えています。1000を超えると表示できなくなるよ。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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