X



Java入門・初心者質問スレ Part.7
■ このスレッドは過去ログ倉庫に格納されています
0476デフォルトの名無しさん
垢版 |
2018/05/15(火) 22:36:23.61ID:JYHluoOt
お前さぁ
俺が一番最初に一番最短のまともな回答書いてやってるのに
なんで意味わからずアスタリスク使った方を選んでんだアホ
これだから馬鹿はイラつくんだよな
説明読んで正規表現もわからんってどんな馬鹿だよ・・
お前はもう二度と書き込むなアホ
0477デフォルトの名無しさん
垢版 |
2018/05/15(火) 22:40:19.77ID:4HBr8Nk+
+は邪道でしょ
0478デフォルトの名無しさん
垢版 |
2018/05/15(火) 22:40:58.19ID:4HBr8Nk+
>>473
でもアスタリスク使ってるわけだし
0479デフォルトの名無しさん
垢版 |
2018/05/15(火) 22:54:38.02ID:IdPDIHX7
>>476
申し訳ありません。ところで、あなたの [( ].+?[)] を使うと、

会社名( 多久比禮志神社 )
( 富山県富山市塩689 )

と出力されます。

[(].+?[)]

にすると

( 多久比禮志神社 )
( 富山県富山市塩689 )

になります。なんかまた謎が増えてしまって。
0480デフォルトの名無しさん
垢版 |
2018/05/15(火) 22:59:41.77ID:JYHluoOt
>あなたの [( ].+?[)] を使うと、

おめーが使ってる最初の括弧が2バイト文字だからそのまま使ってるだけなんだが
舐めてんのかお前?
0481デフォルトの名無しさん
垢版 |
2018/05/15(火) 23:01:13.76ID:JYHluoOt
あ、半角スペース入ってただけだわすまんな
っつーか揚げ足取って挑発してんのかおまえ?
あ?
0482デフォルトの名無しさん
垢版 |
2018/05/15(火) 23:09:47.97ID:IdPDIHX7
>>481
でも半角スペースが入ったら、「会社名」が何で含まれるんでしょうか?揚げ足を取りたいわけではなくて、ほんとに分からない。
0483デフォルトの名無しさん
垢版 |
2018/05/15(火) 23:30:36.21ID:IdPDIHX7
>>481
申し訳ありません。文字列が違ってました。

"2. 会社名( 多久比禮志神社 )、住所 ( 富山県富山市塩689 ) のウェブサイトを探・・・”でした。最初の「2」の後にスペースが入ってました。
重ねて謝罪します。ほんとに申し訳ありませんでした。
0484デフォルトの名無しさん
垢版 |
2018/05/15(火) 23:43:31.90ID:1bAdW6Zs
会社名や住所に()が含まれるときここに出た正規表現じゃ全部駄目
再帰的パターン使え
0485デフォルトの名無しさん
垢版 |
2018/05/16(水) 01:40:48.31ID:Ncn1UiZB
だめだけど、そういう仕様にしなければいけないという指定はない。
0486デフォルトの名無しさん
垢版 |
2018/05/16(水) 04:29:15.58ID:OVunt3L8
* は、0回以上
+ は、0回以上
? は、0 か1回

{m} は、m回
{m,} は、m回以上
{,n} は、n回以下
{m,n} は、m回以上、n回以下

上は最長一致 (greedy)。
最短一致にするには、? を付ける (reluctant)

*?, +?, ??, {m,}?, {,n}?, {m,n}?

例えば、<div>あ</div> で、

<.*> なら最長一致で、<div>あ</div>
<.*?> なら最短一致で、<div>
0487486
垢版 |
2018/05/16(水) 04:37:57.06ID:OVunt3L8
>>486
修正

>+ は、0回以上
+ は、1回以上
0488486
垢版 |
2018/05/16(水) 04:58:36.97ID:OVunt3L8
修正

本当は最短一致なら、<[^>]*>

先頭が< で、> 以外の文字が、0以上あって、末尾が>
0490デフォルトの名無しさん
垢版 |
2018/05/17(木) 00:43:44.49ID:yxB+aPaP
まだ前の人の質問が完結してないみたいですが、質問させて頂いていいでしょうか?

