Java入門・初心者質問スレ Part.7

■ このスレッドは過去ログ倉庫に格納されています
2018/01/10(水) 11:06:04.02ID:ijSgjgrG
Java初心者のためのスレッドです。

※前スレ
Java入門・初心者質問スレ Part.6
http://mevius.2ch.net/test/read.cgi/tech/1513783473/
2018/05/26(土) 20:50:16.44ID:uvtiXGuN
で、抽出になんか意味あんの?w
アホ
626デフォルトの名無しさん
垢版 |
2018/05/27(日) 01:51:16.98ID:cn9TbCYJ
必死だな
2018/05/27(日) 02:08:48.61ID:3qyalsdQ
で、抽出の意味は?w
答えられないならいちいちレス付けるなゴミマヌケ
アホ
628デフォルトの名無しさん
垢版 |
2018/05/27(日) 03:32:13.63ID:cn9TbCYJ
必死だな
629デフォルトの名無しさん
垢版 |
2018/05/27(日) 05:08:27.27ID:Hj9CmqVm
現場の人いじめられすぎわろた
2018/05/27(日) 07:00:39.85ID:3qyalsdQ
ぼくの反論できない相手はいじめられてることにしたいゴミマヌケ馬鹿w
もう少しがんばろうよぉ低能ぼくちゃんw
アホ
2018/05/27(日) 07:28:48.88ID:gPgYXMXq
>>630
他にネタ練った方がいいと思う
632デフォルトの名無しさん
垢版 |
2018/05/27(日) 07:33:13.42ID:Hj9CmqVm
論はどこ?ここ?w
633デフォルトの名無しさん
垢版 |
2018/05/27(日) 13:24:16.20ID:5OTEWY9F
必死だな
634デフォルトの名無しさん
垢版 |
2018/05/27(日) 23:03:37.31ID:gjgcp9Ks
35歳Java歴1年半Java Bronze持ちが作成した最高傑作
https://ideone.com/JQbabV
635デフォルトの名無しさん
垢版 |
2018/05/27(日) 23:16:50.41ID:aXpWBGla
>>634
やるじゃん
自力で作ったなら大したもんだよ
2018/05/27(日) 23:51:26.87ID:k/A8nSya
Javaスレって35歳が来るとおかしくなるんだな
2018/05/28(月) 04:50:14.54ID:YD5/Q0PF
>>635
それは誉め言葉と受け取っていいんですか?
2018/05/28(月) 06:16:33.59ID:IVDy6sXB
>>637
全部皮肉だと思っておけ
2018/05/28(月) 08:17:53.96ID:HFFq2kIG
>>637
西暦1年から1,000,000,000年まで対応できるように変更してみましょう
ユリウス暦とグレゴリオ暦の存在と切り替え月に注意
640デフォルトの名無しさん
垢版 |
2018/05/28(月) 09:31:06.33ID:KmDsu5r7
>>637
1日の曜日によって分岐させて個別に出力しているが、これを一つにまとめてみな。
最初にスペースをいくつ出すか、どのタイミングで改行するか、及び何日まで出すかの問題で、全て計算と条件判断でできるから。
2018/05/28(月) 11:20:05.66ID:iMaO4OwR
>>634
これは何か制約があって、こんな狂ったコードになってるの?
納入条件が1.5kstep以上になっているみたいな。
昭和の時代の、1行で中身を書ける関数なのに規模を水増しするために
if文で入力対復帰値を全部書いてたような狂気を感じる。
2018/05/28(月) 11:21:58.71ID:SNZlWZtl
>>634
中学生が真似して作った贋作
https://ideone.com/WZmNs5
2018/05/28(月) 11:24:30.42ID:SNZlWZtl
724 : 仕様書無しさん : sage : 18/05/27(日) 19:34:26.51
論評。

>https://ideone.com/JQbabV

わざととしか思えない。人の領域を超える作品。
序盤はコピペとコピペを少し直しながらつなげつつ、最終的には
論理が破綻し崩壊していきながら、目的の実行結果になるためには
どうすればいいかと分からないながらも挑む苦悩が見え隠れし、
破綻したままコードは終焉を迎える。

