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

1デフォルトの名無しさん2017/06/30(金) 22:14:16.54ID:W0OUnv8/
Java初心者のためのスレッドです。

※前スレ
Java入門・初心者質問スレ Part.3
http://mevius.2ch.net/test/read.cgi/tech/1491306071/

2デフォルトの名無しさん2017/06/30(金) 22:24:35.84ID:f3bJ3XCJ
ちょつ

3デフォルトの名無しさん2017/06/30(金) 22:34:49.42ID:k0YageAz
1乙です

前スレ>>993です
レスくれた方々ありがとうございます
勉強会行ってきたいと思います

4デフォルトの名無しさん2017/06/30(金) 22:36:43.35ID:W0OUnv8/
ぬるぽ

5デフォルトの名無しさん2017/06/30(金) 22:38:18.96ID:f3bJ3XCJ
>>3
おう、がんばってね〜

6デフォルトの名無しさん2017/06/30(金) 23:28:02.19ID:zWHlEWrp
一乙です

クラスのインスタンスを作るのに

ClassA class = new ClassA();
こうやると思うんですが


new ClassA();
このようにイコールより左側がないものはどう言う意味があるのでしょうか?

7デフォルトの名無しさん2017/06/30(金) 23:31:30.37ID:W0OUnv8/
>>6
インスタンスを作るだけ作って変数に固定せずに虚空送りしてる、インスタンスの生成自体に意味があるとかじゃなかったらそのままGC送りやな

8デフォルトの名無しさん2017/06/30(金) 23:44:06.33ID:zWHlEWrp
>>7
そういう意味があるんですね

プログラムのサンプルとかそういうので使われるのですかね

ありがとうございます

9デフォルトの名無しさん2017/06/30(金) 23:55:42.12ID:W0OUnv8/
あんまりよくはないんだけど
new Thread(runnable).start();とかよくやる

10デフォルトの名無しさん2017/07/01(土) 00:09:29.12ID:mdEe7tMk
スレッドですか
まだその域まで達してないのであんまり分からないですがありがとうございました

11デフォルトの名無しさん2017/07/01(土) 03:56:44.50ID:kUHEe2gf
java関連のスレはほんと回答適当すぎて笑える
相談スレの方も馬鹿しかいないし落としてもう立てない方が逆に初心者のためになるな

12デフォルトの名無しさん2017/07/01(土) 04:59:05.43ID:jPgMAsSe
サブクラスのコンストラクターにvoidを記述するとsuper();が暗黙的に付加されないみたいなんですけど
これはどういう仕組みなんですか?

13デフォルトの名無しさん2017/07/01(土) 05:08:57.26ID:jPgMAsSe
すみません自己解決しました

14デフォルトの名無しさん2017/07/01(土) 07:04:09.94ID:N+ZXroXE
>>12
voidなどの型修飾子をつけるとコンストラクタではなくメソッドになるから
なのでデフォルトコンストラクタが呼び出されるのでその時にsuper()が内部的に
呼び出されます