JUnitというツールを使いこなせれば、アサーションは覚えなくても問題無い
でしょうか?
0493デフォルトの名無しさん
垢版 |
2018/05/18(金) 16:58:29.13ID:syGPQ258
boolean hoge1=false,hoge2=false;
if(hoge1 == true && hoge2 == true){}

こうやって書くともっとシンプルにって言われるんだけども、
どうやってシンプルに書くのでしょう?
if(hoge1 && hoge2 ){}
だと、両方falseでも条件を満たしますよね?
0496デフォルトの名無しさん
垢版 |
2018/05/18(金) 18:58:41.99ID:fM2r+Hus
>>493
やってみな
0499デフォルトの名無しさん
垢版 |
2018/05/18(金) 19:50:24.03ID:xP2z7JCS
System.out.println(true && true) ;
System.out.println(false && false);
System.out.println(true && false);

true
false
false
0501デフォルトの名無しさん
垢版 |
2018/05/18(金) 20:54:08.79ID:vSzWWhuT
なってると思うけどなあ
むしろQZの方が・・・
0502デフォルトの名無しさん
垢版 |
2018/05/19(土) 02:01:38.66ID:XScpv1fe
大規模開発用言語のHaxe なんて、
if の条件文は厳格で、Bool しか書けない

Bool以外の変数、a について、
if ( a )
は、コンパイルエラー

if ( a != null )
null でも、わざわざ比較する

if ( a == 1 )
if ( a = 1 )
こういう書き間違いを防ぐため
0503デフォルトの名無しさん
垢版 |
2018/05/19(土) 07:20:54.81ID:b7x1I7X/
>>502
Javaもそうだよ。比較的新しい言語ってだいたいそうなってない?
0505デフォルトの名無しさん
垢版 |
2018/05/19(土) 09:39:45.34ID:b7x1I7X/
あー。スクリプトはそうか。
0506デフォルトの名無しさん
垢版 |
2018/05/19(土) 10:00:26.93ID:P9NZnjfr
>>497
それをワザワザ教えてあげる貴方いい人だ
俺も色んなカス見てきたけど
if (b == true)これ書く奴はまず頭も悪いし
プログラマとしてのセンスも皆無だと思う
現場を混沌に導く癌でしかない

>>501
俺もそう思った
Qちゃん今回はチョッとズレてたね残念
0507デフォルトの名無しさん
垢版 |
2018/05/19(土) 10:28:05.93ID:sq/G7sle
>>506
好みの問題だから君が言ってるのは
ワガママだと思うけどなあ
自分の価値観が絶対だと思ってるんでしょ
友達いなさそう
0508デフォルトの名無しさん
垢版 |
2018/05/19(土) 11:39:44.12ID:BQeAYIRL
いゆしかし if (b == true) は人に何かがおかしいと感じさせるには十分
0509デフォルトの名無しさん
垢版 |
2018/05/19(土) 11:52:24.95ID:zEl3eNvL
>>508
!bは分かりづらいからb == falseと書くことがあり
一貫性を持たせるために
b == true
b == false
と書きましょうとなることもある
可読性の話です
0510デフォルトの名無しさん
垢版 |
2018/05/19(土) 11:55:25.27ID:zEl3eNvL
代替を「だいがえ」と言うようなものかな
おかしいけどわかりやすいっしょ
0511デフォルトの名無しさん
垢版 |
2018/05/19(土) 12:06:04.01ID:4IULO87O
あのなぁ
くだらないネタでいつまでもくだらないレスの応酬やめろボケカス低能ども
0512デフォルトの名無しさん
垢版 |
2018/05/19(土) 12:08:35.09ID:zEl3eNvL
>>511
b == true
これありですよね?
0515デフォルトの名無しさん
垢版 |
2018/05/19(土) 14:46:06.80ID:zEl3eNvL
>>514
詳しく言うとQZのコードは論理的に破綻してるよねってこと
0516デフォルトの名無しさん
垢版 |
2018/05/19(土) 15:21:18.38ID:sMDzLR8Y
>>509
いやそれそもそも分かり辛くないから
0517デフォルトの名無しさん
垢版 |
2018/05/19(土) 16:01:59.23ID:zEl3eNvL
>>516
俺は困ってないからみたいな
分かりづらいと思う人が存在してることを受け入れるんだよ

