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

■ このスレッドは過去ログ倉庫に格納されています
0678デフォルトの名無しさん
垢版 |
2018/05/30(水) 18:58:18.41ID:KAg+tusB
ct はループの中で、c の0から2をそれぞれぞれ参照していくというのが正しい言い方なんですか?
0680デフォルトの名無しさん
垢版 |
2018/05/30(水) 19:46:28.89ID:GatrRteM
ヒント1:拡張for文
ヒント2:ググる
ヒント3:説明読む
ヒント4:初心者以前のレベル
ヒント5:上記のことが理解出来たら入門書読み直して理解できるまで絶対に質問しない
0681デフォルトの名無しさん
垢版 |
2018/05/30(水) 23:56:16.49ID:A3Z0kCh/
>>668
>型を判別している部分があったら、即ダメ

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

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

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

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

switch monster {
case slime:
case dragon:
case ghost: // 追加
0689デフォルトの名無しさん
垢版 |
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 という文字列を含まないちゃんとしたメールアドレスはどうやって抽出すればいいのしょうか?
0690デフォルトの名無しさん
垢版 |
2018/05/31(木) 22:20:31.29ID:k6BQnAIS
Regular Expression(正規表現) Part14 [無断転載禁止]©2ch.net
ttp://mevius.2ch.net/test/read.cgi/tech/1489511075/
0691デフォルトの名無しさん
垢版 |
2018/05/31(木) 22:33:25.49ID:VDYyuWAQ
基本を理解してれば5秒で解決できようなことも
コピペするだけで自分で考えることを完全に放棄して
「どうすればいいですか?!(ブヒッ w」って言う奴がたまに沸くけど
俺から言えることは一つ






とりあえずプログラム勉強するのやめて死ぬか肉体労働でもしてろアホ
0692デフォルトの名無しさん
垢版 |
2018/06/01(金) 02:17:30.69ID:G+EweiBr
>>689
パターンから?だけ抜けば良いじゃん
0693デフォルトの名無しさん
垢版 |
2018/06/01(金) 05:58:16.47ID:dO01bT30
>>691
わからないなら黙ってろ
0694デフォルトの名無しさん
垢版 |
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));
0695デフォルトの名無しさん
垢版 |
2018/06/01(金) 07:16:54.69ID:mz3IXUUz
自分は中括弧なしの一行のif文よく使うのだけど、
別の事情でたまたまそれ全部取ったら動作早くなった気がするのだけど気のせいでしょうか?
0697デフォルトの名無しさん
垢版 |
2018/06/01(金) 09:17:42.84ID:ofHoYooM
>694 ←なんだこれw
馬鹿は回答側に回るなって何度言えばわかるんだ?
入門書読み終わるまでROMってるか釣りじゃなかったら
思考能力が小学生以下だからとっとと死ぬか肉体労働でもやってろ低能
0698デフォルトの名無しさん
垢版 |
2018/06/01(金) 09:26:06.00ID:2cZeSctd
馬鹿と言うやつが馬鹿
0700デフォルトの名無しさん
垢版 |
2018/06/01(金) 10:02:50.20ID:ofHoYooM
正規表現で何してるかわかれば
上の方でアホっぽい奴が書いてるように最後の行の「?」と「*」消せば
?に当たった時点で抽出されなくなる
それを>694みたいに固定文字列検索してsubstringするような馬鹿は馬鹿と言われて当然
こんなコピペだけして何も考えてなく応用力0の奴に回答すると延々と質問してくるし回答してやる価値もないし
?残してそれ以降の文字だけ消したいとかこの?が何を意味してるかもわかってないし
そもそもこんなことしたい奴なんてwebクローリングとかして怪しいことする気満々の糞業者だし
とりあえず死ねって感じ
0701デフォルトの名無しさん
垢版 |
2018/06/01(金) 10:08:29.54ID:2cZeSctd
  ∧_∧  / ̄ ̄ ̄ ̄ ̄
 ( ´∀`)< オマエモナー
 (     )  \_____
 │ │ │
 (__)___)
0703デフォルトの名無しさん
垢版 |
2018/06/01(金) 11:14:33.56ID:ofHoYooM
まぁ勉強初めて2日目とかの初心者なんだろうけど
よくそんなゴミコード晒せるな
ビックリするわ
0708デフォルトの名無しさん
垢版 |
2018/06/01(金) 12:28:16.05ID:taBhBTCk
*消したらドットが複数ある時どうするんだ
そもそもドメイン名にハテナ無理じゃね
消すのは最後だけじゃない
でもまあ土方にしては回答頑張ったんじゃねえの
0711デフォルトの名無しさん
垢版 |
2018/06/01(金) 12:38:31.85ID:uCsHgk1n
ちょっと微分買ってきてと100円渡される。
0712デフォルトの名無しさん
垢版 |
2018/06/01(金) 12:40:04.37ID:SFIgpc6j
微分はじめました
0714デフォルトの名無しさん
垢版 |
2018/06/01(金) 13:07:10.93ID:ofHoYooM
正規表現もわからずゴミコードしか書けない池沼が6連投www

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

こんな奴が回答してたりするからゴミスレすぎる
馬鹿はプログラムやるなってwマジでw
0718デフォルトの名無しさん
垢版 |
2018/06/01(金) 13:33:50.10ID:ofHoYooM
昔もこのスレはこんなに馬鹿が溢れてなかったんだけど
今はすごいね
まともな奴はみんなどっか他所に行ったみたいだな
馬鹿しかいねぇw
0721デフォルトの名無しさん
垢版 |
2018/06/01(金) 13:37:28.84ID:taBhBTCk
最後の?と*消すなんてそんないい加減な修正したら
現場では速攻微分だから
0722デフォルトの名無しさん
垢版 |
2018/06/01(金) 14:16:21.34ID:yWtLbZRH
public class sure{
public static void main(String[] args){
System.out.println("ここは初心者の質問が許されているスレですか?");
}
}
0723デフォルトの名無しさん
垢版 |
2018/06/01(金) 14:17:29.44ID:aj1Deil2
>>722
public class sure{
public static void main(String[] args){
System.out.println("はい。");
}
}
0724デフォルトの名無しさん
垢版 |
2018/06/01(金) 16:48:06.33ID:yWtLbZRH
String[] come=
{"コ","メ","ン","ト","が","辛","す","ぎ","て",
"質","問","し","づ","ら","い","で","す","わ","(汗"};

for(String c:come){
System.out.println(c);
}
0727デフォルトの名無しさん
垢版 |
2018/06/01(金) 19:15:55.33ID:dhEPwp5e
皆さんレスどうもありがとうございました。こんな感じになりました。

if (m.find()) {
int index = m.group().indexOf("?subject=");
if (index > -1)
System.out.println(m.group(0).substring(0, index)) ;

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

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

これだとちゃんとしたアドレスを抽出できませんが、こんなドメインなどほとんどないだろうってことにしときます。
実際のところ「?」を含むドメインにもほとんどお目にかからないのでパターン文字列から「?」を取り除いても実用上ほとんど問題ないって気がします。

あと余談になりますが、

<a href = "mailto:info@?subject=.org?subject=title">連絡先</a>

このリンクをクリックすると、メーラーが立ち上がりますが、宛先は「info@;」、件名が「.org?subject=title」になりました。
0728デフォルトの名無しさん
垢版 |
2018/06/01(金) 19:44:30.73ID:ofHoYooM
サ ブ ス ト リ ン グ www
上のゴミコードってこの馬鹿の自演だったのかw
消えろゴミ業者
0729デフォルトの名無しさん
垢版 |
2018/06/01(金) 19:53:09.39ID:dhEPwp5e
ちょっと間違いました。indexOf より lastIndexOf ですね。
それなら "mailto:info@?subject=.org?subject=title" からも抽出出来ます。

"mailto:info@?subject=.org" だとおかしくなるってことです。
0731デフォルトの名無しさん
垢版 |
2018/06/02(土) 08:03:08.29ID:ZL+shul1
>>730
ご指摘ありがとうございます。?が使えるのはアカウント部分で、ドメイン部分はダメなんですね。
すごく恥ずかしい勘違いをしてました。皆さんお騒がせしました。
0733デフォルトの名無しさん
垢版 |
2018/06/02(土) 11:02:17.37ID:SPPFkf/2
馬鹿すぎて何も理解できてないのがすげーww
皮肉で指摘してやっても「?」が何を意味してるかも全くわかってないし
3秒で解決できることに何日かけてんだこの自演馬鹿はwww
0734デフォルトの名無しさん
垢版 |
2018/06/02(土) 11:34:07.68ID:UOodwMog
>>733
お前がメルアドの仕様をまったくわかってなくて
いい加減な修正案を提示したんですよ
馬鹿すぎて理解できてなかったのはお前です
0735デフォルトの名無しさん
垢版 |
2018/06/02(土) 11:35:37.95ID:UOodwMog
高卒の限界を示した土方くんはもうここに来たらアカンで
回答者として能力が足りてない
0736デフォルトの名無しさん
垢版 |
2018/06/02(土) 11:44:38.05ID:UOodwMog
>上の方でアホっぽい奴が書いてるように最後の行の「?」と「*」消せば
>?に当たった時点で抽出されなくなる

最後の行? は? メールアドレスの仕様わからずに回答してるわけ?
この人頭の中には水でも詰まってるわけ? 砂漠では助かりそう
とこのスレを見てる全員が思いましたよ、サハラで死ねよ高卒くん
0737デフォルトの名無しさん
垢版 |
2018/06/02(土) 11:51:21.03ID:SPPFkf/2
javaグラマーになりたい中学生のガキかなんかかなコイツ・・w
文章滅茶苦茶でチンパン言語で何言ってるか解読不能w
ゴミコードって言われたもんだから常に顔真っ赤でギャーギャー負け惜しみ言って
俺の言ってることがホントにわからんらしいwww
馬鹿ガキはSNSで質問でもしてろ池沼
アホ
0738デフォルトの名無しさん
垢版 |
2018/06/02(土) 11:55:14.69ID:UOodwMog
まだ生きとったんかワレー!!!
0739デフォルトの名無しさん
垢版 |
2018/06/02(土) 11:56:02.48ID:SPPFkf/2
あと可哀想だから教えてやるけど
お前のようなゴミコードは現場だと速攻で指摘されて全部書き直しさせられるからなw
2文字消すだけで解決することを固定文字検索してサブストリングってwwww
小学生のプログラミングスクールかよwww
こういうゴミコードを「コーディングホラー」って言うから覚えておけアホガキw
アホ
0740デフォルトの名無しさん
垢版 |
2018/06/02(土) 11:56:10.87ID:UOodwMog
高卒土方が中学生のガキに回答の瑕疵を指摘されてサハラの星になったお話
0741デフォルトの名無しさん
垢版 |
2018/06/02(土) 11:57:43.66ID:UOodwMog
>>739
でたw現場www
お前の現場レベル低くね?
0742デフォルトの名無しさん
垢版 |
2018/06/02(土) 11:58:45.12ID:UOodwMog
今日からオメーの現場は鳥取砂丘な
0743デフォルトの名無しさん
垢版 |
2018/06/02(土) 12:02:33.88ID:SPPFkf/2
まぁ勉強し始めて3日目?wぐらいのお前のようなガキが書いたコードを
現場で書く奴なんて1万人に一人もいないからありえんけどなw
アホ
0744デフォルトの名無しさん
垢版 |
2018/06/02(土) 12:27:01.00ID:UOodwMog
自称上級者のいい加減な修正より
勉強を始めて3日目の俺の素直で正直なコードの方が
わかりやすくて処理が速くて正確に動作するわけ
このスレで1万人に1人の天才と出会ってしまった不幸を呪って
もいいと思うが何年も仕事してて末尾の?と*を消せばいいなんて
アドバイスしてしまう自分に疑問を持たないと成長はないんじゃないかと
差し出がましいとは思うが天才からの忠告として受け入れていただければ
初心者スレから卒業できるんじゃないかと思います
末筆ながらご卒業誠におめでとうございました
0745デフォルトの名無しさん
垢版 |
2018/06/02(土) 12:36:22.11ID:SPPFkf/2
お前のゴミコードだとURLパラメータ1個増えたら全部修正だね!すごいね!w(大失笑(爆裂(核爆弾))www)
俺の正規表現で完結する修正内容はメールアドレスだけ未来永劫正しく取得できるね!やったね!w

池沼「うるさい!うるさい!ぼくのゴミコードの方が正しいんだ!!!!くぁwせdrftgyふじこlp (アババババオンギャあああ」

THE 池沼
アホww
腹いてぇwww
0746デフォルトの名無しさん
垢版 |
2018/06/02(土) 12:41:00.53ID:UOodwMog
おめーの正規表現バグってっから
末尾の?と*を消すだけの姑息な修正施した
正規表現ではメルアド抽出できないことは
上級者の自覚をお持ちのあなたならよくわかっておられるでしょうに
subjectのパラメータは今後一生変わらないから俺の天才コードは
一切問題ないけど
0748デフォルトの名無しさん
垢版 |
2018/06/02(土) 12:53:03.62ID:UOodwMog
>>747
まあまあ落ち着きなさいな
興奮しすぎて混乱しておられるようだ

(小前提)正規表現を提示したのは質問者
(大前提)僕は質問者じゃありません
(結論)ゆえに僕は正規表現を持ってきていません

正規表現がマズいと思うならそれを修正しないと
この正規表現はマズイですよとあなたが指摘したのならわかりますよ
でもあなたはそれをやっていない

最後の行の?と*を消したら行けるよ、なんとかなるよ!絶対大丈夫だよ!!
とお墨付きを与えたのはあなたじゃないですか、あなたが首謀者ですよ
0749デフォルトの名無しさん
垢版 |
2018/06/02(土) 12:59:59.34ID:ZL+shul1
>>689って、ドメインの部分に、アカウントにしか使えない文字が他にも並んでませんか?
?以外にももっと消すべき文字があるのでは。
0750デフォルトの名無しさん
垢版 |
2018/06/02(土) 13:01:00.08ID:SPPFkf/2
だからゴミ正規表現でもお前の期待通り動くようにしてやってんのに
バグってるだのホンマキチガイクソガキやなコイツw
アホ
0751デフォルトの名無しさん
垢版 |
2018/06/02(土) 13:10:06.70ID:UOodwMog
動けばいいってもんじゃないでしょうが!!
0752デフォルトの名無しさん
垢版 |
2018/06/02(土) 13:11:06.87ID:ffIOJoFg
そもそも質問に曖昧な部分があるからな

A = mailto:
B = info@jafrec.org
C = ?subject=title
としてAとCが不変でBを取得したいのか
それともCは可変なのか
0753デフォルトの名無しさん
垢版 |
2018/06/02(土) 13:13:24.76ID:UOodwMog
>>752
不変ならばこうする
可変ならばこうすると仮定を置いて
修正案を提示すればよいかと
0754デフォルトの名無しさん
垢版 |
2018/06/02(土) 13:14:04.79ID:UOodwMog
曖昧だからわかりませんではなく
曖昧だから分析して選択肢を作るのが回答者としての役目だと思います
0755デフォルトの名無しさん
垢版 |
2018/06/02(土) 13:18:01.99ID:SPPFkf/2
お前みたい馬鹿の思考を考慮して
何で回答者があらゆるパティーンを推測して回答すんだよ馬鹿ガキ
スレを荒らすなゴミ
0757デフォルトの名無しさん
垢版 |
2018/06/02(土) 13:21:49.86ID:UOodwMog
>>756
有れよ!!
0758デフォルトの名無しさん
垢版 |
2018/06/02(土) 13:22:46.08ID:UOodwMog
>>755
あなたのように間違った回答を提示しないように
曖昧さを分析するのは大事なことだと思いますけどね
スレを荒らしてるのはあなたですよ、あなたがゴミです
0759デフォルトの名無しさん
垢版 |
2018/06/02(土) 13:24:13.22ID:UOodwMog
文体を見てください、丁寧語で書いてる僕がどう見てもジェントルメンです
0761デフォルトの名無しさん
垢版 |
2018/06/02(土) 13:31:42.02ID:Ozhpg4UJ
フレームワーク・ライブラリにあるはず

例えば、Ruby なら、validates_email_format_of という、gem を使う
0762デフォルトの名無しさん
垢版 |
2018/06/02(土) 13:32:10.31ID:UOodwMog
>>760
仮定と思い込みは違いますよ

こう仮定を置いたらこうなります
一方でこう仮定を置いたらこうなります
どちらかわかりませんので教えてくださいと
確認することできますよね

仮定を置くことと確認することは独立した事柄で
同時に成り立ちますよ

仮定を置いたから確認できないという関係にないので
あなたが言ってることは成り立たない
0763デフォルトの名無しさん
垢版 |
2018/06/02(土) 13:32:54.29ID:UOodwMog
チミたち論理的思考が苦手なようだね
0764デフォルトの名無しさん
垢版 |
2018/06/02(土) 13:35:08.57ID:UOodwMog
仕様の曖昧なところを分析して選択肢を用意して
仕様を明確にしていくって能力は仕事で必要だし
チーム開発でも役立つっしょ
0765デフォルトの名無しさん
垢版 |
2018/06/02(土) 13:42:15.97ID:ZL+shul1
>>752
やろうとしているのは、WEBページで、クリックするとメーラーが起動するリンクがありますよね。
そのHTMLコードの中からメールアドレスを抽出することです。
mailto: は固定で、メールアドレスのあとにに来る文字列は色々ですが、?だけを見ればいいようです。

http://www.shurey.com/js/mailto.html
0766デフォルトの名無しさん
垢版 |
2018/06/02(土) 13:50:08.25ID:ffIOJoFg
>>764
不要な選択肢に要した時間が無駄だから先に確認するんだろ
お前みたいに非効率な奴はチームにいらんって事
0767デフォルトの名無しさん
垢版 |
2018/06/02(土) 13:52:43.70ID:UOodwMog
>>766
時間かけずに仮定を置けばいいじゃん
思考を巡らせずにわかりませんといっちゃうやつは木偶の坊だよ
0768デフォルトの名無しさん
垢版 |
2018/06/02(土) 13:54:13.47ID:SPPFkf/2
>仕様の曖昧なところを分析して
ワロタw
斬新な発想した馬鹿だねw
仕事したことなくても普通こんなこと思わんと思うけどねぇ(超新星爆発ww)wwwww
0769デフォルトの名無しさん
垢版 |
2018/06/02(土) 13:54:48.63ID:UOodwMog
そもそも仕様が決まってないこともあるからね
仕様を決めてもらうために仮定を置いて
こうしたらこうなりますね、さあどうしましょうかとお伺い立てれば
うむ、そうなのか、じゃあこうしようと意思決定できるよ
0770デフォルトの名無しさん
垢版 |
2018/06/02(土) 13:55:56.61ID:UOodwMog
>>768
仕様ガチガチに決まってるものが下りてくる現場なの?
それって末端過ぎない? もう少し上だとあるよ
僕勉強始めて3日目の中学生だからわかんないけど
0771デフォルトの名無しさん
垢版 |
2018/06/02(土) 13:56:55.40ID:SPPFkf/2
最初から「?」のことしか言ってないのに馬鹿な質問しかできない馬鹿が
自演で馬鹿コード書いて自演で馬鹿なコードを選択してるんだから世話ねぇわw
「?」の意味を調べればおのずと答え出るのに全く調べようとしないしなw
だからこんなコピペ馬鹿に回答してやる価値なんか最初からないんだよ
アホ
0772デフォルトの名無しさん
垢版 |
2018/06/02(土) 13:59:33.79ID:SPPFkf/2
曖昧なところは明確になるまで詰めるんだよアホwww
お前が最初に言ったのは仮定をしてその仮定に対して”回答”を作るってことなんだよ
話をすり替えるな雑魚
アホ
0773デフォルトの名無しさん
垢版 |
2018/06/02(土) 14:00:04.51ID:UOodwMog
>>771
でも君回答したよね?
最後の行の?と*を消せば良いって自信満々にご回答されましたよね?
0774デフォルトの名無しさん
垢版 |
2018/06/02(土) 14:00:25.98ID:ffIOJoFg
>>767
つまりお前は時間をかけずに全ての仮定をおけると
AIかよ

>>769
それは口頭だろ摩り替えんな
コード書くのは確認してからが常識だから
0775デフォルトの名無しさん
垢版 |
2018/06/02(土) 14:01:22.34ID:UOodwMog
>>772
でもあなた何も詰めずに最後の行の?と?*を消せば良いって言いましたよね?
あなたが言いましたよね? 全然詰めれてないじゃないですか
■ このスレッドは過去ログ倉庫に格納されています

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