>https://ideone.com/WZmNs5

ほっとする作品。
不慣れな感じと新しい技術を積極的に取り入れようとする姿勢が見え、
初心者が作りました、というのに相応しい作品。
逆に言えば1作目に比べて面白みに欠ける。よくあるフレーズを
よくまとめただけの作品。だがその中身はリファクタリングの域を
遙かに超え、元作の雰囲気を持ちつつリメイク・リビルドと言える
別作品に仕上がっている。

>https://ideone.com/bLfLVt

まあなんというか、ふつう。
練習用に提示したことを考えれば、難易度を抑えて教えたいポイントを
絞り、よくまとまっている。作者のやさしさが垣間見れる普通のコード。
2018/05/28(月) 11:48:48.03ID:HFFq2kIG
>>643
2つ目
最終日の後ろにもスペースが付く
3つ目
メンバー変数がpublic

ここらへんはそれぞれか
2018/05/28(月) 12:34:50.87ID:iMaO4OwR
2つ目はうるう年でないときの2月も29日まで出るんじゃないか?
maxDaysの2つ目の29は28でないとだめだろう。
2018/05/28(月) 13:57:59.82ID:LfvKjyTM
プログラム初心者にはjavaとkotlinとどっちがおすすめですか?
2018/05/28(月) 15:08:06.51ID:YD5/Q0PF
>>638
以下のように解釈することにします。

(35歳にしては)やるじゃん
(35歳の実力からすると)自力で作ったなら大したもんだよ
2018/05/28(月) 15:17:53.96ID:OC2Gyu00
中学生の足元にも及ばないのに大した過大評価だな
2018/05/28(月) 15:39:38.26ID:rs0fZbm/
>>646
Java
勘違いしてるようだけど、KotlinはJavaより覚えること多くて難しい言語だし、
Javaができないとライブラリの使い方分かんなくて話にならないよ
650デフォルトの名無しさん
垢版 |
2018/05/28(月) 17:19:35.17ID:XWEtA5WQ
初心者には、か、実際どうだかなあ?
最終的にどちらも覚えるのが良いとは思うが。
2018/05/28(月) 17:54:07.27ID:zjFrbu6p
数年後にはなくなってるkotlinとかいうクソ言語の布教活動はいい加減やめような
な?
652デフォルトの名無しさん
垢版 |
2018/05/28(月) 18:35:54.78ID:yucnVNXj
現代の世相を刹那に描き切った名作がkotlinなんだから、数年後のことを言うのは違うだろな。
アートを全く理解していない。
653デフォルトの名無しさん
垢版 |
2018/05/28(月) 19:01:29.06ID:wGAafxHd
なくならんだろう。GoogleがAndroidでサポートするって言ってそこで爆発的に使用者増えたようだし。
Googleがやっぱ止めたと言い出しても有名になりすぎたのでもう消えようがないと思う。
2018/05/28(月) 19:44:03.85ID:rs0fZbm/
どっちにしろJavaができない人には使えない言語だから最初はJavaから
655デフォルトの名無しさん
垢版 |
2018/05/28(月) 20:20:16.05ID:GjCLG5ws
そうなのかなあ?
2018/05/28(月) 21:02:44.53ID:6mOoU4/q
javaの継承についての質問です
Humanクラスを継承して、TeacherクラスとDoctorクラスを作りました
別のメソッドが引数にTeacherだろうとDoctorだろうと引数に取れるように、
Humanクラスを引数に取るように設定しました

someMethod(Human human)