お前は自分が良ければそれでいい
他人のことなんか知ったことじゃない
俺様こそが世界の全てだと思ってるクッパ野郎だろうけど
世の中にはクリボーもパックンフラワーも居るんだよ
0518デフォルトの名無しさん
垢版 |
2018/05/19(土) 16:03:14.01ID:zEl3eNvL
ニンテンドーは世界の広さと多様性を教えてくれるとても素敵な企業だよね
0519デフォルトの名無しさん
垢版 |
2018/05/19(土) 16:05:12.48ID:s0GlRA3+
>>517
分かりづらくない、いやむしろ分かりやすい、と感じ始めたところ辺りが初心者の終わりの始まり。
0520デフォルトの名無しさん
垢版 |
2018/05/19(土) 16:09:55.41ID:zEl3eNvL
>>519
> 終わりの始まり
このフレーズ、30年前俺が中学の時一番最初に思いついた
著作権は俺にあるから、別に自由に使ってくれていいけど
最初に思いついたのは俺だからそこんとこ忘れないでくれ
0521デフォルトの名無しさん
垢版 |
2018/05/19(土) 16:13:18.78ID:zEl3eNvL
FF13でヴァニラが使ってたときは恥ずかしくて枕に顔埋めたよね
それ俺のだから〜(///ω///)みたいな
俺が30年前中二病全開のときに思いついたフレーズだからみたいな
よくよく考えれば売上の何%か俺に入ってもいいよねこれ
0522デフォルトの名無しさん
垢版 |
2018/05/19(土) 16:17:55.80ID:zEl3eNvL
>>519
あどうも、終わりの始まりさんこんにちわ
ドゥモ♪\( ̄ー ̄|電柱| ̄ー ̄)/ドゥモ♪
0523デフォルトの名無しさん
垢版 |
2018/05/19(土) 16:19:15.09ID:zEl3eNvL
          ____
       / \  /\  キリッ
.     / (ー)  (ー)\   終わりの始まり
    /   ⌒(__人__)⌒ \
    |      |r┬-|    |
     \     `ー'´   /
    ノ            \
  /´               ヽ
0524デフォルトの名無しさん
垢版 |
2018/05/19(土) 16:20:02.61ID:zEl3eNvL
久々に使ってもらえて嬉しかったからついつい失敬失敬
0525デフォルトの名無しさん
垢版 |
2018/05/19(土) 17:11:27.14ID:s0GlRA3+
やはり if (b == true) なんて書くやつは何かがおかしいな。
0526デフォルトの名無しさん
垢版 |
2018/05/19(土) 17:13:12.24ID:ttKcchMI
自分は if (a && b) と書かれたコードを見たら、5秒か10秒くらい考える口だわ。
0527デフォルトの名無しさん
垢版 |
2018/05/19(土) 17:27:23.55ID:zEl3eNvL
if (終わりの始まり) {
 >>525
}
0528デフォルトの名無しさん
垢版 |
2018/05/19(土) 17:28:07.17ID:s0GlRA3+
ま、ifで条件式書かずに直接booleanの変数だけ使うのはあまりないけどな。
何らかの理由で複数回同じ比較をする必要があったりして、無駄だから比較結果を変数に入れといて実際に比較する代わりにそれ使うようにするとかな。
あとはメソッドの戻り値がbooleanで成功がtrue、エラーがfalseの時にifでそのまんま分岐させるとか。
0529デフォルトの名無しさん
垢版 |
2018/05/19(土) 17:28:11.70ID:zEl3eNvL
ごめん、俺今日これから終わりの始まりだから
0530 ◆QZaw55cn4c
垢版 |
2018/05/20(日) 14:03:28.07ID:JyKbNFIa
>>520
https://ja.wikiquote.org/wiki/%E3%82%A6%E3%82%A3%E3%83%B3%E3%82%B9%E3%83%88%E3%83%B3%E3%83%BB%E3%83%81%E3%83%A3%E3%83%BC%E3%83%81%E3%83%AB
「今は終わりではない。これは終わりの始まりですらない。しかしあるいは、始まりの終わりかもしれない。」
"Now this is not the end. It is not even the beginning of the end. But it is, perhaps, the end of the beginning."

>>520
貴様は「始まる前に終わっていた」
0531デフォルトの名無しさん
垢版 |
2018/05/20(日) 15:47:53.02ID:2vtHNIEh
>>530
あ、俺チャーチルの生まれ変わりかも
0532デフォルトの名無しさん
垢版 |
2018/05/21(月) 19:28:59.75ID:HQk+rkwS
public class A(){
int x;
int y;
/*(略)*/
}

みたいなクラスAがあったとして
クラスBにフィールドxを利用するメソッドをつくりたい場合

public class B(){
public void func(int ax){
/*(略)*/
}
/*(略)*/
}

とするのと

public class B(){
public void func(A a){
//a.xのみ利用
/*(略)*/
}
/*(略)*/
}

とするのではどちらが良い書き方でしょうか?
0533デフォルトの名無しさん
垢版 |
2018/05/21(月) 20:07:56.78ID:kCIhHpfP
クラスBのフィールドxを使いたいなら前者だし
クラスBのフィールドxに入っている値を使いたいなら後者

設計と考え方次第
0535デフォルトの名無しさん
垢版 |
2018/05/21(月) 20:31:33.87ID:M7fGJX8z
>>532
将来的にクラスAの他の変数にもアクセスするように拡張するなら後者かな。

しかしB側のメソッドに値を渡す度に必ずAのインスタンスが必要になるわけで、それで効率悪くなるとかメモリ食い過ぎになるようなら前者かな。
0537532
垢版 |
2018/05/21(月) 21:55:30.28ID:HQk+rkwS
レスありがとうございます
任意の値放り込んで動作テストしやすい前者のほう好んで使ってたけど
後者のほうが良く見かける気がしたので聞いてみたんですが
思考停止でどっちってものでもないんですね
0538デフォルトの名無しさん
垢版 |
2018/05/22(火) 03:37:47.30ID:ePdBI50U
staticでもない限りフィールドを参照する場合は必ず
そのフィールドを持つクラスのインスタンスが存在するんだから
ほとんどの場合において思考停止で後者だよアホ
ここの回答者はアホしかおらんからお前みたいなのがよく騙される
0540デフォルトの名無しさん
垢版 |
2018/05/22(火) 11:33:37.24ID:+V0ARxgv
どんどん機能追加しているうちに多次元配列や変数が増えたからか若干カクカクになってきたんだけど
例えば if (0==0) { みたいに変数のスコープ狭くしたら多少は軽くなるんでしょうか
0541デフォルトの名無しさん
垢版 |
2018/05/22(火) 12:16:48.73ID:s7oQSYg1
スコープ狭くしたらメモリ確保と解放が多くなるから遅くなるのでは?
ま、実際は最適化されるからあまり遅くならんかも知れないが。
0542デフォルトの名無しさん
垢版 |
2018/05/22(火) 17:27:26.05ID:E5c/uhrq
一つリストを使ったアンドロイドのソースがあって
以下サイトのコードを(main.activityの名前は適当に変えて)そこから呼び出すように実装したいんだけど
どこにどう書けばいいの?
http://olee46.hatenablog.com/entry/2017/06/07/053010

呼び出したい画面のjavaソースの中に何かを書けばいいと思うんだけど、
参考書みてもぐぐってもわからん
0544デフォルトの名無しさん
垢版 |
2018/05/22(火) 18:39:07.10ID:jJOm7blD
>>542
AndroidはAndroidスレへ
0545デフォルトの名無しさん
垢版 |
2018/05/23(水) 00:32:58.76ID:ZUx8CcqZ
coberturaをダウンロードしたのですが、.gzというファイル形式だったので
展開する必要があるみたいです。
何かおすすめの無償の解凍用ソフトがあったら教えて頂きたいのですが、
どんな感じでしょうか?
0546デフォルトの名無しさん
垢版 |
2018/05/23(水) 00:44:41.94ID:0Sl9hrHV
>>545
tar.gz でしょ? 昔からUNIX系OSでよく使われていた方式で、 tar で複数のファイルをまとめたものを gzip 圧縮したやつだ。
Windows で中身を取り出したい場合でもだいたいの zip 展開できるソフトならできると思う。
俺が使ってるのはこれ。7zipだが、tar.gz 等もできる。
https://www.7-zip.org/
その他、Linux等のUNIX系OSなら tar xfz でファイル指定すると展開できるよ。(WSL上のLinux環境やCygwinでも同じ)
0547545
垢版 |
2018/05/23(水) 01:00:34.46ID:ZUx8CcqZ
>>546
返信ありがとうございます。

7zipのサイト見たのですが、ちょっと気になったのが、LGPLという記述があった
ことです。
LGPLだと、規約により自分の作成したコードを公開しないといけなくなるらしい
のですが、その辺は問題無いのでしょうか?
0548デフォルトの名無しさん
垢版 |
2018/05/23(水) 01:24:55.85ID:0Sl9hrHV
>>547
使うだけなら関係ない。7zipのライブラリ等を使うプログラムを自分で作って公開する場合に関係する。
LGPLの概要はこんな感じ。必ずしも自作部分のソースを公開する必要はない。
http://easylabo.com/2015/04/rapid-prototyping/9048/
0549デフォルトの名無しさん
垢版 |
2018/05/23(水) 01:36:07.73ID:ZUx8CcqZ
>>548
しつこくて恐縮ですが、念のためにお聞きすると、
LGPLの影響は7zip内のソースコードやクラスライブラリを自分の著作物に
利用する場合にのみ影響してくる、ということでいいんですよね?
0550デフォルトの名無しさん
垢版 |
2018/05/23(水) 03:56:11.01ID:0Sl9hrHV
>>549
そう。その通り。
0551デフォルトの名無しさん
垢版 |
2018/05/23(水) 08:55:06.92ID:McbJvmIi
7-Zip は、普通の無料アプリ。
インストールしたら、右クリックメニューから解凍できる、って言うだけ

この著作物を、君が無断で配布しなければ良いだけ。
そもそも、他人の著作物を無駄配布できないのは、常識だろ

>>541
メモリ確保と解放は、多くならない

例えば、スタックメモリ、1,000番地まで使っていて、
40バイトのオブジェクトを作ったら、1,040番地まで使っていることになる

各オブジェクトの生成・解放の手間は、毎回掛かるので、
それを嫌がる人は、スタックよりもヒープを使うけど、
ヒープはスコープが広いから、よくバグる

でも、メモリ確保と解放は、小さいサイズ毎にはやらない。
数MB毎とか、まとめて確保しているはず

メモリプールのような感じ
0552デフォルトの名無しさん
垢版 |
2018/05/23(水) 09:23:52.25ID:VrgE/TCp
>>551
メモリのOSへの要求はライブラリでまとめて多目に要求するのが普通だとは思うが、それでもその中で確保と解放の処理が必要になるためその分の負荷は掛かる。
0553551
垢版 |
2018/05/23(水) 11:13:18.92ID:McbJvmIi
たぶん、ファイルのバッファ・キャッシュと同じ理屈だろ

1バイトずつ千回書き込んでも、バッファにためておいて、
たまったタイミングで、1KB の1回の書き込みに変えてしまう

だから、そんなに小さいサイズ毎に、OSには要求しないと思う

何MB か、Java内部のメモリプールでやり繰りしておいて、
そのサイズで足らなくなったタイミングで、OSに新たなメモリを催促する感じ

数バイト毎に、OSのAPIを呼ぶと、
その度に、コンテキストスイッチが起こって、とんでもなく遅くなるはず

なるべく、OSのAPIを呼ばないように、VM 内でやり繰りする最適化が、
Java, JS, Ruby など、各VMの腕の見せ所
0555デフォルトの名無しさん
垢版 |
2018/05/23(水) 11:29:10.14ID:VrgE/TCp
そう。そんなのはC言語のmalloc()でもやっている。
しかしメモリが足りていてもmalloc()が呼ばれれば要求された分のメモリを呼ばれた側に返すために管理用のポインタを書き換えたりする処理が必要になる。
それは微々たるものではあるが何万回も呼ばれたりすれば人間でも感じられるぐらいの遅さにはなるかも知れない。
同じようなプログラムが何千もマルチタスクで動けばそのマシン全体の付加を高めて遅くなるかも知れない。
0559デフォルトの名無しさん
垢版 |
2018/05/24(木) 20:39:51.13ID:j4DAPFSk
糖質100%
0560デフォルトの名無しさん
垢版 |
2018/05/25(金) 01:29:35.13ID:SmtGWz1P
基本的な質問で恐縮なのですが、
https://pastebin.com/iQbMfbRS
上のコードで、
FileWriter fw = null;
と、変数fwをnullで初期化していますが、
ここは変数宣言するだけの、
FileWriter fw;
ではダメなんでしょうか?
0561デフォルトの名無しさん
垢版 |
2018/05/25(金) 02:06:42.40ID:thcmSanV
>>560
それだと fw を初期化しないまま finally ブロックに行く可能性があるのでダメ。
それと fw.close() は IOException を catch するように try 〜 catch の中に書かないとダメ。

ということで、 そのような従来通りの書き方をするよりも try-with-resources文で書いた方が良いと思う。
詳しくは下記ページ等を見てくれ。

try-with-resources文の基本
https://qiita.com/Takmiy/items/a0f65c58b407dbc0ca99
0562560
垢版 |
2018/05/25(金) 16:33:29.31ID:SmtGWz1P
>>561
返信ありがとうございます。

fwをnullで初期化してない状態でfw.close()を実行すると、何がまずいんですか?
0563デフォルトの名無しさん
垢版 |
2018/05/25(金) 16:41:20.70ID:UQq8n9gR
>>562
変数を初期化されないまま使うことが起こりうるプログラムはコンパイラがエラーにする。
0564デフォルトの名無しさん
垢版 |
2018/05/25(金) 16:45:06.38ID:UQq8n9gR
ていうか自分でコンパイルすればわかるよな。

まあ初期化してない変数は多分nullや0が入ってるんだろうが、初期化する処理がないままでその変数を使用するということは普通はプログラマの初期化忘れだ。
だからコンパイル時に発見されたらエラーにする。
0565560
垢版 |
2018/05/25(金) 17:05:45.34ID:SmtGWz1P
>>563
>>564
回答ありがとうございます。

では、fwにnullを代入したとして、この時fwは何も参照していないと思うのですが、
この場合fw.close()というのはどんな動作をするのでしょうか?
0567デフォルトの名無しさん
垢版 |
2018/05/25(金) 19:19:13.63ID:sJ4v6fcz
やってみな
0568デフォルトの名無しさん
垢版 |
2018/05/25(金) 19:19:37.13ID:sJ4v6fcz
>>566
ガッ
0569デフォルトの名無しさん
垢版 |
2018/05/25(金) 19:51:12.03ID:n17xtV5p
外出先でスマホ使ってプログラムを書く勉強をしたいんですがお勧めのアプリorサイトはありませんか?
家ではpaiza使ってるんですが流石にスマホでは使いづらくて

スレ立てる必要もない質問はここでってスレで質問したらスレチ(?)言われたので教えて下さい><;
0570560
垢版 |
2018/05/25(金) 20:08:39.38ID:SmtGWz1P
>>566
>>567
ありがとうございました。やってみようと思います。
0571デフォルトの名無しさん
垢版 |
2018/05/26(土) 03:10:00.67ID:uvtiXGuN
今のガキって世界が全部スマホ基準でキモすぎだな
そんな都合の良いサイトあるかよアホ
0572デフォルトの名無しさん
垢版 |
2018/05/26(土) 03:58:29.69ID:NxLTutQ0
>>569
お題スレの1にいくつかサイトが書いてあるが、どれか使えるのはないか?

プログラミングのお題スレ Part11
https://mevius.5ch.net/test/read.cgi/tech/1524570314/

まあでもスマホって大きさにもよるな。タブレット並にでかければやり易いとは思うが。
0573デフォルトの名無しさん
垢版 |
2018/05/26(土) 06:34:44.19ID:mbadrYES
>>571
何でもかんでも食って掛かってくんじゃねえよ爺
こちとら家でも四六時中スマホぽちぽちやってる異常者じゃねえんだよ
外出中少しでも暇な時間をプログラミングの学習に当てて効率よくやりたいと思っただけだ

>>572
ありがとうございます。見てみます
0575デフォルトの名無しさん
垢版 |
2018/05/26(土) 07:18:36.58ID:uvtiXGuN
しかもスマホでコーディングとかおめーみたいな馬鹿は間違っても現場くんなよアホ
まぁ勉強なんてしてる時点で馬鹿だからとっとと首吊って死ね
■ このスレッドは過去ログ倉庫に格納されています

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