15デフォルトの名無しさん2017/07/01(土) 10:17:47.36ID:bYmbgrjm
  彡⌒ミ
  ( ・∀・)   | | ガッ
 と    )    | |
   Y /ノ    人
    / )    <  >__Λ∩
  _/し' //. V`Д´)/ ←>>4
 (_フ彡        /

16デフォルトの名無しさん2017/07/01(土) 11:17:45.15ID:WO7UFR41
抽象クラスに総称型を使って各々のサブクラスで型(Bean)を決めるってのは
総称型の役割からするとかなりマヌケなのかな

エラー情報を貯めておくためのリストのラッパーを作ったけど複数のBeanに対応できるよう多態性を持たせたい
でもエラー情報を持ってきたときにどうやってメンバにアクセスするのだろうと考えたとき
堂々巡りになって色々モニョってる……

17デフォルトの名無しさん2017/07/01(土) 13:24:42.71ID:jPgMAsSe
>>14
分かりやすくありがとうございます

18デフォルトの名無しさん2017/07/01(土) 13:51:03.87ID:Ke61Tipi
いまabstractクラスを使って警告がでているんですが
abstractなくせば警告も消えるのは確認しました
こういう事したい場合はどうすればいいでしょうか?

abstract class A{}
class B extends A{}
class C extends A{}
class D{function(A a)}<------------------------警告
class E{D.function(B);D.function(C)}<---こういう感じで使いたい

19デフォルトの名無しさん2017/07/01(土) 18:28:47.32ID:JnV2l3hP
>>18
できるよ。
https://paiza.io/projects/PXpUGM1lQOWByECT1SIaxA
出ている警告ってなに?

20デフォルトの名無しさん2017/07/01(土) 20:03:20.47ID:lLi0bV67
2回目のmenu()の中でNoSuchElementException
at java.util.Scanner.throwFor(Scanner.java:862)
なぜですか?
public class Menu {
public static void main(String[] args) {
while(menu()) {
;
}
}

static boolean menu() {
System.out.print("[メニュー] 1:検索 2:登録 3:削除 4:変更>");
java.util.Scanner sc = new java.util.Scanner(System.in);
int selected = sc.nextInt();
boolean repeat = true;
switch(selected) {
case 1:
System.out.println("検索します");
break;
default:
repeat = false;
break;
}
sc.close();

return repeat;
}
}

21デフォルトの名無しさん2017/07/01(土) 20:17:15.29ID:n4lkpTxn
javaに限ったことじゃないかもしれんが
for文で同じ処理回して一回ごとの時間測ったら、
20回目くらいまでで10ms〜2.0msの範囲で処理時間がバラバラなのはなぜでしょう?
それ以降は1.5msくらいで安定します

22デフォルトの名無しさん2017/07/01(土) 20:23:24.51ID:N+ZXroXE
>>21
OSが一生懸命他のプロセスとこんてきすとすいっちんぐぅしてるからでしょ

23デフォルトの名無しさん2017/07/01(土) 20:23:55.79ID:/jfxBAab
>>21
JIT走ってるからだと思う

24202017/07/01(土) 21:08:56.37ID:lLi0bV67
何度もすみません。
こっちも同じ例外で落ちます。
なぜでしょうか?
public class GuessNumber {
____public static void main(String[] args) {
________System.out.println("【数あてゲーム】");
________java.util.Random rnd = new java.util.Random();
________int ans = rnd.nextInt(10);
________for(int i = 0; i < 5; i++) {
____________System.out.print("0〜9の数字を入力してください");
____________java.util.Scanner sc = new java.util.Scanner(System.in);
____________int num = sc.nextInt();
____________if(num == ans) {
________________System.out.println("アタリ!");
________________break;
____________} else {
________________System.out.println("違います。");
____________}
____________sc.close();
________}
________System.out.println("ゲームを終了します");
____}
}

25202017/07/01(土) 21:10:26.90ID:lLi0bV67
Java初日の初心者です。

26デフォルトの名無しさん2017/07/01(土) 21:23:33.49ID:alsfhIt3
>>24
ループ内でScanner閉じちゃってるからじゃないかな

27デフォルトの名無しさん2017/07/01(土) 21:28:39.22ID:lLi0bV67
>>26
ありがとうございます。確かにsc.close()をコメントアウトすると落ちません。
C++のnewとdeleteと同じようなものではないのですね。
難しいです・・・

28デフォルトの名無しさん2017/07/01(土) 21:41:21.41ID:alsfhIt3
>>27
JavaではGCが勝手にメモリの整理してるから消さなくてもメモリは圧迫しない、けど入出力ストリームは勝手に閉じたりしないから使わなくなったら閉じないといけない
もし閉じるとしたらループの外やな

29デフォルトの名無しさん2017/07/01(土) 21:46:02.26ID:lLi0bV67
>>28
ありがとうございます。
java.util.Scanner sc = new java.util.Scanner(System.in);

sc.close()をループの外に出しました。
ガーベッジコレクション、今読んでいる本に出てきました。

30デフォルトの名無しさん2017/07/02(日) 07:45:48.42ID:EUXzW2jq
>>11
どう違うか明示できない時点でお前はこのスレでは初心者にも劣る生き物
このスレを見る資格すらない

31デフォルトの名無しさん2017/07/02(日) 09:35:31.87ID:id+DUBbF
>>19
[公開 API を使用して非公開な型をエクスポート]
っていう警告です
文法的に問題ないようだったらこのまま使おうとおもいます

32デフォルトの名無しさん2017/07/02(日) 10:17:30.58ID:iWpJKrQI
>>31
何が非公開になってるの?
ソース出してよ。

33デフォルトの名無しさん2017/07/02(日) 12:04:10.63ID:98t5/5H2
>>18
パッケージとアクセス修飾子も書いて
警告消すのにほんとにabstract消しただけ?abstract消して代わりにpublicにしたりしてんじゃないの?

34デフォルトの名無しさん2017/07/02(日) 13:02:08.09ID:id+DUBbF
>>32-33
それでした
public abstarctにしたら消えました
アクセス修飾子ちょっと勉強してきます

35デフォルトの名無しさん2017/07/02(日) 20:23:31.52ID:75F+/mNi
画像回転させるときにどっちの方法使いますか?
理由も教えてください

---A---
affin.setToRotation(45 * Math.PI/180, 90d, 40d);
g2.setTransform(affin);
g2.drawImage(img, x, y, w, h, p);

---B---
affin.translate(x - w / 2, y - h / 2);
affin.rotate(Math.toRadians(-1.0 * angle), w / 2, h / 2);
g2.drawImage(image, affin, p);

36デフォルトの名無しさん2017/07/02(日) 23:34:59.11ID:ynDhLM7Z
3Dの基本だけど、回転・移動・拡大縮小には順番がある

回転・拡大縮小には、中心・基準点があるけど、移動にはない。
だから、中心がずれるかどうかを考える

サンプルを作って、順番を変えて、やってみればすぐわかる

37デフォルトの名無しさん2017/07/03(月) 20:53:46.38ID:IK55Tf5G
パネル上で二つの画像を合成してそれぞれの色の濃いところを取りたいのですが可能でしょうか?

38デフォルトの名無しさん2017/07/03(月) 23:17:10.77ID:ZCcMo8Ox
JavaFXの勉強始めたのですが
FXMLについて詳しく書かれた資料がかなり少ないのですが、なぜなのでしょうか?

39デフォルトの名無しさん2017/07/03(月) 23:27:51.37ID:/YkvVirN
>>37
たいていの言語で出来るから、たぶん可能

40デフォルトの名無しさん2017/07/04(火) 00:22:11.91ID:zgquPXQo
>>38
誰もJavaFXなんて使ってないから

41デフォルトの名無しさん2017/07/05(水) 19:06:50.67ID:VqLIFbvi
FX
 明るい未来の
  テクノロジー
             オラクル

42デフォルトの名無しさん2017/07/05(水) 19:11:10.97ID:iTofb717
JavaでFX必勝プログラムは作れますか?

43デフォルトの名無しさん2017/07/05(水) 19:34:37.95ID:TQbmoJaL
エンバカさん、JBuilder FX作ってよ
JBuilder ver7位使い易いのをお願い

44デフォルトの名無しさん2017/07/07(金) 00:52:21.45ID:SDWyglyj
リスナーで処理Aを待機してBを実行、という仕様をforループ内で使用したいです
************************************
hoge.~~.addListener( {
if(Aの実行完了を確認){
Bの実行
});
Aの実行
************************************
雑ですがこのようなもので、単体では思い通りに動きます
ですが処理Aの所要時間が長く、ループにするとAが完了する前にループが回りきってしまい
1つのAが動作を終えると全てのリスナーがその1つの結果に対して動き出してしまいます
理想としてはA,B,A,B,… のようにそれぞれ交互に処理されることです
どなたか良い方法をお持ちではないでしょうか

45デフォルトの名無しさん2017/07/07(金) 02:59:13.53ID:TVy5GKT4
>>44
どこがループになっているのか?

46デフォルトの名無しさん2017/07/07(金) 03:28:46.21ID:HRVWihAA
for ループは同期処理で、
EventListener は、コールバック・非同期処理だろ

コールバックは、後で呼ばれる

同期・非同期処理で検索!

47デフォルトの名無しさん2017/07/07(金) 07:29:22.86ID:ez3vLCaW
>>44
何がやりたいのか全くわからん
A -> Bが1セットならその組みでイベントしかけりゃえーやん

48デフォルトの名無しさん2017/07/07(金) 18:45:46.52ID:JqkT4Ef+
Listインターフェースのadd系ってなんでadd(int, E)だけ戻り値がvoidなんだろ

ArrayListを拡張して要素数の上限値付きリストを作って
上限越えてaddしようとした時falseを返すようにしようとしたのに
ひとつだけ挙動が違ってしまう……

49デフォルトの名無しさん2017/07/07(金) 18:57:45.82ID:ez3vLCaW
>>48
なんでfalseなん?
仕様を満たさない入力なんだから例外で良さそうだけど

50デフォルトの名無しさん2017/07/07(金) 21:15:32.25ID:VZWsMyOg
インタフェースにコンストラクタを定義できる?

51デフォルトの名無しさん2017/07/07(金) 22:23:16.92ID:EogG9omB
できるわけねえだろアホ

52デフォルトの名無しさん2017/07/08(土) 00:07:49.76ID:UEoozzz2
そういや Java 8 で interface に default メソッド作れるようになったのに default コンストラクタが作れないのは何故か?

53デフォルトの名無しさん2017/07/08(土) 00:59:40.73ID:toOimg9I
class Cat implements Animal{
static string jpname = "ねこ";
int size;
private int sex;
:
:
}

class Dog implements Animal{…}

こんな感じのクラスがあったとして
Animal anml = new Cat();
anml = new Dog();

としたらメモリリークは発生するのでしょうか?
以前staticを使うとメモリリークが発生するという記事を見た気がするので気になりました

54デフォルトの名無しさん2017/07/08(土) 01:23:56.74ID:UEoozzz2
>>53
どっからどう漏れるんだ?
てか、その記事何について書いてあったの?JavaVMのバグ?

55デフォルトの名無しさん2017/07/08(土) 01:31:23.02ID:toOimg9I
>>54
sizeやsexに格納した値が参照が外れたにも関わらずメモリに残り続けるという意味だと思います
あまり覚えてないのですが、staticのデメリットとしてメモリリークが発生すると言ってる記事でした

56デフォルトの名無しさん2017/07/08(土) 02:34:59.50ID:eRvDPK8O
>>45-47
意味不明な質問にかまっていただきありがとうございます
たしかに同期非同期について全くわかっていませんでした
別の実装を考えてみます
失礼しました

57デフォルトの名無しさん2017/07/08(土) 03:28:53.05ID:UEoozzz2
>>55
どこからも参照されなくなればgcの対象になってその内解放される筈だが?
その例の場合そもそも size や sex はプリミティブ型だから Cat や Dog クラスのインスタンスが
どこからも参照されなくなれば同時に開放される。jpname は static だから開放はされないが
new してインスタンス作っても増えることはない(staticだから)。

しかし Java では C/C++ でいうようなメモリリークは起きようがないぞ。プログラマがうっかり
いつまでもクラスのインスタンスを参照し続けるように書いてしまった場合だけそうなる。
だからだいたいはプログラムがおかしいだけ(盲点はあるけどな)。それとライブラリの内部の
書き方が悪くてプログラマが意識せずして参照を残存させてしまうことはありうる。

・書き方が悪くて残存させてしまうような例(しかしJavaのことをよく知っていれば防げそうなバグ)
http://networkprogramming.blog18.fc2.com/blog-entry%2d74.html

・ライブラリの問題で残存させてしまう例(但しこれはJ2SE 5.0で解消)
http://www.aerith.net/java/thread-memory-leak-j.html

58デフォルトの名無しさん2017/07/08(土) 20:18:41.38ID:fIuXTSpk
JavaScript のメモリリークでは、

クロージャ内の変数とか、
タイマーを解放しなかったとか、
製品版で、console.log を使っているとか、

イベントハンドラーを付けた要素の、先祖の要素が削除された際、
その子孫のイベントハンドラーが削除されないとか

59デフォルトの名無しさん2017/07/09(日) 10:33:32.67ID:pYRJnPGA
NetBeansでSwing JFrameを追加すると以下のコードがmain()に挿入されるのですが
  java.awt.EventQueue.invokeLater(new Runnable() {
    public void run() {
      new NewJFrame().setVisible(true);
メインスレッドの方でこのインスタンスを参照したいときにはどの様に書くべきなのでしょうか?

60デフォルトの名無しさん2017/07/10(月) 13:32:21.57ID:FVtmmblZ
>>59
メインメソッドでBlockingQueueを用意して
invokeLaterでJFrameのインスタンスをputして
メインメソッドでtakeすればいいよ

61デフォルトの名無しさん2017/07/11(火) 01:34:44.48ID:JGGcE/vH
人気なくてもjava FXを使い続けるぜ!

62デフォルトの名無しさん2017/07/11(火) 22:24:20.31ID:3LOhaMbu
>>60
アドバイスありがとう、やってみます。

63デフォルトの名無しさん2017/07/12(水) 04:15:20.28ID:bAuhyREb
ぬるぽ

64デフォルトの名無しさん2017/07/12(水) 05:55:34.48ID:Y4kofqZr
がちょーん

65デフォルトの名無しさん2017/07/13(木) 20:55:51.43ID:5vi+11fj
参照型とオブジェクト型の違いがよく分かりません
同じものだと思っていたので混乱しています

Super sp = new Sub();

とした場合、左辺が参照型で右辺がオブジェクト型でしょうか?
オブジェクト型も参照型ですよね

66デフォルトの名無しさん2017/07/13(木) 21:02:07.12ID:KJRBO+E3
参照型は変数の種類、intみたいなデータがそのまま入ってる変数(プリミティブ)と比較してって感じ
オブジェクト型は参照型の変数に実際に入ってる物
こんな感じかな

67デフォルトの名無しさん2017/07/13(木) 21:36:04.40ID:Wc3T27x1
The Java Language Specification
http://docs.oracle.com/javase/specs/jls/se7/html/index.html

| 参照型は、クラス型、インタフェース型、型変数、配列型の4種類です。
| オブジェクトは、クラスインスタンスまたは配列です。
| オブジェクトクラスは、すべてのクラスのスーパークラスです。

言語仕様にはオブジェクト型という用語が出てこないので
オブジェクト型は文脈によるんじゃないかな

オブジェクト型は
・参照型のことかもしれない
・Objectクラスのことかもしれない
・クラス型と配列型のことかもしれない
いずれにしても参照型の部分集合

AがBの部分集合であるとき
AはBと表現するならば
オブジェクト型は参照型

はい論破

68デフォルトの名無しさん2017/07/13(木) 21:49:25.20ID:yYoNXUK4
論破って言いながら丁寧に説明してあげてるのかわいい

69デフォルトの名無しさん2017/07/13(木) 23:16:20.85ID:vy/8QKML
てか、そもそも議論していない。

70デフォルトの名無しさん2017/07/14(金) 00:32:36.19ID:jwaA4OPc
型には、primitive と、参照型(オブジェクト)の2つがある

primitive には、参照は無く、値しか存在しない。
代入・コピーでも、値そのものが、代入・コピーされる。
参照を考えなくてよいから、わかりやすい

一方、オブジェクトの代入・コピーでは、参照だけが代入・コピーされる。
Shallow Copy

新しいオブジェクトを作っていないから、1つのオブジェクトしか存在せず、
2つの参照が、同一オブジェクトを指すから、ややこしい

新しいオブジェクトを作りながら、代入・コピーする事を、Deep Copy と言う。
Deep Copy では、オブジェクト内に、オブジェクトを含む場合、
ドンドン、中まで再帰的に、Deep Copy をしていく

最終的に、primitive に突き当たると、参照ではないので、値が代入・コピーされる。
Deep Copy の最終地点が、primitive

71デフォルトの名無しさん2017/07/15(土) 01:50:54.44ID:Pwuq6t85
ループ処理でもなんでもないところで、Listの0番目を取得して処理するのって、あまりよくないですよね?
人のコードでよく見るので気になってます

72デフォルトの名無しさん2017/07/15(土) 01:53:24.65ID:g8mCRq5Q
>>71
何を気にしてるのかがよくわからんがListの0番目のデータが必要であればアクセスするし問題はない

73デフォルトの名無しさん2017/07/15(土) 04:12:48.28ID:ejj256V/
>>71
何がよくないの?どうしてあなたがそれをよくないと思うようになったのかが謎だよ。なんで?

74デフォルトの名無しさん2017/07/15(土) 09:12:58.58ID:Pwuq6t85
すみません。言葉足らずでした。
気にしていたのはマジックナンバーの使用です。

1. Listそのものを作成する段階で、その事前に取得していた0番目の要素は別の情報で保持しておく
2. 判断が必要な段階で、その保持した情報のみを参照して処理を行う
こうすると、あらかじめ保持しておく分の処理は増えますが、0というマジックナンバーを使うことがなくなります。

75デフォルトの名無しさん2017/07/15(土) 09:44:34.17ID:3ihmavXl
>>74
マジックナンバーってww

むしろお前のその冗長な案こそ、あとから見た人にとってはなんの意図があってこんなことしてるのかわからないだろうから、
ちゃんとコメントで言い訳しとけよw

76デフォルトの名無しさん2017/07/15(土) 10:28:01.22ID:Pwuq6t85
>>75
マジックナンバーを使うと、理由に関係無く上司が顔を真っ赤にして怒るので忌避しています。

自案は、要素内の情報で適宜判断するのではなく、予め情報を専用の領域に確保することでパラメータの抽象化をしたかったのです。
どちらの形でも動作は変わらないので、正直どっちでもいいのかなとは思いますが、保守性を考えると0番目取得はそうしている理由が見えづらいのでナシなのかなと考えていました。

77デフォルトの名無しさん2017/07/15(土) 11:01:02.78ID:258vuKWQ
>>76
ライブラリとか人のコードが返すリストの先頭要素が欲しいときはどうすんの?

78デフォルトの名無しさん2017/07/15(土) 11:07:20.84ID:zmwkueqb
たとえばListの0番目に名前が入っていて1番目に住所が入っています
みたいな仕様だとインデックス直書きでアクセスするのはよろしくないかもね

最初の要素を取得するってだけなら0で良いと思う

最初の要素を取得するためのインタフェースとしては
・Stream.findFirst()
・Queue.element()
があるのでケースバイケースで

79デフォルトの名無しさん2017/07/15(土) 11:18:17.37ID:vvIOQCOR
まあデータ構造決まってるなら構造体みたいなクラスを定義するのが一番分かりやすくはあると思うけどね

80デフォルトの名無しさん2017/07/15(土) 12:35:01.54ID:ejj256V/
hash突っ込んどけば名前で扱えるからましになるのでは?
名前変わったら終わりだけどな。

81デフォルトの名無しさん2017/07/15(土) 12:36:01.21ID:ejj256V/
「に」が抜けた。「hashに」だ。

82デフォルトの名無しさん2017/07/15(土) 15:53:59.30ID:aAFD2FSQ
すいません
スッキリわかるJAVA入門でいきなりつまづきました
system.out.println(““)この中に文字を入れて文章を表示させたんですが
「次は二桁を書き足して表示させよう」となってるんですが、一桁目のsystem.out.println(““)をコピーして
改行後下に貼り付けてコンパイルしてもエラーになってしまいます
やり方が違うんでしょうがどうしたらいいかわかりません、すいません、教えてください。

83デフォルトの名無しさん2017/07/15(土) 15:57:38.78ID:TEqu9WXk
>>82
セミコロン忘れかな

84デフォルトの名無しさん2017/07/15(土) 15:58:22.33ID:qtlS5nEU
>>82
ソースコードと小一時間にらめっこして分からなかったらideoneでもpastebinでもいいからここに貼れ、話はそれからだ
というのはさておきセミコロンまでコピペした?

85デフォルトの名無しさん2017/07/15(土) 16:03:19.76ID:aAFD2FSQ
はい、セミコロンもコピーしました

86デフォルトの名無しさん2017/07/15(土) 16:06:48.65ID:TEqu9WXk
>>85
んじゃコードはってねー

87デフォルトの名無しさん2017/07/15(土) 16:11:20.64ID:aAFD2FSQ
すいません、こんな状態です
http://i.imgur.com/3Sut7Ay.jpg

88デフォルトの名無しさん2017/07/15(土) 16:16:04.41ID:qtlS5nEU
>>87
エラー文の\12288を16進に直すと3000、これはUnicodeで全角スペースを表す
どこかに全角スペースが混ざってるから取り除くとおk

俺もやったなーこれw
解決に1時間くらいかかった

89デフォルトの名無しさん2017/07/15(土) 16:16:39.15ID:qtlS5nEU
どこか→4行目のどこか、ね

90デフォルトの名無しさん2017/07/15(土) 16:17:21.84ID:7MVLQNtn
>>87
セミコロンが全角
全角スペースがある
右側のエラーちゃんと見ろ

91デフォルトの名無しさん2017/07/15(土) 16:17:48.54ID:aAFD2FSQ
>>88
ありがとうございます、解決しました!
他の方もありがとうございました!

92デフォルトの名無しさん2017/07/15(土) 16:19:10.83ID:aAFD2FSQ
>>90
ありがとうございます

ちなみにエラー番号からエラー内容を調べる事は出来るのでしょうか?

93デフォルトの名無しさん2017/07/15(土) 16:21:09.13ID:qtlS5nEU
エラーの内容がそのまま書いてあるだけだよ、慣れればすぐに読めるようになる

94デフォルトの名無しさん2017/07/15(土) 16:23:13.13ID:aAFD2FSQ
>>93
ありがとうございます

95デフォルトの名無しさん2017/07/15(土) 16:47:37.67ID:ISc0zg3F
入門書を一通りやり終えた後の次はどんなことに手を出せばいいのかわからない
今はとりあえずAPI仕様を読んだりオブジェクト指向関連の書籍でお茶を濁している最中
ステップアップのフローチャートが頭に浮かばない
デザインパターンやフレームワークもやりたいけど、多分今の実力じゃ手に余るし

96デフォルトの名無しさん2017/07/15(土) 17:10:30.36ID:rsSZ04ms
>>95
何か作りたいもんがあるからJavaやってんじゃないのか。
作ってるうちに足りないもんが見えてくるから
それをやればいい。

97デフォルトの名無しさん2017/07/15(土) 17:22:44.63ID:T1g1+yar
まぁみんながみんな作りたいものがあるわけでもないよね
特に初心者なんて何が出来るかもよくわからんわけだし

98デフォルトの名無しさん2017/07/15(土) 17:48:43.67ID:qtlS5nEU
何かが作りたくて始めたわけじゃないのか…
俺は最初から作りたいものありきだったからよくわからん

99デフォルトの名無しさん2017/07/15(土) 17:54:10.13ID:ISc0zg3F
>>96
当初はAndroidアプリで音楽プレーヤーを製作したかった
でもアプリ開発入門書を読んでもコードを叩いてもちんぷんかんぷんだったからjava自体を学習し始めた
現状、デスクトップアプリとして着手しようと目標変更
そこでオブジェクト指向の理解深化やjavafxに触れたり、
OSSのソースコードを見てみたりするも絶賛五里霧中で

プログラミングに体系化された学習方法や方針があると思い込んでいる節が頭の中にあった
それがそもそもの間違いなのか

100デフォルトの名無しさん2017/07/15(土) 17:57:38.55ID:ejj256V/
何作ったらいいかわからない?
それでは俺のためにエロゲでも作ってくれたまえ。

101デフォルトの名無しさん2017/07/15(土) 18:02:19.45ID:qtlS5nEU
>>99
体系化されたものなんてほとんどないけどアルゴリズムの知識やらプログラムの組み立て方はどこに行っても役に立つから学んでおくといいかな
Aizu Online Judgeの簡単な問題でも解いてみたらどうだろう、人のコード見れるから参考にもなるし

102デフォルトの名無しさん2017/07/15(土) 18:41:44.49ID:ISc0zg3F
>>101
OnlineJudge初めて知った、やってみる


更なる問題としては頭の中にべき論が多数生まれたこと
java8だから新しく導入されたラムダ式で書くべき、デザインパターンに則るべきとか
他には、まずコンソールアプリをそれなりに作れるようになるべき等…
入門書に出てきた単語や技術・テクニックを習得しないと、
まともにプログラミングできない強迫観念にも似た考えを抱いた

だから作ることより知ることの方に比重が置かれて自己目的化しつつある本末転倒状態

103デフォルトの名無しさん2017/07/15(土) 18:55:04.65ID:qtlS5nEU
知ることはもちろんいいことだが今は考えてる暇があったら手を動かせ
クソコードを量産して初めてわかる新機能のありがたみというのもある

104デフォルトの名無しさん2017/07/15(土) 19:36:31.82ID:YzsKBmTR
やました俺より年下だわ

105デフォルトの名無しさん2017/07/15(土) 20:17:30.85ID:7MVLQNtn
おっさん!

106デフォルトの名無しさん2017/07/15(土) 23:17:45.35ID:5uf8kOgL
>>102
>java8だから新しく導入されたラムダ式で書くべき
Kotlin

javaとpythonってどっちが初学に向いてる?
https://mevius.2ch.net/test/read.cgi/tech/1496856778/41-42

ここに、読むべき本が書いてある

107デフォルトの名無しさん2017/07/15(土) 23:22:38.27ID:g8mCRq5Q
>>106
しつこい、死ね

108デフォルトの名無しさん2017/07/15(土) 23:28:48.42ID:q4YYoqHS
>>102
書くのと知るの、どっちが欠けても良いプログラマーにはなれんよ
それにやってみればわかるがJavaの関数型インターフェースやストリームは既存の有名なデザパタと競合したりしない

109デフォルトの名無しさん2017/07/16(日) 02:57:48.81ID:1fICcUqx
>>102
知識不足ばかりが気になるなら知識の補充だけやってればいいと思う
結局さ、なにかを作りたい人は作りたいモチベを抑えられない人なんだよ
そうじゃない人がそうなろうとしても、人種が違うんだからうまくいかないよ

110デフォルトの名無しさん2017/07/17(月) 09:09:36.85ID:Ze9nWRlN
質問なのですが4GBのメモリのノートPCだと本当にAndroidシミュレータ動かないのでしょうか?
もしそうだとしたら悲しい気持ちに打ちひしがれそうなのですが

111デフォルトの名無しさん2017/07/17(月) 11:28:53.73ID:BiCnURwh
悲しみに打ちひしがれなさい

112デフォルトの名無しさん2017/07/17(月) 11:55:15.98ID:HvQCc1dg
>>110
やってみてから言えよ
環境わかんないけどうちではメモリ4Gでも動いた
つーかJavaの質問じゃなくね?

113デフォルトの名無しさん2017/07/17(月) 11:58:39.74ID:dYQc5jFE
(´・ω・`)クラス.メソッド().メソッド()
この書き方わからなかったの
最初のメソッドでクラスが返ってきて、そのクラスのメソッドをつかうときにこういう書き方するんだって
しらんかったー
ようやく読み終えたスッキリわかるJava入門には説明してなかったの
こういうメソッドふたつが並んでる書き方とかみんなは特別な説明なくても見ただけでわかるの?
この辺でプログラミングの適正とかでてくるんやろか?

それで調べてたら
クラス.メソッド().メソッド().メソッド().メソッド()
とか書くメソッドチェーンっていうのもあるらしい
これってリターンで他のクラス呼び出したらどんなものでもメソッドチェーンで書けるの?

114デフォルトの名無しさん2017/07/17(月) 12:02:33.60ID:VuxDjspY
>>111
う、う〜...

>>112
4GBでも動いたんですねっ!希望が持てます
自分でもやってみたのですがNexusでメモリー不足ですって出たもので
というかスレチですね
失礼しました

115デフォルトの名無しさん2017/07/17(月) 12:05:18.93ID:RdQgJoxw
返り値のあるメソッドを書く時、
左側に変数を用意して代入するものだと思っていましたが、
メソッドのみで書いてもエラーにならないのですね。
この場合、返り値はどこに行くのでしょうか。
無かった事にされるのでしょうか。

116デフォルトの名無しさん2017/07/17(月) 12:14:19.55ID:5WhJSLEy
>>115
その通り、無かったことになる

117デフォルトの名無しさん2017/07/17(月) 13:16:31.03ID:Uy8niamL
メソッドチェーンは、JavaScript でよくやっている。
jQuery, Underscore とか

戻り値で、this を返すように作る。
そうすれば、同じインスタンスのメソッドを、連続して呼べる

obj = obj.a();
obj = obj.b();
obj = obj.c();

obj.a().b().c();

118デフォルトの名無しさん2017/07/17(月) 15:36:43.88ID:6JtF0HSC
>>113
書ける。

119デフォルトの名無しさん2017/07/17(月) 15:49:00.61ID:E22zs9OY
>>113
(クラス.メソッド()) をAと考えて
A.メソッド()って考えるといい

120デフォルトの名無しさん2017/07/17(月) 16:09:04.23ID:6JtF0HSC
てか、streamはメソッド数珠繋ぎが当たり前だな。それできないと不便だし。

121デフォルトの名無しさん2017/07/18(火) 13:02:40.83ID:6DbTRi2A
>クラス.メソッド()
厳密に言うと、メソッドチェーンは、クラスではなく、インスタンスメソッド

そのインスタンス(this)を返すから。
bind で、そのインスタンスを束縛しているのと同じ

122デフォルトの名無しさん2017/07/18(火) 13:52:31.69ID:vumXXDez
Javascript、ネットワークセキュリティ等の知識がある人。一緒に仕事しませんか?
月50万〜

123デフォルトの名無しさん2017/07/18(火) 14:06:14.40ID:9Co9m1r8
やだ

124デフォルトの名無しさん2017/07/18(火) 14:22:42.32ID:9B3oYp9l
http://i.imgur.com/JG7Cdq1.png
これってだいたいあってる?

125デフォルトの名無しさん2017/07/18(火) 15:19:49.39ID:9Co9m1r8
>>124
太さの違いはなんだ?横軸が時間で右が現在?

126デフォルトの名無しさん2017/07/18(火) 16:44:05.28ID:2pQ0zCCv
縦が人気で横が時間って書いてあるやん
>>124にはみんな大好きLISPがないので間違い

127デフォルトの名無しさん2017/07/18(火) 17:06:37.30ID:PJqj9Jnt
Clojureがあるやん

128デフォルトの名無しさん2017/07/18(火) 17:25:20.72ID:2pQ0zCCv
わ、ホンマやん

129デフォルトの名無しさん2017/07/18(火) 18:44:08.28ID:bmzbSPDE
>>126
書いてある?あ、透明部分に黒で書いてあるの?スマホで見てて背景黒になって表示されてわからなかった。

130デフォルトの名無しさん2017/07/18(火) 19:08:59.36ID:KVouUBvY
なんだこの意味不明で無茶苦茶なグラフは

131デフォルトの名無しさん2017/07/18(火) 19:11:19.99ID:KVouUBvY
ググったら少しはまともなのあるやん
ttps://furien.jp/columns/197/

132デフォルトの名無しさん2017/07/18(火) 19:41:08.33ID:X/hWddMd
こんにちは
EclipseでMac用のプログラムを改造途中です
ttps://code.google.com/archive/p/tokyo-jogging/

WIDCOMM6.5.1.4800をインストールしたのですが、デバッグウィンドウによるとwinsockで接続しようとしているようです。
ログ中に BlueCove version 2.1.1-SNAPSHOT on winsock と表示される

wiiremoteJ.jar(ver1.6b)
bluecove2.1.1-snaposhot.jar
Win764bitでバランスWiiボードを接続
USBドングル(BroardcomBCM20702)を使用

Q1..ハードウェアドライバはこれで正しいでしょうか?
インテルUSB3.0ルートハブ
  +Broadcom BCM20702 Bluetooth4.0
    +Microsoft Bluetooth Enumerator    ←これがブロードコムにならない
      +BluetoothHIDデバイス        ←これもMSのドライバ
        +HID準拠ゲームデバイス(WiiMote)
      +BluetoothHIDデバイス
        +HID準拠ゲームデバイス(バランスWiiボード)
      +Bluetooth Remote Control
      +Bluetoothオーディオ
MS StackがwiiremoteJで必要なL2CAPプロトコルをサポートしていないので、HIDまで行けない気がします

Q2.BluecoveでWIDCOMMを使用するためには
import com.intel.bluetooth.BlueCoveImpl;
    System.setProperty("bluecove.jsr82.psm_minimum_off", "true");
    BlueCoveImpl.setConfigProperty("bluecove.stack", "widcomm");
でよろしいでしょうか?

133デフォルトの名無しさん2017/07/21(金) 16:05:04.18ID:9/NTCjMt
ここはJava”言語”しか知らない馬鹿しかいないからそんなこと聞いても無駄

134デフォルトの名無しさん2017/07/21(金) 18:16:57.06ID:UUHPm2az
スレチだから誰も答えないんじゃないか?

1351322017/07/21(金) 19:54:39.68ID:98df5QyM
スレチですよねー
でもBTスレはハード板でもオーオタですし、他には
Java質問スレ
ttp://mevius.2ch.net/test/read.cgi/tech/1492780397/
ですかねー
Jettyも聞きたいことがあるんですが・・・

136デフォルトの名無しさん2017/07/21(金) 21:55:09.65ID:9/NTCjMt
マジレスすると2chじゃ突っ込んだ内容の質問にはまず回答なんかつかない
teratailとかで質問したほうが100倍マシ

137デフォルトの名無しさん2017/07/24(月) 22:41:42.40ID:Z9C6ox1d
知恵袋に全く同じことで困ってる人がいたんですが、

https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q12148864962

java3Dライブラリを使ってコンパイルして出力したjarファイルが開けない
→環境変数の設定が〜
みたいな回答で、たしかに書いてあるとおりにしたら開けたんですが、
これって誰かに渡すときにはその人にもjava3Dをインストールしてもらわないといけないってことですよね?
jarに含めたりとかってできないんですか?

138デフォルトの名無しさん2017/07/25(火) 20:57:58.57ID:pa2wyDo4
>>137
jarにjarを含めるにはクラスローダを実装する必要があるみたい
そこでEclipseですよ
Eclipseならマウスかちかちでjarを含んだjarをエクスポートできる
Eclipse製のクラスローダが用意されてる

139デフォルトの名無しさん2017/07/25(火) 21:13:10.74ID:Y+NO7fSD
あれ?でもJava3Dってネイティブ含んでなかったっけ?

1401382017/07/25(火) 21:31:26.48ID:TSeeDTaM
javaを触れ始めて3年位ですが簡単な事すら理解できてないへっぽこが失礼します。
とある人間が作ったA.jarの中に約40ほどファイルがあります。
そこにバグがあるのですが、jarを作った人間が多忙の為 私がそのファイルの中の調査をすることになりました。
(修正した箇所がわかりやすいよう、本来の使い方とは異なりますが継承+オーバーライドを使用し修正しています。)

メイン:main newでclassA(stringA,stringB)を呼び出し
hoge_project.dir1.classA newでclassBを呼び出し
hoge_project.dir2.classB newでclassCを呼び出し
hoge_project.dir3.classC extends でclassDを継承
hoge_project.dir3.classD こいつにエラーがありそう

エラーがありそうなメソッドを保有しているクラス"classD"を継承したクラスclassD_fixをhoge_project.dir3 に作成し、そのメソッドをオーバーライドしたクラスを入れ込んだjarファイルを作成することに成功(jar tfで確認)しました。
ですが、肝心のクラスAの継承に失敗していて 呼び出し元のメソッドが修正できず困っています。

エラーの内容はこんな感じでした。
classA_fix.java:7: エラー: クラス classAのコンストラクタ classAは指定された型に適用できません。

classA_fix.javaのソース
import hoge_project.dir1.classA;
public class classA_fix extends classA{//中身なし}

期待値:String,String
検出値:引数がありません。
理由:実引数リストと仮引数リストの長さが異なります。

ググって見たところ、メソッド自体が存在しない、もしくは引数が合わない等メソッドによる不具合が原因だと書かれていたので
念の為class classA_fixにコンストラクタっぽい感じでpublic void classA_fix(String stringA, String stringB){super(stringA,stringB)}等自分なりに色々やってみましたがうまくいかず・・・
クラスclassA_fixはクラスclassAを継承しただけで特にメソッドの上書きも行っていない何もない状態なのにこのようなエラーが出ていたため、わけが分からず困っています。
abstractは使用していません。

作成者とは連絡が取れない状況で、完成予定日もあるのでこちらで出来る限りの理由を探りたいのですが、何か良い方法はないでしょうか。

1411402017/07/25(火) 21:32:22.09ID:TSeeDTaM
>>140 の名前は140です
書き込んでる間にレス番がかわってましたOTL すみません

142デフォルトの名無しさん2017/07/25(火) 21:35:21.91ID:O1f40o7X
>>140
classA_fixなの?classD_fixなの?

143デフォルトの名無しさん2017/07/25(火) 21:52:37.10ID:pa2wyDo4
>>140
スーパークラスのコンストラクタの呼び出しに失敗してるわけっしょ

> public void classA_fix(String stringA, String stringB)

これはコンストラクタじゃなくてメソッドっすよね
コンストラクタをきちんと定義すればいけるんじゃないかな

1441402017/07/25(火) 21:53:05.21ID:TSeeDTaM
>>142
説明ベタですみません。
現在エラーがでているのはclassA_fixです。
classDにバグがあるのは間違いないのですが、classDを直接書き換えるのが怖いのと、
報告しなくては行けないので、修正した箇所がわかりやすいように classD_fix.classを作成し、修正しようとしています。
classD_fixのjavacには成功(動作は不明)、classD_fix.classの生成に成功しました。
今現在そのclassD_fixを使用して動かせるように各クラスファイルを修正しようとしています。

超へぽっこで デバッグをやるのはこれが初めてでどういった方法でやるべきなのかもわからず、
メモ帳とコマンドプロンプトでやってます・・・OTL

1451402017/07/25(火) 22:01:15.35ID:TSeeDTaM
>>143 こんな感じで書いたんですが駄目でした。 私もしかして コンストラクタの書き方間違えて・・・る?OTL
package hoge_project.dir1;

import hoge_project.dir1.classA;

public class classA_fix extends classA {

public classA_fix( String string_a,String string_b){
}
}

146デフォルトの名無しさん2017/07/25(火) 22:13:58.15ID:pa2wyDo4
>>145
スーパーのコンストラクターが呼ばれてないーので
super(string_a, string_b);
これを追加すればいけるんじゃないかな

1471402017/07/25(火) 22:24:17.39ID:TSeeDTaM
>>146 その通りにやったらjavac通りました!ありがとうございます!
superせず終わらせるとそこで処理が終わるだけでエラーにはならないのかななんて思ってましたがそんなことないんですね・・・

そして何故かmainスレッドにて java.lang.NoClassDefFoundError・・・OTL寝れなさそうだ

148デフォルトの名無しさん2017/07/25(火) 23:34:14.91ID:ItvXAvCp
うげあー
私は本物の素人ですが、現場の世界は色々と恐ろしいのですね…
参考書を読んで頑張ります

149デフォルトの名無しさん2017/07/26(水) 00:23:56.03ID:k1luK7uA
OTLとか久々に見たわ

150デフォルトの名無しさん2017/07/26(水) 01:30:21.01ID:f0n9OFYu
superコンストラクターを呼ばないといけないわけではないので、原因はもう少し間接的なものだろう
フルコードがないと理由は不明

151デフォルトの名無しさん2017/07/26(水) 01:32:29.52ID:f0n9OFYu
おそらく引数なしのコンストラクタだとちゃんと動かないスーパークラスなんだろう

152デフォルトの名無しさん2017/07/26(水) 04:45:03.63ID:ykAbfSKr
3年もやってて継承元の引数ありコンストラクタがサブクラスに引き継がれないことも知らんとか
当然スパクラスに引数ありコンストラクタがあればサブクラスでそのコンストラクタを定義しなくちゃならない
ほんと相変わらずびっくりするぐらいレベル低いなここ

153デフォルトの名無しさん2017/07/26(水) 06:36:14.97ID:8eztuswf
入門・初心者スレでレベルどうのこうのと言われましても…
あ、自分自身も含めてレベル低いって自虐ネタでしたか

154デフォルトの名無しさん2017/07/26(水) 07:58:47.46ID:ykAbfSKr
回答つけてる奴等もどうしようもなくレベル低い馬鹿しかいないってことだよ阿呆
お前等全員1円で投げ売りされてる入門書100億回読んでからレスつけろよ阿呆

155デフォルトの名無しさん2017/07/26(水) 08:04:51.73ID:2vJD5W5S
つまり変なのに絡まれないようにプログラミング歴は隠しとけってことだ
スレ民との約束だぞ

156デフォルトの名無しさん2017/07/26(水) 09:25:20.19ID:MMBO65WR
>>154
もっと簡単にこのスレのレベルを上げる方法がある。物凄く簡単なことだ。

それは君が回答を書くことだよ。

157デフォルトの名無しさん2017/07/26(水) 09:26:39.45ID:SoUQ8WPl
>>156
文句しか言わないやつって何なんだろうね

158デフォルトの名無しさん2017/07/26(水) 09:29:51.53ID:kGP2LF0r
ただの煽りたがりの荒らしに構うなよ

159デフォルトの名無しさん2017/07/26(水) 17:16:50.05ID:txt3JljQ
デザインパタ^−ンは勉強した方がよいでしょうか?

160デフォルトの名無しさん2017/07/26(水) 18:46:59.30ID:aaem4HGH
これからはパタ^−ンだよね

161デフォルトの名無しさん2017/07/26(水) 18:52:35.86ID:bC5MXU5Z
パータパタママー

162デフォルトの名無しさん2017/07/26(水) 19:01:26.80ID:/ZvQeDL/
>>154
俺も、趣味でjavaを独学してる身だから、偉そうなこと言えないけど

1円で投げ売り
とか
100億回
とか

読み返して、恥ずかしくない?

163デフォルトの名無しさん2017/07/26(水) 20:15:45.49ID:+wB1yzpw
>>159
いらない。 そんなことより、webアプリやらandroidアプリでも作ってた方が有意義。

フレームワークで設計に触れられるし。

164デフォルトの名無しさん2017/07/26(水) 21:26:53.25ID:cjurS1ok
そしてうまい作り方を発見したと喜び勇んでブログで発表するとそんなもん何十年も前に本にまとめられて世界中の言語に翻訳されて売られまくった枯れ枯れの干からびたやり方だとコメントされまくる。

165デフォルトの名無しさん2017/07/27(木) 17:28:04.27ID:DDfF3pSC
>>152
継承しなくちゃいけないわけでもないからな。

166デフォルトの名無しさん2017/07/29(土) 03:53:30.99ID:UnhUcpCL
スッキリわかるJavaを利用してますが
dokojavaってなんとなく動作が
不安定な気がするのですが気のせいでしょうか。
同じプログラムでもエラーが出たり出なかったりします

167デフォルトの名無しさん2017/07/29(土) 06:39:29.25ID:qmPyXn75
そもそもdokojavaを使う必要がない
手軽なオンライン環境ならideoneもpaiza.ioもある

168デフォルトの名無しさん2017/07/30(日) 09:49:31.45ID:rAr/Q6m3
アンドロイドアプリを作りたいです。
どうやらjavaを知ることが第一歩のようですが、javaをマスターできれば
アンドロイドアプリ作れるようになれますか?

169デフォルトの名無しさん2017/07/30(日) 10:03:11.95ID:xziOu8cb
いいえ
料理をする時に調理器具を使えるようになるだけではダメなのと同じで
料理毎に食材や調味料の組み合わせ方法や量も学ぶ必要があります

AndroidにはAndroid用のセオリーがあります

170デフォルトの名無しさん2017/07/30(日) 12:28:09.87ID:rAr/Q6m3
>>169
では、いきなりアンドロイド用に
学習をしてもいいということでしょうか

171デフォルトの名無しさん2017/07/30(日) 12:33:52.48ID:qXAhQacW
>>170
えっとね

お前みたいな論理性の欠如した馬鹿には一生無理だよ

172デフォルトの名無しさん2017/07/30(日) 12:36:56.14ID:rAr/Q6m3
>>171
論理的に説明できないなら
返事するな

173デフォルトの名無しさん2017/07/30(日) 12:53:11.14ID:qXAhQacW
馬鹿がキレたwww

174デフォルトの名無しさん2017/07/30(日) 13:21:49.30ID:rAr/Q6m3
性格悪いな
私生活上手く行ってないんだな
可哀想に

175デフォルトの名無しさん2017/07/30(日) 13:32:59.09ID:qXAhQacW
すごーい!

テンプレみたいな返しをする
馬鹿なフレンズなんだね!

176デフォルトの名無しさん2017/07/30(日) 14:42:06.93ID:0PJrZm1n
>>170
ていうか、Javaどの程度わかってるかにもよる。言語の基礎部分知らなければ作るに作れないだろうし
それ以前に入門書のサンプルプログラムも何やってるのかソース見てもわからんだろう。

177デフォルトの名無しさん2017/07/30(日) 15:05:49.40ID:w/kjlxMo
あと、どの程度のアプリを作りたいかにもよるな

ハローワールドを表示するだけなら、
初心者向けの本の書いてある通りにASをインストールしてボタンを押していけば、
一行もコードを書かずにアプリが出来上がるから、
javaどころか、どの言語も知らなくても問題ないしね

178デフォルトの名無しさん2017/07/30(日) 16:07:57.61ID:RBZmZf5e
コンストラクタの宣言にはstaticキーワードを付けないのに、
コンストラクタはなぜstaticなメソッドから呼び出せるの??

179デフォルトの名無しさん2017/07/30(日) 16:14:13.17ID:0PJrZm1n
>>178
コンストラクタだけ特別扱いしているから。

180デフォルトの名無しさん2017/07/30(日) 16:16:05.30ID:w/kjlxMo
>>178
「コンストラクタ」がメソッドから呼び出される?

コンストラクタはそもそもメソッドじゃないよ

メソッドじゃないものに、メソッドのルールを考えても意味ないんじゃね?

181デフォルトの名無しさん2017/07/30(日) 16:24:52.28ID:RBZmZf5e
>>179-180
スッキリしない(´・д・`)

182デフォルトの名無しさん2017/07/30(日) 16:32:05.28ID:w/kjlxMo
『スッキリわかる』シリーズを読みなさい

183デフォルトの名無しさん2017/07/30(日) 16:32:13.98ID:0PJrZm1n
>>181
そういう作りの言語だからとしか言えない。
なんだったらスッキリする言語を自分で作りなさい。

まあ確かにコンストラクタはいきなり呼べるので違和感あるかも知れないが、 new した時にメモリ確保されて
インスタンスが出来て、それからその中のコンストラクタが呼ばれると考えればいい。実際その通りだし。

C言語で実現するとしたら構造体のメモリを確保した直後にそのポインタを受け取って構造体の中身の初期化を
するようなのがコンストラクタね。

184デフォルトの名無しさん2017/07/30(日) 16:40:07.27ID:RBZmZf5e
>>183
ちょっとわかった。
new演算子で動的にメモリを確保してその中身を初期化するのがコンストラクタの役割だから、
コンストラクタは動的な文脈で呼び出されるのか。

185デフォルトの名無しさん2017/07/30(日) 17:32:09.96ID:pdhvmw2O
stream apiを使って
[1,1,2,2,3,3,3,1]
みたいなリストを
[1,2,3,1]
みたいに連続した同じ要素をまとめるコードはどう書けばいい?

186デフォルトの名無しさん2017/07/30(日) 17:35:55.57ID:pdhvmw2O
filterで1前の値見れたら楽なんだろうけど

187デフォルトの名無しさん2017/07/30(日) 17:37:48.11ID:pdhvmw2O
もしくは条件に合致した時だけreduceするとか

188デフォルトの名無しさん2017/07/30(日) 17:38:03.65ID:zcFf9TVa
>>185
distinct()を流れのどこかに挟む

189デフォルトの名無しさん2017/07/30(日) 17:38:50.17ID:zcFf9TVa
あ、これは駄目か、無視してくれ

190デフォルトの名無しさん2017/07/30(日) 18:39:49.01ID:DLqAucgC

191デフォルトの名無しさん2017/07/30(日) 18:56:29.36ID:xziOu8cb
>>174
中身の無い煽りはスルーでいいよ
料理のレシピを覚えても調理器具を使えないと料理は出来ないのと同じで
都度都度javaを覚える必要があります

いきなり開発環境のテンプレート見てわからないと思うから
ググって1つ1つ覚えるしかないかな

192デフォルトの名無しさん2017/07/30(日) 18:59:48.32ID:DLqAucgC
>>185
インデックスで

int[] a = { 1, 1, 2, 2, 3, 3, 3, 1 };

IntStream.range(0, a.length)
  .filter(i -> i == 0 ? true : a[i - 1] != a[i])
  .map(i -> a[i])
  .forEach(System.out::println);

193デフォルトの名無しさん2017/07/30(日) 19:01:39.65ID:DLqAucgC
||でよかったわ

194デフォルトの名無しさん2017/07/30(日) 19:37:41.52ID:r1emgWco
重複削除ならこんなの見つけたよ。
http://www.sejuku.net/blog/15704
stream使ってないが非常にシンプル。

195デフォルトの名無しさん2017/07/30(日) 19:38:22.75ID:r1emgWco
あ、だめか。最後も1か。

196デフォルトの名無しさん2017/07/30(日) 20:49:27.90ID:0PJrZm1n
やった!できた!
しかし、なんだか stream っぽさがない・・・
https://paiza.io/projects/2myMx4lAwWrdjufSLPq2fQ

197デフォルトの名無しさん2017/07/30(日) 21:04:08.55ID:w/kjlxMo
>>190
>>196

paiza.ioって、スゴいね!

こんな、便利なものがあったなんて知らなかったYo!!

198デフォルトの名無しさん2017/07/30(日) 21:26:46.37ID:9WmloTCT
無理やりstreamで実装するメリットが見当たらない

199デフォルトの名無しさん2017/07/30(日) 21:36:56.23ID:w/kjlxMo
でもまあ、お題が「streamapi」を使って、だからね
初心者スレとしてはメリットとかより、勉強になったかどうかだよね

もちろん
「このやり方の方が効率がいい」
ってのが明確な理由と共に示されれば、
それも勉強になるけどさ

200デフォルトの名無しさん2017/07/30(日) 21:44:50.49ID:pdhvmw2O
>>190
>>192
ありがとな
Stream api奥が深いわ

201デフォルトの名無しさん2017/07/30(日) 23:21:06.50ID:JAHw7kqq
スッキリ読みながら勉強の者だが、
プログラム言語って素晴らしいなあ
プロの方々はjavaをマスターして、効率よく業務に活かしているに違いない。

202デフォルトの名無しさん2017/07/30(日) 23:55:51.22ID:5i/HO5zm
>>99
mp3再生ソフト完成した?

203デフォルトの名無しさん2017/07/31(月) 08:18:37.92ID:LN83W0QK
質問するのにも敬語すら使えない馬鹿をいちいち相手にしてるからお前等は馬鹿なんだよ
重複削除するのにいちいちマッチングしたりストリーム使ったり馬鹿の代表かよお前等w
ほんと阿呆の肥溜めだな

204デフォルトの名無しさん2017/07/31(月) 08:21:06.63ID:2pZH8HVB
>>203
最高に天才なあなたのコートを拝見できませんか?

205デフォルトの名無しさん2017/07/31(月) 08:25:24.08ID:X8Y7EVM6
>>203
2chで敬語使えとか言うバカを久々に見たわ
不愉快だから黙ってろよ

206デフォルトの名無しさん2017/07/31(月) 08:30:53.93ID:LN83W0QK
レベル低い馬鹿の上に質問する側が敬語も使えないとかただの池沼なんだから
お前が黙って首吊ってさっさと死ねよ低能馬鹿のゴミ

207デフォルトの名無しさん2017/07/31(月) 08:36:53.63ID:pwRUpqlR
>>206
まあまあそんなに怒らないでください

208デフォルトの名無しさん2017/07/31(月) 08:57:46.56ID:2pZH8HVB
>>206
言葉づかいが最高に天才ですね

209デフォルトの名無しさん2017/07/31(月) 14:22:15.80ID:mMpKpjgf
大きな大きなブーメランの映像が頭に思い浮かんだ
一体これはなんだったのだろうか

                          つづく

210デフォルトの名無しさん2017/07/31(月) 18:15:47.54ID:CdII1Abc
>>203
そこで、皆が誉め称えるようなコードをパッと示したら格好いいのにね

211デフォルトの名無しさん2017/07/31(月) 19:20:31.40ID:gHcyqZBx
Java大好きだし腐すつもりはまったくないから
怒らないで欲しいけど
他の言語を色々やったあとでJavaに戻ってきたら
StreamAPIなるもんがあって
それを有難がってる(?)人々が居て
若干腰抜かす

StreamAPIがダメっていう主張じゃなくて
Javaにはいらんやん、って主張

212デフォルトの名無しさん2017/07/31(月) 19:25:06.72ID:/XbzZj23
主張したいなら論拠を示してくれないと反論もできないんですが

213デフォルトの名無しさん2017/07/31(月) 19:26:34.94ID:gHcyqZBx
ごもっとも
論拠も根拠も特にないので単に感想に差し替えさせてください

んな感想はチラシの裏に書け?
今から書いてきます失礼いたしました

214デフォルトの名無しさん2017/07/31(月) 19:30:05.84ID:CdII1Abc
>>有難がってる(?)

有り難がってるようなレスはなかったと思うけど・・・

そもそも、ここは初心者スレだから、好奇心で色々と試してるってノリでしょ

ビックリする人がいることに驚いちゃうよ

215デフォルトの名無しさん2017/07/31(月) 19:39:08.58ID:W4UbSJlH
なんども書くような処理はモジュール化して再利用するって常識
Javaとか関係なしに当たり前のことをやってるのがstream api
これをなにか特別なものと考えて拒否感を持ったり崇拝する人はセンスがない
当たり前のように使おう

216デフォルトの名無しさん2017/07/31(月) 19:46:13.69ID:2pZH8HVB
必要になったら使うでいいよ
必要なのにアレルギーよろしく拒否るからややこしくなる

217デフォルトの名無しさん2017/07/31(月) 22:11:44.32ID:3pgJ0wlK
class Aho {
 public static void main(String ... args) {
  System.out.println("質問するのにも敬語すら使えない馬鹿をいちいち相手にしてるからお前等は馬鹿なんだよ");
  System.out.println("重複削除するのにいちいちマッチングしたりストリーム使ったり馬鹿の代表かよお前等w");
  System.out.println("ほんと阿呆の肥溜めだな");
 }
}

218デフォルトの名無しさん2017/07/31(月) 22:20:26.08ID:3pgJ0wlK
>>216
ま、そうだが、streamはある程度使って慣れないと使い所がよくわからないもののように思うな。
何せループでも実現できちゃうからな。そっちで慣れてる人は中々手を出さないのではないか?
他の言語で多用したいた場合はJavaでも使えて便利みたいに感じるかも知れんが。

219デフォルトの名無しさん2017/08/01(火) 00:38:37.91ID:VkAUO0Vr
お前みたい馬鹿のために用意されたものなんだからありがたく使っとけよ阿呆

220デフォルトの名無しさん2017/08/01(火) 01:48:00.02ID:sayqMREC
C#, Java の、Parallel Stream で、複数コアを使える

Node.js は、JavaScript だから、シングルスレッドだろ。
数値計算などで、複数コアを使いたい場合に、困る

221デフォルトの名無しさん2017/08/01(火) 02:41:43.75ID:dPOYfvBU

222デフォルトの名無しさん2017/08/01(火) 03:06:20.33ID:CkTSkgtj
ハーイ(^O^)/

223デフォルトの名無しさん2017/08/01(火) 07:44:11.55ID:4BLXFqGa
プログラミングそのものを愛するか、プログラミングによって作られるものを愛するかの違いです

224デフォルトの名無しさん2017/08/01(火) 11:31:28.30ID:d0oFEyKM
愛されるより愛したい

225デフォルトの名無しさん2017/08/01(火) 12:14:27.48ID:SHR8K/xw
>>223
何に対する意見だよw

仮にstreamapiを好むかどうかにしても、プログラミング自体が好きでもstreamapiが好きとも限らねえぞw

違いです、とかw

226デフォルトの名無しさん2017/08/01(火) 12:21:01.88ID:j5u606Kq
>>175
お前はもう来るなよ。スレの主旨から言ってお前の言動は不適当。

227デフォルトの名無しさん2017/08/01(火) 12:47:57.63ID:SHR8K/xw
もっと近いレスに香ばしいのがいるのに、なかなかの粘着さんだなw

228デフォルトの名無しさん2017/08/01(火) 19:48:41.43ID:QsBohnup
a = [1,1,2,2,3,3,3,1]
p a.chunk {|x| x}.map {|k, a| k}

rubyだとたったこんだけだよね?

> 他の言語で多用したいた場合はJavaでも使えて便利みたいに感じるかも知れんが。

逆ぅ!
如何せん貧相すぎてね
村の子が村のお祭り誇らしげ、みたいな
ブスが化粧してお澄まししてる、みたいな
顔には出さないけど、胸がチクッとするんです…

昨日も言ったけどJavaは好きだし
Javaには感謝すらしているし
ディスろうという目的ではない

229デフォルトの名無しさん2017/08/01(火) 20:24:37.33ID:5II4tDgL
ちょっと短く書くためにいろいろ犠牲にしてるrubyこそ着飾ったブスに思えるなぁ

230デフォルトの名無しさん2017/08/01(火) 22:20:27.40ID:jPOZmE88
世の中にはブス専もいるわけだしそこまで行くと主観の問題だわな

231デフォルトの名無しさん2017/08/01(火) 22:39:38.01ID:r/kmkyLl
比べる対象がスクリプト言語しかも動的型付け言語なのはさすがにおかしい

JavaがJavaの良さを殺さないように意識しながらStream APIを導入する必要があったのと話が違いすぎる

232デフォルトの名無しさん2017/08/01(火) 22:50:43.40ID:zlxlSjkN
>>228
Javaならこんだけなんだが?
https://paiza.io/projects/fSO_sipgTquVIHLm5cgAqA

233デフォルトの名無しさん2017/08/01(火) 22:57:16.20ID:zlxlSjkN
>>231
コレクションライブラリにメソッド用意することはできるわけで
ラムダ式は処理を丸投げできるハイパーリッチなコレクションと
組み合わせてこそ進化を発揮する

今のJavaの標準ライブラリがショボいことは事実だ

逆に言うとJavaはもっと成長する余地があるってこと
いくらきれいな白鳥でも・・・あとはわかるだろ、そういうことだ

234デフォルトの名無しさん2017/08/01(火) 23:05:18.35ID:QsBohnup
>>232
(´・ω・`)   n
⌒`γ´⌒`ヽ( E)
( .人 .人 γ /
=(こ/こ/ `^´  
)に/こ(

235デフォルトの名無しさん2017/08/02(水) 15:22:29.01ID:mxNq7Aj6
8がつ2にち(すいようび)
きょうは、すっきりわかるじゃば入もんを
330ページまでよみました。

ゆうしゃとおばけきのこをうみだしました。
とてもおもしろかったです。

236デフォルトの名無しさん2017/08/02(水) 18:18:04.54ID:xzl419Dl
>>232さんに触発されて書いた
OCamlならこんだけ
https://ideone.com/JhDj2U

「連続した同じ要素をまとめ」るコード
ただし、rubyのものにくらべ簡易的なchunk
しかもchunk関数はパクり
ぐぐって丁度いいの見っけたから拝借した

だから何やねん!って言うのは我慢してほしい(´・ω・`)

237デフォルトの名無しさん2017/08/02(水) 19:08:45.26ID:JD5jVN3c
そういうフィルタが既にあるかどうかよりも簡単に拡張して実装できるかの方が言語的には重要だろう
C#のLinqはyield returnと拡張メソッドのおかげでLinq拡張がすごくやりやすい
それに比べるとJavaのStreamは……

238デフォルトの名無しさん2017/08/02(水) 19:43:38.64ID:SsqUphS+
関数型厨御用達言語Haskell
https://ideone.com/JxtHSz

239デフォルトの名無しさん2017/08/03(木) 00:25:37.27ID:TTlJ2U7E
>>237
C#ならどんだけ?

240デフォルトの名無しさん2017/08/03(木) 22:30:56.72ID:2xv/pvUq
>>239
へい
https://paiza.io/projects/9upRElS3dQublPUezUge2Q

C#7ならタプルを(a, b)って書けるからもっと簡単になる
おっぱいざのコンパイラ古い

241デフォルトの名無しさん2017/08/04(金) 00:26:47.86ID:US5e0j3V
>>240
(´・ω・`)   n
⌒`γ´⌒`ヽ( E)
( .人 .人 γ /
=(こ/こ/ `^´  
)に/こ(

242デフォルトの名無しさん2017/08/04(金) 19:10:37.95ID:US5e0j3V
> 簡単に拡張して実装できるかの方が言語的には重要

https://ideone.com/Fegs0C
rubyも拡張しやすいほうなのかな?
よく分からないまま書いたので、なにかおかしいかもしれない
最初のほうでself.dupなんていきなりしてよかったのかは不明
(Enumeratorを返すメソッド作成の作法的に)

なんだかんだ申しましたが
StreamAPIがどうなっていくかは
今後静かに見守って行きたいと思います 完

243デフォルトの名無しさん2017/08/04(金) 20:57:07.88ID:4RPAmR0Z
          完




 

244デフォルトの名無しさん2017/08/05(土) 20:13:27.69ID:CKfofrut
きょうはとしょかんで
スッキリのメソッドをべんきょうしました。

メソッドはとてもむずかしかったです。
となりにこうこう2ねんせいが
べんきょうしていました。
あしたもとしょかんにいきたいです。

245デフォルトの名無しさん2017/08/05(土) 20:50:07.33ID:NrXpiBRr
おっさん乙

246デフォルトの名無しさん2017/08/06(日) 04:58:57.45ID:PQlf2UE9
>>244
となりに
→となりで

にほんごも、もっとがんばりましょう

247デフォルトの名無しさん2017/08/08(火) 12:19:00.25ID:ybbt0LUq
初歩的な質問すみません

おじいちゃんクラス
親クラス
子クラス

という継承関係があってメンバーの名前が統一されてる時
子クラスから親のメンバーを利用するにはsuperを使うのは分かりましたが
おじいちゃんのメンバーを利用するにはどうしたら良いんですか?

248デフォルトの名無しさん2017/08/08(火) 12:26:11.98ID:It7rbX8+
それはウルトラ、じゃなくて、super.super. って使えない?

249デフォルトの名無しさん2017/08/08(火) 12:57:35.54ID:EzmBL1dy
superはただの予約語なんだから使えるわけがない
馬鹿かおまえは

250デフォルトの名無しさん2017/08/08(火) 13:04:24.09ID:It7rbX8+
予約語かどうかの問題ではなく単にそう作ってあるかどうかの問題では?
だってそういう言語作ろうと思えば作れるでしょ。

251デフォルトの名無しさん2017/08/08(火) 13:06:01.15ID:EzmBL1dy
そう作ってないから予約語なんだよ
馬鹿は回答側に回るな馬鹿

252デフォルトの名無しさん2017/08/08(火) 13:32:02.75ID:It7rbX8+
はいはい。

そういやキャストすればできるな。

253デフォルトの名無しさん2017/08/08(火) 13:37:26.20ID:It7rbX8+
こんなの。
ただしクラス名わかってないとできない。

class A {
int a = 1;
}
class B extends A {
int a = 2;
}
class C extends B {
int a = 3;
int get() {
return ((A) this).a;
}
}

254デフォルトの名無しさん2017/08/08(火) 13:45:04.54ID:EzmBL1dy
コードも酷すぎるからお前はもう二度と書き込まん方がいい
初心者が初心者を低レベルに導く流れはやめろ

255デフォルトの名無しさん2017/08/08(火) 15:06:55.26ID:qcoC0xc5
>>247
そっちを使う、とかじゃなくて
子クラスがそのように実装される、というだけ

256デフォルトの名無しさん2017/08/08(火) 15:07:58.73ID:qcoC0xc5
ID:EzmBL1dyが意味不明すぎる

257デフォルトの名無しさん2017/08/08(火) 15:45:07.99ID:lxfir1A5
何かあったのだろう

258デフォルトの名無しさん2017/08/08(火) 16:05:06.76ID:nQaUo2VV
全くプログラミング経験無しで
なんとなくjava始めたけど
そもそも論としてこの選択は正しかったのだろうか

259デフォルトの名無しさん2017/08/08(火) 18:14:28.51ID:tkRtIBMh
さあなあ。今後何やるかにもよるんじゃないか?

260デフォルトの名無しさん2017/08/08(火) 19:59:14.74ID:p/Km8czM
今、学生で、普通のサラリーマンになる予定なら、
エクセルやアクセスのマクロ(vba)が書ける方が職場で重宝されそうだけどね

将来androidアプリを作りたいなら、「とりあえずjava」であってると思うけど

261デフォルトの名無しさん2017/08/08(火) 21:13:19.41ID:qcoC0xc5
>>258
いいんじゃないの
LLとか便利だけど、その面倒な部分の大事さとか学べない

ひとつの言語だけで終わるなら用途によってもっといい言語がありそう

262デフォルトの名無しさん2017/08/08(火) 22:06:18.12ID:GW2MTj/k
>>247ですが、>>253さんのコード目からウロコです!
thisもキャストできるんですね
不勉強なので>>255さんの仰る事が少し難しいのですが、インスタンスだから、ということでしょうか
今丁度その辺りを勉強しているところなので正しく理解できるよう頑張ります
皆さんありがとうございました

263デフォルトの名無しさん2017/08/09(水) 08:33:32.83ID:IlLjAgAU
ありがとう。
どうやらjavaを選択したことは間違いではなかった様子。
まだfor構文だが頑張る

264デフォルトの名無しさん2017/08/09(水) 23:08:12.69ID:LMnBr9ad
forいいじゃん
個人的に、Javaで書くときはなるべく質素に書くのが似合ってる気がする
拡張forとかfroEachとかStreamAPIとか言わずに
for (int i = 0; i < a.length; i++)の形が美しいとすら思う
単に個人的な意見です

265デフォルトの名無しさん2017/08/09(水) 23:59:14.48ID:eM0BjlR2
美しいかどうかは個人の感覚だけど
短く楽に書けて、読みやすいのはメソッドチェインの方かな

266デフォルトの名無しさん2017/08/10(木) 00:33:49.18ID:3830aR0n
全部Iteratorで書きたいわ

267デフォルトの名無しさん2017/08/10(木) 06:49:53.58ID:7fXn0jIL
個人的な意見をごり押ししていいなら無駄なカウンタ変数は美しくない
変数が再代入されるのもできる限り避けたい
よってforはあまり使わない

268デフォルトの名無しさん2017/08/10(木) 16:31:24.34ID:q3Q5gWCj
内部ではカウントしてそうだけどな

269デフォルトの名無しさん2017/08/10(木) 19:01:50.13ID:nhvX9c4e
カウントなどというバグの原因は内部でやらせておくに限る

270デフォルトの名無しさん2017/08/10(木) 19:09:12.83ID:d/6ciPxh
カウントのバグ、みたいなもんを針小棒大に扱って見せても白けるだけ

271デフォルトの名無しさん2017/08/10(木) 19:26:16.34ID:9td2XcHM
処理速度はともかく数字への無駄な依存をなくすことが悪いことのはずない
チューニングはボトルネックと判明してからでも遅くはない

272デフォルトの名無しさん2017/08/10(木) 19:32:52.40ID:Jc4Vqs2x
ループ書くと後々必ずループの中身を肥大化させるバカが居からなるべくループは書かない

273デフォルトの名無しさん2017/08/10(木) 22:48:58.06ID:0lb9vf6H
>>272
それ例えばどんなん?

274デフォルトの名無しさん2017/08/10(木) 23:18:34.33ID:7fXn0jIL
終わらないループ
終わらないif文
終わらないメソッド
使い回され続ける変数
共通部分の大量コピペ

業務プログラムあるあるですな

275デフォルトの名無しさん2017/08/11(金) 01:35:32.02ID:dX0SM6NL
超次元宇宙で業務をしておられるようで

276デフォルトの名無しさん2017/08/11(金) 11:33:31.61ID:VT8Bdzbq
仕様を決めつけて最適化しすぎると保守性が下がるんだけどな。

277デフォルトの名無しさん2017/08/11(金) 12:10:31.38ID:BDXv2ULb
共通部分なんて程度で共通化すべきではない
それはたぶんたまたま同じなだけ

どうせすぐここだけ変えてほしいって要求が来てあっという間にIF文まみれになる
最初から別につくったほうがまし

278デフォルトの名無しさん2017/08/11(金) 13:20:41.56ID:3EZq4DC0
>>276
あるあるネタだね
画面ごとにデータ取得SQLを最適化したり頭悪いわ

279デフォルトの名無しさん2017/08/11(金) 17:20:44.31ID:4bbWTV9L
372仕様書無しさん2017/08/11(金) 10:31:43.41
フリーランスで検索すると引っかかる零細ITがやっているサイトはだめだ。
高額に見せているけど実際は50万前後
JIET加入した方がいいよ。案件は毎日千件以上末端価格は60万円 平凡な稼働時間の80万円の案件もある。
ユー子が求人をだしてる。名刺も渡せる。ユー子に名刺が渡せるんだぞ。夢のようだ

それらの案件まさぐってHPで転売していたのが零細ITがやるフリーランスサイト

自称エージェントはJIETから流れてくる案件を転売してるだけだった。
JIETに加入すれば誰でも案件に応募することができた。収入が40万50万台にならなくて済む

473非決定性名無しさん2017/08/03(木) 15:21:30.71

JIETに加入すれば誰でも3次60万からスタートだ。フリーランスのサイトをやってる
自称エージェントもそこから案件情報を取得しきてる。サイトで60万で釣って40万から55万の
間でやらしている。

280デフォルトの名無しさん2017/08/11(金) 17:27:29.24ID:uuzmQ1J4
>>277
オブジェクト指向で書けよ

281デフォルトの名無しさん2017/08/11(金) 17:38:47.68ID:uuzmQ1J4
>>276
クライアントが拘りの部分だけ設計時に最適化したがるんだよな
そんなとこ運用してからでいいだろというとこ

全部設計してくれてコーディングだけでいいなら任せるけどさ

282デフォルトの名無しさん2017/08/11(金) 18:43:57.91ID:JLvLp2X8
>>280
たまたま同じ部分をIFでなく継承でまとめたからって、おこる問題は一緒だ
むしろ継承はIF文より汎用性がないからIF文よりずっと悲惨なことになる

すなおにコピペで別クラスにしとこう

283デフォルトの名無しさん2017/08/11(金) 20:13:57.80ID:uuzmQ1J4
>>282
初心者だと応用効かないか条件分岐の代わりにしか使えないとか

でもそもそもそういうこと言ってるんじゃないんだよ
ちゃんとオブジェクト指向わかってるば、たまたま共通のコードとかじゃなくて、設計段階で本質的に同じものでまとめて書ける
お前のはサブルーチンとして使ってるだけだろ

284デフォルトの名無しさん2017/08/11(金) 21:13:24.15ID:qTpm866m
javaでウイルス作れる?

285デフォルトの名無しさん2017/08/11(金) 21:23:48.80ID:3EZq4DC0
Javaはセキュリティホール

286デフォルトの名無しさん2017/08/11(金) 21:26:09.39ID:JLvLp2X8
>>283
設計段階で同じものだってわかってるなら何使ったってどうにでもなるわ!
オブジェクト指向関係ない
そのあとで実はここ違いますってなったとき

IF文:分岐を入れる
オブジェクト:ケースに応じて継承もしくは別クラス作成
コピペ:該当部分を修正

コピペが最優秀なんだけど

287デフォルトの名無しさん2017/08/11(金) 21:28:04.90ID:3EZq4DC0
その該当部分が鼠算で無限増殖していくのであっという間に手に負えなくなる
コピペは死罪

288デフォルトの名無しさん2017/08/11(金) 21:34:53.83ID:JLvLp2X8
そんなに増えないって
結合テストのケースに応じてコピペすりゃいいんだ
どうせまとめたって機能別に試験させられるんだからそこがボトルネックのはず

むしろ同じテストが完了した時点で
同じものがたくさんできているので生産性が高いといえよう

289デフォルトの名無しさん2017/08/11(金) 21:36:39.69ID:uBm+ojOM
同じ記述はメンテ的に良くないので避けるべき、と習ったよ
修正箇所を少なく作るのが江戸っ子らしい
ただそんな書き方は素人の俺には思いつかないのが問題

290デフォルトの名無しさん2017/08/11(金) 21:43:55.23ID:JLvLp2X8
まとめたら単体まで作るときは楽なんよね…
まとまってるぶん網羅しやすいからブラックボックステストの試験ケース少なくて済む

でもIF文とか継承まみれになると可読性めっちゃさがる

291デフォルトの名無しさん2017/08/11(金) 21:44:30.73ID:JLvLp2X8
×ブラック〇ホワイト

292デフォルトの名無しさん2017/08/11(金) 21:53:13.03ID:3EZq4DC0
if文が増えるなら
業務分析が下手くそ
設計が下手くそ
コーディングが下手くそ

293デフォルトの名無しさん2017/08/11(金) 22:02:03.16ID:JLvLp2X8
>>292
おまえは神か?世界の複雑さを完全に把握してコントロールできるのか?

294デフォルトの名無しさん2017/08/11(金) 22:07:37.25ID:3EZq4DC0
>>293
わたしがかみです

295デフォルトの名無しさん2017/08/11(金) 22:13:39.81ID:+73EubJb
   彡 ⌒ ミ  彡 ⌒ ミ
  ( ´・ω・)  ( ´・ω・)
_(__つ/ ̄ ̄ ̄/つ/ ̄ ̄ ̄/
  \/    / \/    /
     ̄ ̄ ̄ カタカタ ̄ ̄

   彡 ⌒ ミ  彡 ⌒ ミ
  ( ´・ω・)  .(・ω・` )ヾ < なぁ、これって
_(__つ/ ̄ ̄ ̄/つ/ ̄ ̄ ̄/
  \/    / \/    /
     ̄ ̄ ̄    ̄ ̄ ̄

   彡 ⌒ ミ  彡 ⌒ ミ
  (  ´・ω)  .(・ω・` )
_(__つ/ ̄ ̄ ̄/つ/ ̄ ̄ ̄/
  \/    / \/    /
     ̄ ̄ ̄    ̄ ̄ ̄

  彡 ⌒ ミ   .彡 ⌒ ミ
  (´・ω・`)   (´・ω・`) また、かみの話してる
_(__つ/ ̄ ̄ ̄/つ/ ̄ ̄ ̄/
  \/    / \/    /
     ̄ ̄ ̄    ̄ ̄ ̄

296デフォルトの名無しさん2017/08/11(金) 22:15:32.75ID:uBm+ojOM
髪の話するやつ死ねよ

297デフォルトの名無しさん2017/08/11(金) 22:22:13.21ID:3EZq4DC0
ハゲに人権なし

298デフォルトの名無しさん2017/08/11(金) 22:53:51.24ID:GWHLh1ZD
このハ・・・

299デフォルトの名無しさん2017/08/11(金) 23:22:48.62ID:uuzmQ1J4
>>286
仕様と1対1にできるのがオブジェクト指向のいいとこだろう
言ってることが真なら設計に戻るだけ
コードだけ変えてメンテできなくなるのは初心者が陥りがちな罠

300デフォルトの名無しさん2017/08/11(金) 23:47:13.60ID:VT8Bdzbq
>>289
それむしろ逆。共通化してしまうと仕様変更で別々になる可能性がある。

共通化は本当に共通化したい部分にすべきことであって、何でもかんでも共通化は間違い。

301デフォルトの名無しさん2017/08/11(金) 23:48:26.02ID:VT8Bdzbq
いまどきJavaでオブジェクト指向にこだわっているのは考え方が古い。

302デフォルトの名無しさん2017/08/12(土) 00:41:21.40ID:I0vpQUVr
業務系はオブジェクト指向と相性いいからな
趣味とかは知らん

303デフォルトの名無しさん2017/08/12(土) 07:28:02.61ID:wZgNEoNa
ビット演算について教えて下さい。
ビット演算子(&,|, ^)の右側と左側で桁数が違うときは、どういう処理がされるのですか?

304デフォルトの名無しさん2017/08/12(土) 08:21:47.95ID:WyVA8Sgg
>>302
データベースとのやりとりは結局、解決してないけどな。

305デフォルトの名無しさん2017/08/12(土) 08:31:15.18ID:w+TtGEkw
>>303
例えば、8・16ビットで、ビット演算して、何ビットの結果が必要なんだ?

少ない方の結果が必要なら、多い方を、少ないビットに変換すればいいし、
多い方の結果が必要なら、少ない方を、多いビットに変換すればいい

多いビット・少ないビットの、変換関数を探すか、自分で作ればいい

306デフォルトの名無しさん2017/08/12(土) 09:08:08.52ID:wZgNEoNa
>>305
やりたいことは符号無しintをlongに型変換したいのです。
どこかのサイトを見たところ、
longNumber = unsignedInt & 0x00000000FFFFFFFF
とすればいいらしいのですが、

そもそも桁違いでビット演算したらどうなるんだ?というのが気になりまして。

小さい方を大きいほうの型にキャストしてるのか、
それともキャストしてるんじゃなくて桁を増やしてるのか…
桁増やすにしても、符号拡張してるのか、0で埋めてるだけなのか…

気になって夜も眠れますん。

307デフォルトの名無しさん2017/08/12(土) 10:00:34.76ID:WyVA8Sgg
>>306
目的に対してどうしてそういう手段でやっているのか?

308デフォルトの名無しさん2017/08/12(土) 13:30:45.00ID:VqNg7Zuq
>>306
Chapter 15. Expressions
https://docs.oracle.com/javase/specs/jls/se8/html/jls-15.html#jls-15.22.1
|
| 15.22.1。 整数ビット演算子&、^、|
| オペランドに対してバイナリ数値昇格が最初に実行されます。
|
| 5.6.2。バイナリ数値昇格
| いずれかのオペランドがdouble型であれば、他方はdouble型に変換されます。
| それ以外の場合、どちらかのオペランドがfloat型であれば、もう一方はfloat型に変換されます。
| それ以外の場合、どちらかのオペランドがlong型であれば、他方はlong型に変換されます。
| それ以外の場合、両方のオペランドがint型に変換されます。

ということなので今回の場合はlong型に変換されるはずよ

> longNumber = unsignedInt & 0x00000000FFFFFFFF

これは末尾にLをつけないとlongにならないかと

> int unsignedInt = -1;
> long longNumber = unsignedInt & 0xFFFFFFFFL;

上をコンパイルして逆コンパイルしたら下になった

> int unsignedInt = -1;
> long longNumber = (long)unsignedInt & 4294967295L;

なので型の変換はキャストっすね

Java 8ならInteger.toUnsignedLongというメソッドが用意されてるので
そっちが良いかも

309デフォルトの名無しさん2017/08/13(日) 01:18:20.66ID:SYaWjJhn
型違いって言うのが、典型的なバグの条件

MISRA-C などでは、バグを防ぐために、
元から、型が異なるものを演算してはいけないというルール

「A 演算子 B」と書く場合、A, B は絶対に同じ型である必要がある

だから、この式の前に、絶対に同じ型にしているから、
型変換のルールに、疑問など生じない

>>308
に書いているような型変換のルールを、探してきて見直すような、
暗黙の型変換というのは、すごく単純な場合を除き、使わない方がいい

机上デバッグで、毎回、型変換のルールを見直して、
あれこれ議論しないといけないから面倒

しかも、開発メンバーが変わるたびに、説明・確認しないといけない

基本的に、言語仕様書を引っ張りだして、確認するようなものはダメ。
言語仕様書が必要な、コーディングをしてはいけない。
言語仕様書を見ない人もいるし、バグるだけ

310デフォルトの名無しさん2017/08/13(日) 01:57:33.90ID:aXXBQeA8
PASCAL みたいなのがいいってことかな。

311デフォルトの名無しさん2017/08/13(日) 02:04:55.15ID:s7ggTJlx
C言語はJavaより型付けが弱いんじゃないかな
ブーリアンもないし

312デフォルトの名無しさん2017/08/13(日) 07:00:28.21ID:SCeJgg+o
C言語には継承やクラスといった概念がないからね、比較すべきはC++

313デフォルトの名無しさん2017/08/13(日) 07:08:01.01ID:WltPyYK1
>>308
完璧な回答ありがとうございます。
私の知りたかったこと全てと、私の知らなかったことが入ってました。
L付けておきます。

残念なことに、java1.7なのです。androidなもので。

314デフォルトの名無しさん2017/08/13(日) 07:09:42.70ID:WltPyYK1
>>309
はーい。あざーっす。
オペランドの片側に(long)付けておきます。

315デフォルトの名無しさん2017/08/15(火) 16:59:30.70ID:RbnTXkE5
今日からjavaはじめる
よろしくおまいら
初心者レベルだけどC言語から入ってjavaはじめるんだけど文字列結合とかキャストとか省略が許されててむずむずするわ

316デフォルトの名無しさん2017/08/16(水) 09:09:46.76ID:qOG9houb
実装者が楽になる言語仕様がバージョンアップのなびに追加されるから
このせいで理解してない人が書いたクソコードが万延する諸刃の剣になってる

317デフォルトの名無しさん2017/08/16(水) 10:09:58.32ID:F4bo7YNW
>>316
本来の書き方をわかってて省略するのとそういうもんだと思って書くのとでは雲泥の差があるな

318デフォルトの名無しさん2017/08/16(水) 12:49:17.76ID:qOG9houb
booleanとBooleanが混在しまくってるコード見たときには気が狂いそうになった

319デフォルトの名無しさん2017/08/16(水) 14:56:15.62ID:Rgy1v+1A
>>318
それだけじゃクソコードエピソードとしては弱いなぁ

320デフォルトの名無しさん2017/08/16(水) 15:17:45.44ID:uSl3r4ZJ
>>319
あなたのエピソードもどうぞ

321デフォルトの名無しさん2017/08/16(水) 16:28:47.57ID:7SX+Ce7L
ああ

322デフォルトの名無しさん2017/08/16(水) 17:14:50.23ID:qxnt2v0K
>>320
いきなりメソッドの初めで戻り値を変数に設定して、メソッド内で上書かずに最後でreturn。

323デフォルトの名無しさん2017/08/16(水) 19:48:31.09ID:ey68s8sH
Java最大の失敗はBean
これのせいで日本企業の所有するコードはパブリックアクセサだらけの地獄になった

324デフォルトの名無しさん2017/08/17(木) 00:48:02.70ID:x9wW63w8
>>322
変更があった時に、その変数を弄べばいいだけになるから
割と良いと思うけど

逆の変更があったからあなたが見た状態になったのかも知れないし

325デフォルトの名無しさん2017/08/17(木) 06:28:14.94ID:8r7YxJOf
>>324
あなたの解釈だとコーディングミスを想定していない。

326デフォルトの名無しさん2017/08/17(木) 14:38:05.88ID:G+zZ9zG7
超初心者ですまん
メソッドを数値で分けて呼び出したいんだけど
今使ってるのがswitchでの分岐
int a;
switch(a){
case 1:
hoge();
break;
case 2:
hogee();
break;
}
みたいな

もっと効率の良いやり方があったら教えて欲しい

327デフォルトの名無しさん2017/08/17(木) 15:17:28.53ID:aODDrPp/
>>326
幾つぐらい分岐するのかな?少ない場合はそっちの方が速いような気がするが。

分岐が沢山あるとか増え続ける可能性があるとか使う側で自由にセットしたいとかいう場合はまずinterface作っておいてその中にメソッドの定義を書いておく。
次にそれをimplementしたクラスを必要なだけ作っておき、HashMapにキーと共にインスタンスを入れておく。
後はそのHashMapからキーを使ってget()してメソッド呼ぶだけ。

328デフォルトの名無しさん2017/08/17(木) 15:33:57.25ID:XeZ7degk
c言語の入門書が一通り終わってオブジェクト指向も触りたくなったんでお勧めの入門書教えて下さい

329デフォルトの名無しさん2017/08/17(木) 16:06:35.83ID:OlLybMzW
(´・ω・`)あのー
すべての文字列はStringクラスのインスタンスとしてあつかわれるっていう表現がうまくイメージできないの
じぶんなりにまとめたのは

String s = "こんにちは"
これは
String s = new String(こんにちは)
と同じでStringクラスをインスタンス化するときに、コンストラクタに対して引数としてこんにちはをわたしてる
そしてインスタンス化されたStringクラスのメンバ変数にこんにちはが代入された
同じようにすべての文字列は扱われるので、
すべての文字列はStringクラスのインスタンスとしてあつかわれると表現される

このイメージでいいの?
くわしいひとおしえてくれませんか?

330デフォルトの名無しさん2017/08/17(木) 16:09:03.31ID:8r7YxJOf
>>329
Stringはよく使うクラスだから、特別な表記があるだけ。

331デフォルトの名無しさん2017/08/17(木) 17:04:43.05ID:G+zZ9zG7
>>327
ありがとう…😭

332デフォルトの名無しさん2017/08/17(木) 17:19:20.91ID:Q7A+EFnW
>>328
この本で、オブジェクト指向を学ぶ

スッキリわかる Java入門 第2版、2014

333デフォルトの名無しさん2017/08/17(木) 18:12:59.47ID:TlX56ZGd

334デフォルトの名無しさん2017/08/17(木) 19:12:28.02ID:x9wW63w8
>>325
可能性を上げてるだけなのに想定って
君の思う一番のコーディング以外は全てミスってことか?

335デフォルトの名無しさん2017/08/18(金) 14:05:01.42ID:uPv212Ws
>>334
ダメな例だよ。

変数が変数たる存在を理解してない。

336デフォルトの名無しさん2017/08/18(金) 16:58:08.35ID:Rznosojv
>>335
変数が理解するのかよw
説明できないなら自分ルールにとどめときな

337デフォルトの名無しさん2017/08/18(金) 17:12:35.77ID:uPv212Ws
>>336
日本語わかりますか?

338デフォルトの名無しさん2017/08/18(金) 18:31:21.19ID:Rznosojv
>>337
それが日本語だとすると
変数が理解してない
というように解釈できるぞ
正しい文章とは、誤解の余地がない文章だろう

そんなこといいから、そういったコーディングをした時に発生し得る問題を挙げろよ

339デフォルトの名無しさん2017/08/18(金) 18:34:12.33ID:pRy4OxRt
普通なら「変数が変数たる理由を理解してない」っていうわな
まあ普通の人は各自で補って、それを論ったりはしないだろうけど

340デフォルトの名無しさん2017/08/18(金) 18:55:17.40ID:Rznosojv
あー定数やfinalでいいじゃんってことか
finalじゃないから>>324なんだろ

現場でやってれば、そういう問題集解いただけの発想だけでは居られない

341デフォルトの名無しさん2017/08/19(土) 08:15:29.19ID:IZN9Kb9e
private staticメソッドを使う意味ってありますか?
オーバーロードしたpublic staticメソッドの受け先以外の使い方で

342デフォルトの名無しさん2017/08/19(土) 08:19:07.46ID:oORm5Ou6
>>341
staticメンバにしかアクセスしないprivateなメソッドはprivate staticで定義するんじゃないの

343デフォルトの名無しさん2017/08/19(土) 14:46:54.88ID:hY6XbUY2
long x
x = Integer.parseInt(str.substring(121,131))

文字列の一部から10桁のlong型の数値を取得しているのだけど
この取り出したい数値が大きい時に、 x=0 になってしまう不具合があるのだけどどうすればいいでしょうか

344デフォルトの名無しさん2017/08/19(土) 14:54:42.91ID:yBrPcq+R
>>343
Long.parseLongで

345デフォルトの名無しさん2017/08/19(土) 15:08:14.44ID:hY6XbUY2
>>344
ありがとうございます

346デフォルトの名無しさん2017/08/22(火) 06:56:33.86ID:dBUxkpNb
頑張ってる

新着レスの表示
レスを投稿する