このメソッドの中でTeacherやDoctor固有のメソッドを使いたい場合はどうするのが正解ですか?
if(human instanceof Teacher){
((Teacher) human).teacherMethod();
}
とかキャストして使うしか無いでしょうか?
657デフォルトの名無しさん
垢版 |
2018/05/28(月) 21:05:55.58ID:kS+Ih3IA
>>656
そう。
何度もキャストするのが面倒ならその型の変数作ってキャストした結果を代入して使えばいい。
658656
垢版 |
2018/05/28(月) 21:12:55.23ID:ynHyzylc
なるほど、了解です。ありがとうございました
2018/05/28(月) 21:27:26.40ID:XFmVgxgX
human クラスに professon とか付随するメソッドを用意しておくのが正統なやり方か。
660デフォルトの名無しさん
垢版 |
2018/05/29(火) 00:36:51.82ID:zVPinOAm
>>642
java.util.LocalDate 使って自分では何も考えずに作ったほとんど出力してるだけのもの。
https://ideone.com/ujLA0Y
2018/05/29(火) 01:43:13.54ID:AV9X1JaZ
javaが有料になるって本当なの?
今まで作ったものも金を払わないといけなくなるのか?
2018/05/29(火) 01:50:43.25ID:zVPinOAm
OpenJDK ってのがあってだな・・・
2018/05/29(火) 20:06:42.68ID:uuXmyyDB
booleanが条件式のif文で質問させてください

boolean bl ;
if(this.bl){

}

って書かれていたら、ifの条件文はどんな意味があるんでしょうか?
blがtureならif文を実行という意味でしょうか?
2018/05/29(火) 21:35:59.59ID:1TljkXCl
>>663
this が付いているということはインスタンス変数なので if 文のあるメソッド内で
宣言されている bl とは別の変数だ。

true なら if のブロック内に入るというのはその通り。
2018/05/29(火) 22:17:47.27ID:zEUbRZqD
>>664
先生、ありがとうございます!!
よく理解できていないので先生の文章を読み返し、理解できるように頑張ります
ありがとうございます
2018/05/29(火) 23:54:37.57ID:4f0sb6dk
なにが先生だよ
媚びんなよ気色悪い
2018/05/30(水) 09:32:08.59ID:wcsJrNag
>>666
わっかりました先生
668デフォルトの名無しさん
垢版 |
2018/05/30(水) 10:11:41.24ID:1+bA3F8k
>>656
型を判別して、処理を切り替えるのは、継承プログラミングではない。
型を判別している部分があったら、即ダメ!

継承すると、型判別が消えるはず。
それが継承プログラミング

Teacher・Doctor のどちらのインスタンスを渡しても、動くように作っていないとダメ
669デフォルトの名無しさん
垢版 |
2018/05/30(水) 10:29:35.98ID:ugq2le2T
ま、確かに変と言えば変だな。
2018/05/30(水) 12:06:28.82ID:2ZsHiroy
Humanにabstructなメソッドか空メソッド用意しておいて、
Teacherのほうだけ中身を書く、Doctorのほうは何もしないで復帰にしてoverride、
Humanのメソッドからは単にそれを呼び出せばいい。
2018/05/30(水) 17:55:40.48ID:kVCvsY3p
>>668
継承プログラミングがダメなんじゃ
2018/05/30(水) 17:57:51.05ID:kVCvsY3p
ティーチャ特有のメソッド呼ぶならティーチャ型の引数にするべき
2018/05/30(水) 17:58:24.06ID:kVCvsY3p
継承は悪と心得よ
2018/05/30(水) 17:58:29.30ID:HCa7QHob
Ch[] c1=new Ch[3];
c[0]=new H();
c[1]=new T();
c[2]=new W();

for(Ch ct:c){
ct.setNo(ct.getNo()+1);
}

というコードがあったとして、
Ch ct ってインスタンスを生成しているように見えるのですが、そういう理解ではいけませんか?
2018/05/30(水) 18:05:16.62ID:kVCvsY3p
>>674
ループのところでChのインスタンス作ってるわけじゃないっしょ
代入してるだけでござろう
ゆえにそういう理解では良くない
2018/05/30(水) 18:07:05.27ID:kVCvsY3p
配列cの要素をループ変数ctに代入してる
2018/05/30(水) 18:46:42.90ID:GatrRteM
変数名間違ってるしインスタンスの意味も理解してない
入門書読み直し
2018/05/30(水) 18:58:18.41ID:KAg+tusB
ct はループの中で、c の0から2をそれぞれぞれ参照していくというのが正しい言い方なんですか?
2018/05/30(水) 18:58:19.26ID:HCa7QHob
先生、ありがとうございました;;
2018/05/30(水) 19:46:28.89ID:GatrRteM
ヒント1:拡張for文
ヒント2:ググる
ヒント3:説明読む
ヒント4:初心者以前のレベル
ヒント5:上記のことが理解出来たら入門書読み直して理解できるまで絶対に質問しない
2018/05/30(水) 23:56:16.49ID:A3Z0kCh/
>>668
>型を判別している部分があったら、即ダメ

Hotelクラスを作りました
checkIn(Human human)メソッドを定義して、配列Human[] guestsに入れていきます
そのホテルはDoctorに対しては特別割引をしていました
その場合の宿泊料計算についても型判別を使ったらダメですか?
682デフォルトの名無しさん
垢版 |
2018/05/31(木) 00:22:05.33ID:FEa+Gvkc
>>681
それは職業の属性を持たせるという方式でやった方が良いのではないか?
Job クラス作ってそのインスタンスで職業を保持するようにしておいてそれを Human クラスの中に持つ感じ。
何故かというと同じ人の職業が変化する可能性があるため。
2018/05/31(木) 00:48:52.60ID:6Vtm+2p4
>>682
なるほど、確かにそうですね。その通りです
感覚的に継承の使い所だと思って安易に継承を使ってしまうと後で困ってしまうということになりかねない
設計レベルで何をするのか固まってないと使うのは難しいのか
2018/05/31(木) 08:31:25.58ID:AKwCQjWG
>>683
というか継承いらない
継承は基本的に悪なので使わなくて済むなら使わないほうがよくて、原則としてインターフェイスと移譲を使えというのが今時のオブジェクト指向
継承は、どうしても継承を使ったほうが自然にコードを共通化できる場合に実装テクニックとして使うもの
2018/05/31(木) 16:20:26.51ID:TRvuRNT2
言語仕様なんでしょうけど、
何で普通のfor文は遅いのでしょう?
2018/05/31(木) 16:21:15.71ID:h8BNVU1v
>>685
気のせい
2018/05/31(木) 16:34:30.21ID:VDYyuWAQ
どうせループの閾値をループ毎にコストの掛かる冗長な計算してましたってオチだろ
2018/05/31(木) 17:14:11.61ID:ZTEAvdsG
継承is-a よりも、包含has-a(委譲・インターフェース)の方が柔軟性がある。
継承を使うと、長期間仕様が固定される

怪物クラスの派生で、スライム・ドラゴンクラスがある時、
攻撃・属性とか、長期間に渡って、仕様が固定される

その代わりに、後に、幽霊クラスを追加しても、
同じ仕様だから、修正箇所が無い

もし、型判別するのに、switch 文を使っていたら、
何か所も修正して、テストしないといけないから、新たな怪物を作れなくなる

switch monster {
case slime:
case dragon:
case ghost: // 追加
2018/05/31(木) 22:13:50.67ID:XNjLO/99
すみません、またまた正規表現でつまずいたので教えてください。

-------------------------
String mail = "mailto:info@jafrec.org?subject=title" ;

Pattern pattern = Pattern.compile(
"(([0-9a-zA-Z!#\\$%&'\\*\\+\\-/=\\?\\^_`\\{\\}\\|~]+(\\.[0-9a-zA-Z!#\\$%&'\\*\\+\\-/=\\?\\^_`\\{\\}\\|~]+)*)|(\"[^\"]*\"))"
+ "@[0-9a-zA-Z!#\\$%&'\\*\\+\\-/=\\?\\^_`\\{\\}\\|~]+"
+ "(\\.[0-9a-zA-Z!#\\$%&'\\*\\+\\-/=\\?\\^_`\\{\\}\\|~]+)*");

Matcher m = pattern.matcher(mail);
if (m.find())
System.out.println(m.group());
-------------------------

info@jafrec.org?subject=title

-------------------------

このパターン文字列は、このサイトからもらってきて、行頭の「^」と行末の「$」を消しただけのものです。

[メールアドレスのチェックをするサンプルコード]
https://www.sejuku.net/blog/13215


要するにメールアドレスでは「?」は使用可能な文字ということですが、
subject=title という文字列を含まないちゃんとしたメールアドレスはどうやって抽出すればいいのしょうか?
2018/05/31(木) 22:20:31.29ID:k6BQnAIS
Regular Expression(正規表現) Part14 [無断転載禁止]©2ch.net
ttp://mevius.2ch.net/test/read.cgi/tech/1489511075/
2018/05/31(木) 22:33:25.49ID:VDYyuWAQ
基本を理解してれば5秒で解決できようなことも
コピペするだけで自分で考えることを完全に放棄して
「どうすればいいですか?!(ブヒッ w」って言う奴がたまに沸くけど
俺から言えることは一つ






とりあえずプログラム勉強するのやめて死ぬか肉体労働でもしてろアホ
692デフォルトの名無しさん
垢版 |
2018/06/01(金) 02:17:30.69ID:G+EweiBr
>>689
パターンから?だけ抜けば良いじゃん
693デフォルトの名無しさん
垢版 |
2018/06/01(金) 05:58:16.47ID:dO01bT30
>>691
わからないなら黙ってろ
694デフォルトの名無しさん
垢版 |
2018/06/01(金) 06:14:23.56ID:dO01bT30
String mail = "mailto:info@jafrec.org?subject=title";
int start = "mailto:".length();
int end = mail.lastIndexOf("?subject=");
System.out.println(mail.substring(start, end));
2018/06/01(金) 07:16:54.69ID:mz3IXUUz
自分は中括弧なしの一行のif文よく使うのだけど、
別の事情でたまたまそれ全部取ったら動作早くなった気がするのだけど気のせいでしょうか?
2018/06/01(金) 08:01:28.22ID:Lg9QUlsP
気のせいです
2018/06/01(金) 09:17:42.84ID:ofHoYooM
>694 ←なんだこれw
馬鹿は回答側に回るなって何度言えばわかるんだ?
入門書読み終わるまでROMってるか釣りじゃなかったら
思考能力が小学生以下だからとっとと死ぬか肉体労働でもやってろ低能
698デフォルトの名無しさん
垢版 |
2018/06/01(金) 09:26:06.00ID:2cZeSctd
馬鹿と言うやつが馬鹿
2018/06/01(金) 09:31:55.88ID:Cl1sllZJ
>>697
よう天才
最高のコード頼むわ
無理だろうけど
2018/06/01(金) 10:02:50.20ID:ofHoYooM
正規表現で何してるかわかれば
上の方でアホっぽい奴が書いてるように最後の行の「?」と「*」消せば
?に当たった時点で抽出されなくなる
それを>694みたいに固定文字列検索してsubstringするような馬鹿は馬鹿と言われて当然
こんなコピペだけして何も考えてなく応用力0の奴に回答すると延々と質問してくるし回答してやる価値もないし
?残してそれ以降の文字だけ消したいとかこの?が何を意味してるかもわかってないし
そもそもこんなことしたい奴なんてwebクローリングとかして怪しいことする気満々の糞業者だし
とりあえず死ねって感じ
701デフォルトの名無しさん
垢版 |
2018/06/01(金) 10:08:29.54ID:2cZeSctd
  ∧_∧  / ̄ ̄ ̄ ̄ ̄
 ( ´∀`)< オマエモナー
 (     )  \_____
 │ │ │
 (__)___)
702デフォルトの名無しさん
垢版 |
2018/06/01(金) 10:37:54.63ID:2cZeSctd
>>689
これでいいじゃん
https://paiza.io/projects/UtRKIfjxA33LcD99he7h7A
2018/06/01(金) 11:14:33.56ID:ofHoYooM
まぁ勉強初めて2日目とかの初心者なんだろうけど
よくそんなゴミコード晒せるな
ビックリするわ
2018/06/01(金) 11:24:09.64ID:Cl1sllZJ
>>703
はよ自信満々のコード晒せよ
無理だろうけど
2018/06/01(金) 12:17:46.63ID:taBhBTCk
>>703
派遣切りされて暇なのか?
現場で頑張りなよ土方くん
2018/06/01(金) 12:22:29.37ID:taBhBTCk
>>700
後出しで偉そうに言ってんじゃねえよw
おい土方コード書け
2018/06/01(金) 12:22:59.65ID:taBhBTCk
へいへい土方ビビってるー
2018/06/01(金) 12:28:16.05ID:taBhBTCk
*消したらドットが複数ある時どうするんだ
そもそもドメイン名にハテナ無理じゃね
消すのは最後だけじゃない
でもまあ土方にしては回答頑張ったんじゃねえの
2018/06/01(金) 12:30:31.01ID:taBhBTCk
現場土方は他人に馬鹿と言う割に頭悪いよね
高卒土方と呼んでやろうか?
2018/06/01(金) 12:31:56.63ID:taBhBTCk
>>700
おい高卒ちょっとそこの微分とって
711デフォルトの名無しさん
垢版 |
2018/06/01(金) 12:38:31.85ID:uCsHgk1n
ちょっと微分買ってきてと100円渡される。
712デフォルトの名無しさん
垢版 |
2018/06/01(金) 12:40:04.37ID:SFIgpc6j
微分はじめました
2018/06/01(金) 12:57:27.70ID:Cl1sllZJ
ちょっと微分〜静かにして〜
2018/06/01(金) 13:07:10.93ID:ofHoYooM
正規表現もわからずゴミコードしか書けない池沼が6連投www

>*消したらドットが複数ある時どうするんだ
書いてある正規表現も理解できない馬鹿なんだから無理して書き込むなって糞馬鹿w

こんな奴が回答してたりするからゴミスレすぎる
馬鹿はプログラムやるなってwマジでw
2018/06/01(金) 13:30:14.01ID:taBhBTCk
>>714
答えになってないけど
2018/06/01(金) 13:31:37.93ID:taBhBTCk
理解してないの微分の方じゃん!
2018/06/01(金) 13:33:29.11ID:taBhBTCk
昨日ふと夜空を見上げたら微分が流れた
思わず願い事したの
2018/06/01(金) 13:33:50.10ID:ofHoYooM
昔もこのスレはこんなに馬鹿が溢れてなかったんだけど
今はすごいね
まともな奴はみんなどっか他所に行ったみたいだな
馬鹿しかいねぇw
2018/06/01(金) 13:35:05.07ID:taBhBTCk
>>718
馬鹿はお前だけだよ高卒くん、あんま調子乗ってっと微分せざるを得ないが?
2018/06/01(金) 13:35:57.66ID:taBhBTCk
正しい修正案を提示できない高卒土方がさっき微分を殺してました
2018/06/01(金) 13:37:28.84ID:taBhBTCk
最後の?と*消すなんてそんないい加減な修正したら
現場では速攻微分だから
2018/06/01(金) 14:16:21.34ID:yWtLbZRH
public class sure{
public static void main(String[] args){
System.out.println("ここは初心者の質問が許されているスレですか?");
}
}
723デフォルトの名無しさん
垢版 |
2018/06/01(金) 14:17:29.44ID:aj1Deil2
>>722
public class sure{
public static void main(String[] args){
System.out.println("はい。");
}
}
2018/06/01(金) 16:48:06.33ID:yWtLbZRH
String[] come=
{"コ","メ","ン","ト","が","辛","す","ぎ","て",
"質","問","し","づ","ら","い","で","す","わ","(汗"};

for(String c:come){
System.out.println(c);
}
2018/06/01(金) 16:55:59.25ID:TG2yRP/h
すまないが生きている価値のないごみクズは35歳だけにしてくれないかな。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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