2ちゃんねる スマホ用 ■掲示板に戻る■ 全部 1- 最新50    

■ このスレッドは過去ログ倉庫に格納されています

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

1 :デフォルトの名無しさん:2017/04/04(火) 20:41:11.59 ID:y0EcmGB0.net
Java初心者のためのスレッドです。

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

2 :デフォルトの名無しさん:2017/04/05(水) 09:51:39.56 ID:nC3E9c0D.net
前スレ >>997
onCreateってのはAndroidでそのActivityが作られたときに走る処理だからそこでgetTextしてもEditTextの中が空だから怒られてる。
確定ボタンをButtonで作ったりキーイベントReturnを捉えるイベントリスナーの中でやるべき。

3 :デフォルトの名無しさん:2017/04/05(水) 18:26:37.85 ID:XSIU9b3V.net
JHoshu

4 :デフォルトの名無しさん:2017/04/05(水) 19:49:27.33 ID:xPaGCN9C.net
>>1


5 :デフォルトの名無しさん:2017/04/05(水) 20:16:36.85 ID:p+fIavz2.net
>>2
わざわざありがとうございます。
ようやく思い通り動くようになりました。
まだ細かい改善点はあるのでもう少し勉強してみます。

6 :デフォルトの名無しさん:2017/04/05(水) 23:22:35.35 ID:Ansd+i4M.net
>>999
なるほど。ポインタみたいなものでしたか。ご教授ありがとうございます。

>>1000
やはりitemにそれぞれの値を格納するほうがOOらしいですね。参考にします。

ありがとうございました。

7 :デフォルトの名無しさん:2017/04/06(木) 00:09:53.06 ID:b0BXYKSq.net
あるクラス内の2つのメソッドの中身を途中で何度も書き換えたいんだけどどう実装したらいい?
関数ポインタを扱うのように、途中で関数を書き換えたい。

抽象クラスを継承することで、メソッドの書き換えは出来るものの、継承したクラスの宣言時の一度しか
メソッドを書き換えられないと思うんだけど、他に方法はある?

8 :デフォルトの名無しさん:2017/04/06(木) 01:36:02.66 ID:iHw/QSTR.net
>>7
インスタンス入れ替えるだけじゃだめなのか?
例えばこんな風にして同一のインターフェースを実装した A, B のクラスを作っておく。

interface X {
 int methodA(int a);
 int methodB(int b);
}

class A implements X {
 int methodA(int a) {
  // 処理A-A
 }

 int methodB(int b) {
  // 処理A-B
 }
}

class B implements X {
 int methodA(int a) {
  // 処理B-A
 }

 int methodB(int b) {
  // 処理B-B
 }
}

で、使う所では
X x = new A();
のようにして int a = x.methodA(1); とか int b = x.methodB(2); とかして使う。class B の方に切り替えたくなったら x = new B(); として同様に x を通して使う。

9 :デフォルトの名無しさん:2017/04/06(木) 02:01:39.25 ID:FGV9lFi+.net
>>7
なんでそんなことしたいのか説明して
実装の話はそれから

10 :デフォルトの名無しさん:2017/04/06(木) 10:42:30.59 ID:wo+kdFBC.net
>>7
スマホからだから適当だけど
public class Sub{

private Function func;

public void setFunc(Function func){
this.func = func;
}

public Function getFunc(){
return this.func;
}

}

あとは呼び出し側で
Function<Integer,Integer> func = x -> x+1;
Sub sub = new Sub();
sub.setFunc(func);
Sysyem.out.println(sub.getFunc().apply(10));

これでどうだ
使えるかどうかは知らん

11 :デフォルトの名無しさん:2017/04/06(木) 16:06:42.01 ID:8OEcGMYc.net
>>7
Javaは静的に定義してコンパイルする言語だから実行中の動的書き換えは無理
9が言ってるように目的は何なのかを書け

12 :デフォルトの名無しさん:2017/04/06(木) 20:32:34.33 ID:vtBceFIS.net
>>11
関数ポインタのように差し替えたいって言ってるからinterfaceの差し替えでいいんしゃないの
リフレクションでもいいけど

13 :デフォルトの名無しさん:2017/04/06(木) 21:14:24.31 ID:O3QBzUs3.net
じゃあFunctional Interfaceで
http://ideone.com/AghCys

14 :デフォルトの名無しさん:2017/04/06(木) 21:39:53.20 ID:vtBceFIS.net
結局波平か

15 :デフォルトの名無しさん:2017/04/06(木) 23:04:04.80 ID:Lft96QhP.net
>>7
君の言う「宣言」ってのは「new」の事かな?
抽象クラス「interface XXX」を継承したクラス
「class AAA implements XXX」と、
「class BBB implements XXX」の2つ作ったとして、
「XXX XYZ=(XXX)new AAA()」としたらXYZのインスタンスはAAAだよね。
「宣言時の一度しかメソッドを書き換えられない」と言ってるけどソレって、
newした後で「XYZ=(XXX)new BBB()」と上書きしたらダメだと思ってない?
良いんだよ?XYZに元から入ってたAAAは消滅して新たにBBBが入る。
C言語の常識でmallocしたらfreeするみたいに考えてないか?
あと「メソッドを書き換える」というのは根本的に考え方がおかしい。
考えてるプログラムの構造がC言語っぽい。JAVAにはJAVAに合った構造がある。
短いサンプル書いて意見を聞いた方が良いと思うな。

16 :デフォルトの名無しさん:2017/04/07(金) 00:39:47.52 ID:g05Ok9Aj.net
https://ideone.com/Vf6xoW
上のソースコードが、イデオンだと実行時エラーに
なってしまいます。原因を教えて頂けないでしょうか。

17 :デフォルトの名無しさん:2017/04/07(金) 01:02:07.87 ID:E+iT9RU9.net
5行目のScannerが佐藤までバッファに読み込んでいて、
7行目のScannerがなにも読み込ないから。

https://ideone.com/0RB6Do

18 :デフォルトの名無しさん:2017/04/07(金) 01:02:48.90 ID:KCHCaqUQ.net
>>16
何故IDEとか使わずにコード張るサイト使うのか分からん
とりあえず普通に実行したら実行時にエラー吐かなかったから
idone使う時の入力方法を自分で調べるしかないだろ

19 :16:2017/04/07(金) 03:02:40.52 ID:g05Ok9Aj.net
>>17 >>18
ありがとうございます。
実は前スレでも似たようなことを質問させて頂きました…。

>>18
自分のパソコンに入っているエクリプスでは普通に出力されます。
ここにソースコードを貼るためにイデオンを使ってます。


String name1 = new java.util.Scanner(System.in).nextLine();
という表記法にはどんな問題があるのでしょうか?
スッキリわかるJavaに載っていたのですが。
どなたか教えてくれませんか?
ググってもこの表記法は見つかりません…。

20 :デフォルトの名無しさん:2017/04/07(金) 04:15:47.44 ID:E9+XPTIr.net
アイディーイーワン

1つのストリームに対して2つのScannerを使ってるのがいけない
俺の環境(1.8系)だとエラーになるよ

21 :デフォルトの名無しさん:2017/04/07(金) 04:20:28.04 ID:E9+XPTIr.net
これ
https://www.securecoding.cert.org/confluence/display/java/FIO06-J.+Do+not+create+multiple+buffered+wrappers+on+a+single+byte+or+character+stream

22 :デフォルトの名無しさん:2017/04/07(金) 13:21:40.10 ID:Q8YZksVL.net
>>16
表記法の問題じゃないよ。根本的な事が解ってない。
C言語で言う所のgets()と勘違いしているでしょ。
name1に入力してエンター押したら次にname2の入力待ちになると思ってない?
20氏が書いてる事の意味わかる?それだとname1とneme2が同時に開く。
間に「入力待ち」を入れないといけない。
ttp://tkykhk.hatenablog.com/entry/2013/08/15/172825
これで言うとhasNextInt()の事ね。

23 :デフォルトの名無しさん:2017/04/07(金) 15:10:53.06 ID:440JjrFN.net
Androidウェアラブル端末のBluetoothを用いて、端末所持者同士のすれ違いを検知するアプリケーションを製作しています。
APIレベルは19、4.4のKitKatです。

プログラムでは検知したBLEMACアドレスをテキストファイルに書き込む動作をおこなっています。
端末情報の項目などで確認できるBluetooth Device Address(BDA)を取得したいのですが現在は
*Random Addressを取得している
*GATTサーバのMACアドレスを取得している
のどちらかが発生しています。
こう考えた理由は生成したログファイルを確認すると一定時間ごとに同じ端末から得られるMACアドレスが変化している為です。
具体的には、作成したプログラムを稼働させた探知機でBeacon発信機を検出しそのMACアドレスと検出時刻をログファイルに書き込んでいます。
一日の稼働でおよそ100件ほど得られたデータのおいてすべてのMACアドレスが重複しない状態となっているからです。


相手方のBDAを取得する関数またはUUIDなど固有の番号をBluetoothの”検知”段階で入手する手段を教えて頂きたいです。
ご助言宜しくお願いします。

24 :デフォルトの名無しさん:2017/04/07(金) 16:38:24.04 ID:10W/Ra3M.net
もうイデオンでいいわw

25 :デフォルトの名無しさん:2017/04/07(金) 17:25:04.53 ID:am4C8gz9.net
>>23
ここはJavaスレなんで泥特有の質問は泥スレにどうぞ

Androidプログラミング質問スレ revision53
ttp://echo.2ch.net/test/read.cgi/tech/1488052551/

26 :16:2017/04/07(金) 20:57:30.40 ID:g05Ok9Aj.net
>>20 >>21 >>22
ありがとうございます。

アイディーイーワンって読むんですね。

ちょっと調べてみて、またレスしたいと思います。

27 :デフォルトの名無しさん:2017/04/07(金) 21:24:00.28 ID:a6ogP8yx.net
井出椀

28 :22:2017/04/08(土) 12:16:45.55 ID:OP2gpsJ+.net
16氏のレスは何か学生が先生に質問してるような雰囲気で若さを感じるんだが、
残念な事にIDEをイデオンと読むもんだから40歳以上とバレてしまっている。

29 :デフォルトの名無しさん:2017/04/08(土) 12:25:43.95 ID:TxXYCj/0.net
(20代だけどずっとイデオンって読んでた……)

30 :デフォルトの名無しさん:2017/04/08(土) 12:35:44.62 ID:4NiiBXjv.net
意外と有名
またはアニヲタ

31 :デフォルトの名無しさん:2017/04/08(土) 12:35:48.36 ID:CqR65F9s.net
>>28
>>16は↓のスレでコテハンと遊んでる34歳の無職だよ
ねねっちと一緒にプログラムを勉強するスレ第2話 [無断転載禁止]©2ch.net
http://echo.2ch.net/test/read.cgi/tech/1489809785/

34歳、発達障害の無職ですが…4 [無断転載禁止]©2ch.net
http://tamae.2ch.net/test/read.cgi/prog/1486352667/

32 :デフォルトの名無しさん:2017/04/08(土) 12:44:33.10 ID:ryFntO7G.net
一行辺りは半角26文字で600万行あるテキストファイルの中身を
要素の数600万として一行づつ配列にいれていこうと思うのですが大丈夫でしょうか?

33 :デフォルトの名無しさん:2017/04/08(土) 12:45:57.94 ID:DTMJtpt4.net
>>32
余裕です

34 :デフォルトの名無しさん:2017/04/08(土) 12:46:36.51 ID:DTMJtpt4.net
312MB、余裕です

35 :デフォルトの名無しさん:2017/04/08(土) 12:52:36.33 ID:ryFntO7G.net
このテキストファイルもjavaで入力しましたが、全部書き込み終わるのに8時間から半日くらいかかってたと思います。

36 :デフォルトの名無しさん:2017/04/08(土) 12:55:54.81 ID:ryFntO7G.net
>>33
ありがとうございます
メモ帳でこのテキストファイル開いてもパッとは開かないので不安ですがやるだけやってみます

37 :デフォルトの名無しさん:2017/04/08(土) 12:57:12.51 ID:DTMJtpt4.net
>>35
ソースコード見せて

38 :デフォルトの名無しさん:2017/04/08(土) 13:00:01.26 ID:DTMJtpt4.net
>>36
メモ帳はね、uniscribeっていうリガチャやカーニングに対応した
高度なテキストレンダラを使ってるからもっさりしても仕方がない

39 :デフォルトの名無しさん:2017/04/08(土) 14:24:59.52 ID:QfXapNKS.net
余裕かどうかは動かすマシンによるのでは?

40 :デフォルトの名無しさん:2017/04/08(土) 14:33:44.07 ID:DTMJtpt4.net
その発想はなかったわ

41 :デフォルトの名無しさん:2017/04/08(土) 14:38:51.91 ID:YTkzg0Hn.net
ランダムな26文字の文字列600万行のファイルを作ってみたが3秒くらいだった
8時間〜半日かけてどういうデータを作ったのかが気になる

42 :デフォルトの名無しさん:2017/04/08(土) 14:39:55.19 ID:TxXYCj/0.net
その内一般家庭のPCスペックが「京」並になる時代がくるからへーきへーき

43 :デフォルトの名無しさん:2017/04/08(土) 17:01:59.34 ID:MZUufgxp.net
そういやJavaVMが使うメモリのデフォルトって今は多くなってんのかな?
これが小さい場合は自分で大きくなるようにオプション付けてVM動かさないとメモリオーバーフローになるよな。

44 :デフォルトの名無しさん:2017/04/08(土) 19:29:50.65 ID:FurKv1hb.net
vmが入ってる電子計算機でしか動かないjavaに深入りする価値あるんですか。

45 :デフォルトの名無しさん:2017/04/08(土) 20:17:39.84 ID:MZUufgxp.net
>>44
価値か。価値ねえ。それはあなたが何を求めているかで変わるんじゃないかな。

例えばAndroid用アプリを作って売るとか、無料ゲーム作ってサイト内課金で稼ぐとか、そういう商売してるなら少し遠回しではあるけどJavaに価値があるということになると思う。
実際に金稼げるわけだしね。Androidの端末は沢山出回っててユーザも多い。

46 :22:2017/04/09(日) 04:05:43.60 ID:o//fitNy.net
>>44
私もつい最近まで貴方と同じ考えで、javaを使い始めたのは今年からです。
ホームページでの説明にApplet版CADを使い、商品はC言語みたいな事をするつもりで
まずオールJavaでAppletのCADを作ってみたんですが、想像以上に動作が軽かったです。
巨大なデータを扱うつもりで無ければAppletで充分だと思いました。
それより何より、Javaはプログラミングが物凄く楽です。
C言語ですとイベントの順序とか挙動で思い通り行かずグチャグチャになりますけど、
javaだと問題そのものが存在しないというか対策済みという感じですね。
それと、私は未だ弄ってないですが、データベースを触るのが簡単そうです。
あと、Windowsで例えば動画再生なんかはCOMコンポーネントだのDirectShowだの
数々の山を乗り越える必要が出てくる事が非常に多いのですが、
Javaだと専用ライブラリを使ってチョチョイのチョイで済む事が多いようです。
そんな感じで、私はなるべくjavaでやりたいと思うようになりましたよ。

47 :16:2017/04/09(日) 23:24:51.53 ID:ySXi9r1b.net
>>28
若くはないですが、40まではいってませんよ。
あれは最初イデワンって読むと思ってましたが、Google検索の予測変換でイデオンってのが多かったから、ついそう読むのかなって勘違いしてしまったんです。

48 :デフォルトの名無しさん:2017/04/10(月) 03:52:41.97 ID:NTVTXuq3.net
>>47
その話はもう終わってる空気読め

49 :デフォルトの名無しさん:2017/04/10(月) 20:57:16.98 ID:AyjhZMz0.net
Air wife

50 :デフォルトの名無しさん:2017/04/11(火) 19:46:28.08 ID:R28Sl2m+.net
= new Air();

51 :デフォルトの名無しさん:2017/04/11(火) 21:28:46.27 ID:A5AwerKU.net
String a = new String("hello world") ;

String a = "hello world" ;

これは略し方の違いなだけで同じ意味なんでしょうか?

52 :デフォルトの名無しさん:2017/04/11(火) 21:37:35.09 ID:UT2aAcJz.net
うん。
手続き型言語では文字列を簡単に宣言できて、オブジェクト指向になったらいちいちnewするとか劣化のイメージだから、特別な記法としてC++とかからの伝統的な記法。

53 :デフォルトの名無しさん:2017/04/11(火) 22:44:52.71 ID:XRUbE8gX.net
別じゃね?
String a = new String("hello world")では新しく作られたStringオブジェクトの参照が代入されるけど、
String a = "hello world"ではコンスタントプールにある参照が代入される。

"hello world" == "hello world"はtrueになるけど、
"hello world" == new String("hello world") や new String("hello world") == new String("hello world")はfalseになる。
equalsを使ったらどれもtrueになる

54 :デフォルトの名無しさん:2017/04/11(火) 23:36:39.85 ID:ZPaqNK/Y.net
String の場合は intern() が返す参照を使うと同じ文字列が既にあったら同じ参照になるけどな。
同じ内容の内容の文字列が何度も new される可能性がある場合は使うとメモリの節約になる。

55 :デフォルトの名無しさん:2017/04/12(水) 03:26:16.05 ID:b48e4NDE.net
>>51
ま、これでも動かしてみなされ。

public class StringTest {
 public static void main(String[] args) {
  String s0 = "aaa";
  String s1 = new String("aaa");
  String s2 = new String("aaa");
  String s3 = s2.intern();

  String[] ss = { s0, s1, s2, s3 };

  for (int i = 0; i < ss.length - 1; ++i)
   for (int j = i + 1; j < ss.length; ++j)
    System.out.printf("ss[%d] %s ss[%d]%n", i, ss[i] == ss[j] ? "==" : "!=", j);
 }
}

56 :デフォルトの名無しさん:2017/04/12(水) 23:55:55.72 ID:NTW6AtnI.net
>>55
Javaなら環境依存はないことになってるんだから実行結果も貼ってみなされ。

57 :デフォルトの名無しさん:2017/04/13(木) 00:01:26.42 ID:oGpC5FIZ.net
>>55
ったく
https://ideone.com/NpPMa9

58 :デフォルトの名無しさん:2017/04/13(木) 01:22:32.11 ID:GDsbQNSJ.net
動かして理解しろってことでしょ……

59 :デフォルトの名無しさん:2017/04/14(金) 09:52:16.30 ID:umFkfZJf.net
FileReaderオブジェクト作ってread、readLineでファイル読み込んだあとにcloseメソッドで閉じることになっていますが、最後まで行ってない場合、closeしなくても良いのでしょうか
そしてそもそもcloseしないでプログラム終了するとどうなるのでしょうか

60 :デフォルトの名無しさん:2017/04/14(金) 12:10:52.91 ID:/1nusgkY.net
>>59
ファイルクローズは普通はそのファイルへの読み書きが不要になったらするものだ。どこまで読んだかなんてことは関係ない。

61 :デフォルトの名無しさん:2017/04/14(金) 12:23:50.00 ID:/1nusgkY.net
クローズしなかった場合はインスタンス消滅前にファイナライザでグロースされるだろうが、そんなもんあてにしてはいけない。
特別な事情がない限りプログラムは必ず自分でファイルクローズするように書くべき。

62 :デフォルトの名無しさん:2017/04/14(金) 12:27:55.91 ID:sfy7Edim.net
try-with-resource構文が便利すぎて気にしづらくなった感はある

63 :デフォルトの名無しさん:2017/04/14(金) 12:37:26.12 ID:/1nusgkY.net
>>62
一応それも自分でクローズするように書いてる事にはなる。何が起きるかわかって書いてるわけだし。

64 :デフォルトの名無しさん:2017/04/15(土) 07:07:28.68 ID:Q1oPXQ4H.net
エラーの原因の9割はメモリ問題っていうけど
これって解放すればいいだけじゃね?
つまり全ての作業の最後に解放するコードを常に入れてたら
エラーなんて出ようがないのでは?

65 :デフォルトの名無しさん:2017/04/15(土) 08:37:16.98 ID:mBBzgc7U.net
かってに削除しては、こまる。まだだれかが参照してるかとか…

66 :デフォルトの名無しさん:2017/04/15(土) 10:35:03.58 ID:IUu2MviJ.net
>>64
めんどくさいんだよ。
Cである程度の規模のアプリ作ってみろよ

67 :デフォルトの名無しさん:2017/04/15(土) 18:50:27.07 ID:ONyyaIO2.net
解放し過ぎて二重にfree()して落ちたりしてなw

68 :デフォルトの名無しさん:2017/04/15(土) 23:48:14.07 ID:+FDoqV6E.net
質問させてください。
今日パソコンにeqlipseを入れて文字の表示をしていたのですが
出先から帰って再度起動させてから他のクラスを作って実行しても
「現在、表示するコンソールがありません」というメッセージが出て反映させられません。

どちらも新規クラス作成でメソッド・スタブのmainメソッドにチェックを入れて作成しましたし、
コピペして中身が全く同じなのでどこに原因があるのかわからず困っています。

どなたかお知恵を貸していただきたいです!

69 :デフォルトの名無しさん:2017/04/16(日) 00:14:26.19 ID:m1EJuj8m.net
>>68
ソースコード見せて

70 :デフォルトの名無しさん:2017/04/16(日) 00:35:15.16 ID:qsila/iw.net
>>69

package jp.winschool.java.chapter1;

public class Sample01_03 {

public static void main(String[] args) {

// Hello worldと表示する
System.out.println("Hello world");
}
}

ソースコードこちらです!

71 :デフォルトの名無しさん:2017/04/16(日) 07:35:13.11 ID:Ey1n1KGC.net
よくお互いをロックして制御不能みたいな実行時エラーって
あれどういう原理なんですか?
そういうプログラム逆に組んでみたいんですが…

72 :デフォルトの名無しさん:2017/04/16(日) 09:48:34.56 ID:0couv4LD.net
>>71
https://ideone.com/HQeH5g
例えばこんなん

73 :デフォルトの名無しさん:2017/04/16(日) 19:57:09.57 ID:1+YnjkjO.net
>>71
いやほら A と B の二つロックする変数があって、それを2つのスレッドで、一方のスレッドは A, B の順でロックするようになっていて、もう一方は逆順に B, A の順でロック掛けるようになっているとタイミングによってデッドロックになる事がある。

74 :デフォルトの名無しさん:2017/04/16(日) 20:02:31.84 ID:jgmTryYz.net
nullが入力されたらループが止まるプログラム文にしたいのですが、
うまくいきません。
https://ideone.com/N1lSZi
どこが悪いのでしょうか?

75 :デフォルトの名無しさん:2017/04/16(日) 20:47:52.41 ID:rpbl7PtZ.net
それはnullっていう文字列だからnullではない
nullの入力で終わらせたいなら "null".equals(sc.next())とかにしないと

76 :デフォルトの名無しさん:2017/04/16(日) 21:14:34.70 ID:A/UzF3XD.net
>>74
入力が終わってるかどうかをhasNextLine()で調べてから読めばいいと思うが。
あとは>>76の言う通り。

77 :デフォルトの名無しさん:2017/04/16(日) 21:15:04.00 ID:A/UzF3XD.net
じゃない>>75だ。

78 :デフォルトの名無しさん:2017/04/16(日) 23:39:22.02 ID:7oLLQxXY.net
http://www6.kaiho.mlit.go.jp/02kanku/aomori/tappisaki_lt/livecamera/index.html

ここのライブカメラを見たいんですがセキュリティでブロックされて見れません。
javaの例外サイトに設定すればいいらしいのですが、どのURLを入れればいいのでしょうか。
あと、これって手打ちのみ?

79 :デフォルトの名無しさん:2017/04/17(月) 01:03:35.01 ID:70+t1EMT.net
Cをちょこちょこ勉強してたんですが並行でJavaの勉強も始めました
Cそっくりなのに無駄に文字数多くてめんどくせぇなとか思いながらテキスト眺めてたんですがこれメソッドってCで言うところの関数でいいんですか?
呼び方が違うだけ?

80 :74:2017/04/17(月) 01:14:04.66 ID:WPG7SQ/C.net
>>75 >>76-77
ありがとうございました。

81 :74:2017/04/17(月) 02:05:39.73 ID:WPG7SQ/C.net
たびたびすいません。
正しく動作するようになったのでリンク貼らせて頂きます。
https://ideone.com/fJbFul

82 :デフォルトの名無しさん:2017/04/17(月) 03:13:19.95 ID:H+Zq8CGz.net
>>79
そう。

83 :デフォルトの名無しさん:2017/04/17(月) 06:19:26.55 ID:ReyyQyZQ.net
>>79
関数にはレシーバー(主体)が無いけど、メソッドにはある

インスタンス(レシーバー).メソッド名()
関数名()

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

この本を3回読んで、みっちりとオブジェクト指向を学ぶのが、
プログラミングとすべての言語の基本

84 :デフォルトの名無しさん:2017/04/17(月) 08:52:54.56 ID:jxYq0SCN.net
>>79
ほぼ同じ いちいち使い分けるやつは見たことない

ただし C Java を混ぜこぜにやるのはNG
「見た目は似てるけど根本的に違う」という部分を見逃すとどっちも使い物にならんよ

85 :デフォルトの名無しさん:2017/04/17(月) 10:19:19.48 ID:0jhtVsWG.net
String型変数 の5〜6字目(半角の数字)を2桁のint 型変数として取得したいと思っています。

substring(5,7)で一回別のString型変数に入れてから、Integer.parseIntでint型に変換するんじゃなくて、
直接int型としてsubstring(5,7)で抜き出す書き方はあるでしょうか?

86 :デフォルトの名無しさん:2017/04/17(月) 10:31:11.72 ID:SOQF/fhS.net
>>85
そういうメソッド書けばええやん
1行節約するためにそんなことする意味があるのかわからんけどね

87 :デフォルトの名無しさん:2017/04/17(月) 11:52:34.85 ID:KDQg4XsN.net
>>85
int i = Integer.parseInt(s.substring(5,7));
これでええんとちゃうん?

88 :デフォルトの名無しさん:2017/04/17(月) 20:31:37.19 ID:oBr7cjxV.net
>>79
関数はクラスと無関係なのがメソッドと違うとこ

89 :デフォルトの名無しさん:2017/04/17(月) 21:09:17.98 ID:70+t1EMT.net
>>82-84 >>88
ご丁寧にありがとうございました。
あと>>84さんのアドバイスですが、類似するもの関連するものを2つ以上学ぶ際は同時並行の方が学習効率が高いという研究がありましてそれに従っております

90 :デフォルトの名無しさん:2017/04/18(火) 07:59:43.48 ID:6G1kXLTk.net
Cは、まだJavaが無かった頃の、手続き型言語の代表

Javaは、オブジェクト指向の代表で、
Java以後は、ほとんどすべての言語がオブジェクト指向になった

C・Javaは、考え方が大きく異なるので、一緒に勉強できない

スッキリわかる Java入門 第2版、2014
まずこの本を3回読んで、オブジェクト指向をみっちりと学ぶ

その後、この2冊をこの順に読む
たのしいRuby 第5版、2016
みんなのPython 第4版、2017

この2冊は表裏一体だから、たのしいで苦しむと、
みんなのはスラスラと読めるようになる

その後、Groovy, Kotlin を勉強すればいい

91 :デフォルトの名無しさん:2017/04/18(火) 09:26:09.77 ID:dYgbMCUy.net
Perlも仲間に入れてあげてください

92 :デフォルトの名無しさん:2017/04/18(火) 10:42:45.58 ID:O7sr+UR8.net
>>89
そうじゃねえ、関連度が低いから無茶だって言ってるんだよ
俺音楽やってんだよねーって弦楽とDTM同時並行とか無理だろ?
せめてバイオリンとビオラくらいに関連してないと厳しい

93 :デフォルトの名無しさん:2017/04/18(火) 22:47:06.26 ID:/+d1udbI.net
>>89
表面は似ているが根本的に違うから
学習効果はゼロだと言った

94 :デフォルトの名無しさん:2017/04/19(水) 01:07:23.00 ID:3iqNnA3g.net
>>85
String.getChars()もしくはcharAt()で取り出して自作でa2iすればいい

95 :デフォルトの名無しさん:2017/04/19(水) 10:26:46.95 ID:9vZd9y2Y.net
おすすめの参考書ってありますか?

96 :デフォルトの名無しさん:2017/04/19(水) 13:12:44.81 ID:bjTcFC7K.net
>>95
何に対する参考書なんだ?
入門なのか試験対策なのか何かしらの技術についてなのか設計技法なのかはっきりしやがれ

97 :デフォルトの名無しさん:2017/04/19(水) 14:01:34.36 ID:lhJ18puQ.net
>>95
一番得るものが多いなって思ったのは言語仕様とVM仕様
https://docs.oracle.com/javase/specs/

98 :デフォルトの名無しさん:2017/04/19(水) 14:05:53.58 ID:OqLveeZp.net
ここは入門・初心者質問スレですよ
このスレで質問する人はどんな人なのかそしてどんな本を勧めればいいのか
ある程度予測できないようじゃ立派なプログラマーにはなれませんよ!

99 :デフォルトの名無しさん:2017/04/19(水) 15:00:06.31 ID:lhJ18puQ.net
>>98
すぐに読めとは言わないけど読んだほうがいいのは間違いないと思ってるよ
もちろん趣味プログラマじゃなく職業プログラマになるならの前提だけど

100 :デフォルトの名無しさん:2017/04/19(水) 19:14:26.52 ID:yJEVgkwQ.net
黒い表紙のjava SE8 Gold問題集買って完璧になればJava限定ならどこでもやっていける

101 :デフォルトの名無しさん:2017/04/19(水) 23:07:06.82 ID:CBlBPUu/.net
95氏は勉強と技術の習得が全く別物だという認識が無いんじゃないかな?
テストで良い点取りたいなら勉強するしか無いけども、
ソフトを作れるようになりたいなら、覚えるより先に何を作るか決めないとダメだよ。
中学校の英語の勉強と同じだね。仮に英語の単語と文法を全て覚えたとしても
テストで良い点数取れるだけで、英語の映画も英文の小説も楽しめないだろ?
プログラミングも同じ事で、勉強したって本に書いてある通りの事しか出来ないよ。
海外旅行する為に日常会話程度の英会話を覚えるって良くある話だけども、
そんな感じで作りたいソフトに必要な事だけを覚えていく感じでやるといい。

私はCADのプログラマなのでCADの事でないと上手く言えないんだけども、
CADなら画面が出て線が引けてマウスとキーボードとファイルの読み書き出来れば充分。
javaは初めて3ヵ月くらいで勉強と呼べるレベルの事はしていないが、
基本的な作業なら出来る程度のCADがもう出来ている。
未だjavaのシステムの構造を理解してない故の不具合は多いし、
クラスだの継承だのpublicとprivateの違いだの、余り深く理解してないけど、
売り物になる程度にまで完成させるのには大して時間はかからないと思う。
たぶんJavaの試験やったら落第レベルだけど商品レベルの物は作れるに?

102 :デフォルトの名無しさん:2017/04/19(水) 23:30:19.49 ID:hZKuXyWE.net
よく「何を作りたいかが大事」って言われるけどそうじゃないこともあるよね
俺なんか最初は「スーパーハカーかっけえ」くらいしか考えてなかったけどなぜかいまやWeb開発だ
みんながみんな最初から明確な目的持ってるわけじゃない

103 :デフォルトの名無しさん:2017/04/19(水) 23:46:23.05 ID:ekj+eUll.net
ExcelVBAで作ってるアプリケーションをウィンドウアプリケーションとして作りたくてあれこれ勉強してるけど、Java
のGUIがこれまた判らんというか^^;

目標はまだまだ遥か彼方ってな感じ

104 :デフォルトの名無しさん:2017/04/19(水) 23:50:56.30 ID:KzpInSVx.net
VBAだったらVBで作ればええやん。。。
C#でも良いけどさ。

105 :デフォルトの名無しさん:2017/04/20(木) 00:48:47.76 ID:l7lpSiQF.net
>>101
その品質で商品売るなよ犯罪だろ

106 :デフォルトの名無しさん:2017/04/20(木) 01:07:36.44 ID:FIxvesm0.net
勉強するにしても何か作るにしても情報は漁るんだし
今は情報過多な時代だし、質の良い情報を得るのはそれなりのスキルがいる状況になってる
その時に一番簡単に信ぴょう性の高い情報を得られるのが公式ドキュメントとリファレンス実装
ただこの辺の情報は文章が硬い事が多いから原典を多く参照している二次情報を探せばいいんじゃないかな

107 :101:2017/04/20(木) 05:46:25.48 ID:Lb1IHRyj.net
>>102
あぁ、ごめん。大きな目標を作れって話じゃない。
画面にボタンを配置する方法を学ぼうとするなら例えば電卓を作るとか、
ボタンを使ったソフトを何か考えろって事。覚えるだけじゃ何も作れるようにはならんのよ。
よく入門書とかで「ボタンを押すと表示が変わります」とかあるでしょ?
それを覚えたとして、それをどう使って何を作れる?
1つづつ順番に覚える学校の勉強みたいな事じゃ何も作れるようにはならんのよ。
君もそうだったはずだよ。上司から「コレ作れ」と言われて本読んだりしたろ?
その「コレ作れ」ってのが私の言う目的が先って事なのな。
何か無いかって聞いてる95氏は指導者が居ないか学生なんだろう。
何を覚えたらどんな事が出来るようになるのか、何から始めてどう進むべきか
そういう事が解らないはずだよ。指導者が居ないから自分で考える必要がある。
それに対して君は仕事の依頼という形で上司に上手く誘導してもらって
あんまり余計な事を覚えずともプログラミングが習得出来たんじゃないか?

108 :デフォルトの名無しさん:2017/04/20(木) 08:32:15.40 ID:ULVYgiZE.net
>>107
それこそ仕事で課題を振られた俺みたいに、>>95が何をしていいかわからないなら
適切な課題を振ってあげるのが指導者の努めだと思うけどね
(そもそも当時の上司の仕事の振り方は今考えても言語仕様も覚束ない初心者に
ノーヒントでやらせるものではなかったが…あのクソ野郎)
初心者に「自分で考えろ」はちと突き放しすきな気はするが、まぁここは初心者スレとはいえ所詮2ちゃんだからな
教師や上司レベルで親切にする必要もないか

109 :デフォルトの名無しさん:2017/04/20(木) 09:11:53.90 ID:5+bMAsvE.net
答えたい人が答えればいいだけだな

110 :デフォルトの名無しさん:2017/04/20(木) 19:35:53.47 ID:zzqpI3yw.net
わかりません教えてくださいじゃ仕事まわらないからな
独学する能力は必須と言ってもいい
最初から独学できないやつをスパッと切り捨てるのはありだよ
企業だってボランティアで素人を飼ってるわけじゃないんだからさ

111 :デフォルトの名無しさん:2017/04/20(木) 19:48:04.79 ID:14arbxYB.net
>>110
採用までに切れなかった人事が無能

112 :デフォルトの名無しさん:2017/04/20(木) 21:09:01.70 ID:you9TgiF.net
ここは質問スレなのに脱線し過ぎ
ちゃんと仕事できる人はわきまえてるはずだよね

113 :デフォルトの名無しさん:2017/04/21(金) 00:27:15.95 ID:W9vJ1k1y.net
>>95の人は何て質問すればよかったんですか?

114 :デフォルトの名無しさん:2017/04/21(金) 12:31:39.63 ID:O9u1h7rs.net
目的を書く

115 :デフォルトの名無しさん:2017/04/22(土) 20:11:13.16 ID:OyJbeS9D.net
開いているページ内で一度実行してからでないとCtrl+F11で実行のショットカットがうまく動作しません。
ショットカットキーは何か設定する必要があるんですか?

116 :デフォルトの名無しさん:2017/04/23(日) 12:59:19.13 ID:8bLn4k+p.net
プログラミングの勉強初めて数日
何か簡単なツールとか作ってみたいけど
題材として良いものありますか?

117 :デフォルトの名無しさん:2017/04/23(日) 16:25:01.37 ID:q6MqXCrn.net
>>116
まず、GUIにするかCUIにするか?
CUIは普通は画面についてあまり考えなくても良いので楽だ。

118 :デフォルトの名無しさん:2017/04/23(日) 18:34:09.06 ID:qqjyZhzJ.net
>>116
テキストに行番号つけて表示するコマンド作る。
自分のコード表示させてはニヨニヨ出来るのでオススメ。

119 :デフォルトの名無しさん:2017/04/23(日) 18:36:38.57 ID:ncn10vA7.net
>>116
自分でこんなのがあったらいいなって小物を幾つも作ると取っ掛かりやすいよ

120 :デフォルトの名無しさん:2017/04/23(日) 20:36:09.42 ID:7bZTt8wr.net
自分の場合はwikipediaのアルゴリズムで素数判定や素因数分解とか作ったなあ
bashのfactorよりかなり早いから普段から使えるし

121 :デフォルトの名無しさん:2017/04/24(月) 21:38:18.35 ID:b7o+AYSX.net
オーバーロードのメソッドで

/** method1 */
public static String hoge(String str) {
hoge(str, "hage");
}

/** method2 */
public static String hoge(String str, String hige) {
return hige + str;
}

というようなメソッドがあったとして
mehod1はmethod2を呼び出しているわけだが

こういう関係を表現するような日本語ってなんかないのかな
親とか兄弟とかそういう

122 :デフォルトの名無しさん:2017/04/24(月) 21:56:16.91 ID:LwZqUTHo.net
部分適用

123 :デフォルトの名無しさん:2017/04/26(水) 01:00:33.67 ID:DJoflXur.net
Java初心者なのですが
オラクルのJavaシルバー?の資格取得を目指そうと思ったら、どのぐらい勉強したらいけるのでしょうか
プログラミングの経験はPHPとRubyを齧ったぐらいです

124 :デフォルトの名無しさん:2017/04/26(水) 05:11:15.63 ID:fNfh3ik4.net
>>0121 たぶん貴方には気に入らない解答だと思うけど、
そのメソッドをC言語の関数に書き変えるなら可変長引数の関数になるよね。
int printf(const char *format,,,); こんな感じの。
何の為に言葉を必要としてるのか解らないけども、
要はオーバーロードの仕組みの説明を省こうとしてるのでは?
C言語にはオーバーロードが無くてぇ…という具合に説明するとか、
なにしろ話を聞く方からしたら解り辛い話をしようとしていそう。

125 :ich1:2017/04/26(水) 07:18:55.25 ID:KcpaNie5.net
https://goo.gl/Y4tSAe
これは嘘でしょ?
本当なら落ち込むわ。。

126 :デフォルトの名無しさん:2017/04/26(水) 08:46:31.56 ID:vzc1hE4D.net
>>123
人によるとしか…
参考書や問題集が売られているので読んで自分で考えよう

127 :デフォルトの名無しさん:2017/04/26(水) 16:36:59.72 ID:vjkzFaZx.net
>>121
義兄弟

128 :デフォルトの名無しさん:2017/04/26(水) 16:51:30.93 ID:/ZfpN6QH.net
イデワンに複数のクラスを書くことは可能でしょうか?
publicを外すことによって。

129 :デフォルトの名無しさん:2017/04/26(水) 17:46:51.25 ID:HrCTO57d.net
>>128
知らねえ。
てか、やってみればいいじゃねえか。

130 :デフォルトの名無しさん:2017/04/26(水) 18:04:36.33 ID:C1JG3n6h.net
>>128
ID:/ZfpN6QHはム板/マ板に住み着いている荒らしなのでスルーで
自分で調べりゃいいことを他人に丸投げして調べさせる、悪意ある質問を繰り返しています

131 :128:2017/04/26(水) 18:22:25.64 ID:/ZfpN6QH.net
>>130
荒らしではない。
悪意ある質問などしてない。

132 :デフォルトの名無しさん:2017/04/26(水) 19:08:26.13 ID:aOOyj4L0.net
>>131
まあとにかくやってみればわかるからやってみな。

133 :デフォルトの名無しさん:2017/04/26(水) 19:46:51.92 ID:VGUvgo7C.net
Ideoneの話だからここだとスレチじゃないかね
2chだと専門で扱ってる所無いかもしれんが、他で聞いた方が良いだろうな

134 :128:2017/04/26(水) 19:54:48.55 ID:/ZfpN6QH.net
>>129 >>132
ありがとうございました。

>>133
ソフトウェア板ですかね。

135 :128:2017/04/26(水) 20:17:14.84 ID:/ZfpN6QH.net
たびたび失礼します。

やってみたら出来ました!
https://ideone.com/V0Jd9h
繰り返しになりますが、アドバイスをくれた方ありがとうございます。

136 :デフォルトの名無しさん:2017/04/26(水) 20:23:09.70 ID:C1JG3n6h.net
>>135
どういたしまして

137 :デフォルトの名無しさん:2017/04/27(木) 12:34:34.72 ID:11f5ZnzK.net
テーブルでA1はHTML内で5に指定、A2に<input type ="number" value ="0">があって、A1セルとA2セルを足したい場合
rowsとcellsで指定するとA2がNaNになり結果が5NaNになるんですがどうしたらいいですか?
この場合inputの初期値0は効かないのでしょうか?A2をparseIntで囲ってもだめでした

138 :デフォルトの名無しさん:2017/04/27(木) 12:35:09.09 ID:11f5ZnzK.net
誤爆しましたすみません

139 :デフォルトの名無しさん:2017/04/27(木) 16:27:12.96 ID:KUrn7ZtR.net
Javaで、char型の変数に文字を(キーボードから)入力したいのですが、
Scannerクラスを使うとnextChar()が無いためうまくいきません。
next()やnextLine()だとコンパイルエラーになってしまいます。
どのようにすればよいでしょうか?

140 :デフォルトの名無しさん:2017/04/27(木) 17:06:15.78 ID:Zbny+f2I.net
>>139
今のJavaで積極的にcharを使う理由は全然ないんだけど、何か理由があるのかな
まあそれはともかくScannerから一度Stringで受けてからcharAt()すればいいんじゃね?

141 :139:2017/04/27(木) 18:34:31.17 ID:KUrn7ZtR.net
>>140
レスありがとうございます。
本の課題でchar型の入力を使うものがあったので。
charAt()メソッドを使ったら出来ました。
https://ideone.com/O96vZQ
ありがとうございました。

142 :デフォルトの名無しさん:2017/04/28(金) 03:06:25.55 ID:v9V+NcAE.net
>>141
君にこれをあげよう。
https://ideone.com/5vlm7f

143 :139:2017/04/28(金) 16:13:12.31 ID:OeyLlymU.net
>>142
ありがとうございます。
Scannerクラスより利用頻度は低くなると思いますが、
参考にしたいと思います。

144 :デフォルトの名無しさん:2017/04/28(金) 16:19:37.25 ID:pIHGdJ8Z.net
>>143
逆逆、Scannerの方が頻度低くなる

145 :139:2017/04/28(金) 16:52:55.66 ID:OeyLlymU.net
>>144
まだ詳しく理解してないですが、
char型を使う場合に、という意味ですかね。
今はScannerしか使ったことないので…。

146 :デフォルトの名無しさん:2017/04/28(金) 17:26:10.18 ID:pIHGdJ8Z.net
>>145
汎用性の高さって意味
ScannerよりもIOStreamの方がやってる内容が低レベル(機械に近い)ので見る機会も使う機会も多いよ

147 :139:2017/04/28(金) 17:53:15.48 ID:OeyLlymU.net
>>146
分かりました。覚えておきます。
ありがとうございます。

148 :デフォルトの名無しさん:2017/04/29(土) 15:38:04.47 ID:JW7PzOlh.net
cvsファイルで
1 田中 りんご
3 鈴木 みかん
6 齋藤 ヨーグルト
2 根元 パン
5 根岸 サラダ
4 佐藤 ご飯

こんな感じのやつをソートしたいです。
数字の列が 配列0
名前が 配列1
食べ物系が配列2に入ってます

cvsを読み込んで数字の列を新しい配列0〜5にいれてソートして表示するとこまではできたのですが
後ろの名前と食べ物が同時にソートされません。

やり方教えてください

149 :デフォルトの名無しさん:2017/04/29(土) 15:38:07.81 ID:hP9HIxoy.net
JavaFXでゲーム作りたいけど全然解説してる所ない…・・・
そんなに見放されてるもんなのか

150 :デフォルトの名無しさん:2017/04/29(土) 15:39:33.67 ID:JW7PzOlh.net
なんどもすみません
今は
1 田中 りんご
2 鈴木 みかん
3 齋藤 ヨーグルト
4 根元 パン
5 根岸 サラダ
6 佐藤 ご飯

みたいになってます。

151 :デフォルトの名無しさん:2017/04/29(土) 15:48:07.67 ID:nyANDfpK.net
別々の配列じゃ連動とか複雑過ぎ。
クラス作って、クラスの配列で読込やソートすれ。

152 :デフォルトの名無しさん:2017/04/29(土) 17:15:02.95 ID:HCCTcSxI.net
JavatrてCでいうとこの構造体って無いんすか?

153 :デフォルトの名無しさん:2017/04/29(土) 17:16:52.09 ID:6B/XobRt.net
>>148
インデックスをソートしちゃえばいいよ
https://paiza.io/projects/Brbmeg7M6bZOYPELm1TOMQ

データは列の集合、列は行の集合になっているけれども

テーブルのようなデータ扱うときは
データは行の集合、行は列の集合
にしたがいんじゃないかな

154 :デフォルトの名無しさん:2017/04/29(土) 21:02:24.15 ID:y1rMzUYG.net
そもそも構造体を拡張したのがクラスじゃないの?

155 :デフォルトの名無しさん:2017/04/29(土) 23:13:29.81 ID:nyANDfpK.net
C#には構造体在るけど、Javaは無い。
メソッド無いクラス作れば、事実上の構造体。

156 :デフォルトの名無しさん:2017/04/30(日) 02:15:39.83 ID:Dc5Ny+RF.net
Kotlinでは、年齢・名前で、ソートすると、
Alice, Kate, Dave, Tom の順になる

class Person(var age: Int, var name: String) { }

var list = mutableListOf<Person>();
list.add(Person(25, "Tom"));
list.add(Person(25, "Dave"));
list.add(Person(20, "Kate"));
list.add(Person(20, "Alice"));

val sortedList = list.sortedWith(compareBy({ it.age }, { it.name }));
sortedList.forEach{ println("${it.age} : ${it.name}"); }

157 :デフォルトの名無しさん:2017/04/30(日) 03:12:27.12 ID:Pd/tmEqA.net
>>150
それぞれの列を別々の配列に詰めたら行ごとの関連付けが面倒くさいから行単位で関連付けてから配列に突っ込むイメージの方が楽
具体的にはもう出てるけど各行を表すEntityクラス作って各行のデータ突っ込んだインスタンスを配列化する

158 :デフォルトの名無しさん:2017/04/30(日) 05:33:25.51 ID:0NS9QiRt.net
一括りのデータを扱う時はレコードというもので扱うんだよ
レコードには固定長レコードと可変長レコードがある
固定長レコードは各フィールドの長さが決まってるからランダムアクセスすることができる
対して可変長レコードはシーケンシャルアクセスしかできないという欠点がある

159 :デフォルトの名無しさん:2017/04/30(日) 05:34:31.46 ID:/xQtxfzV.net
TreeMap 使えばいいのでは?
TreeMap<Integer, String[]> のインスタンスに put な。

160 :デフォルトの名無しさん:2017/04/30(日) 05:36:54.83 ID:/xQtxfzV.net
あ、行ごと扱うならキーだけIntegerにして値はそのまんまStringで入れといてもできるな。

161 :デフォルトの名無しさん:2017/04/30(日) 05:50:10.68 ID:/xQtxfzV.net
できた。ソートをTreeMapに任せてCSVの中身を何も考えずに突っ込んでる版。
https://paiza.io/projects/El4IUBlhQJydI6F0wf6YAA

162 :デフォルトの名無しさん:2017/05/01(月) 14:58:41.66 ID:F35eYYLf.net
return文の考え方が今一分からないです

public class Main05_11{
private static int add(int x, int y){
return x + y;
}
public static void main(String[] args){
System.out.println("10+20=" + add(10, 20));
}
}

この時ってreturn x + y;は一体どこに値を返しているのですか?
int ans = x + y
return ansであれば、値をansに返していると分かるのですが
ansなしでよく分からない所に返しているのに動いているのが分からず……

163 :デフォルトの名無しさん:2017/05/01(月) 15:07:15.65 ID:UF+7Ud8a.net
>>162
return x + y;はx + yの値をメソッドの呼び出し元に返してる
return ans;はansの値をメソッドの呼び出し元に返してる

164 :デフォルトの名無しさん:2017/05/01(月) 15:36:26.65 ID:F35eYYLf.net
>>163
あ、どっちもメソッドの呼び出し元に返してるんですね
根本的に認識を間違えてたみたいです、ありがとうございます

165 :デフォルトの名無しさん:2017/05/04(木) 03:35:25.45 ID:gAUNCpWB.net
paizaでfor文で解ける問題をforEachで解いてみたら軽く2倍以上の時間がかかったのですが効率悪くないですか?
使い道あるんですかね

166 :デフォルトの名無しさん:2017/05/04(木) 03:57:25.21 ID:0GlJDnqX.net
Java随分離れたけど、forEachって何。
メソッド?
Javaのforeachって拡張for文だったはずだが。

167 :デフォルトの名無しさん:2017/05/04(木) 04:52:18.46 ID:4JL58KAn.net
foreachは生えてるぞ。
list.forEach(System.out::println);
とか。拡張forにしろイテレータ使うと要素数によっては処理時間に差がつくな。

168 :デフォルトの名無しさん:2017/05/04(木) 05:13:05.21 ID:0GlJDnqX.net
ふむふむ。
Linqっぽいの付いたのね。
その用途だとmapとかの方がらしいメソッド名なんだが。

169 :デフォルトの名無しさん:2017/05/04(木) 08:04:03.31 ID:dLBAq4Dp.net
この文脈だと処理時間が2倍なのか解答時間が2倍なのか

170 :デフォルトの名無しさん:2017/05/04(木) 08:29:19.35 ID:BU79yY+V.net
>>165
LinkedListで使ってみたら?

171 :デフォルトの名無しさん:2017/05/04(木) 11:49:23.38 ID:p0RzDybu.net
これだから理系は付き合いきれん
機械の方がまだ融通が利くわ

172 :デフォルトの名無しさん:2017/05/04(木) 13:22:46.77 ID:qYtoqfij.net
>>168
mapは変換のインタフェースとして別であるよ
forEachはstreamの終端処理だよ

173 :デフォルトの名無しさん:2017/05/04(木) 14:52:50.80 ID:hrGLq/bC.net
今扱ってるシステムがJava7だからstreamとかラムダ式とか使わないけど
本読んでもよくわからん……

174 :デフォルトの名無しさん:2017/05/04(木) 15:36:20.32 ID:EbCQq7yq.net
あれ?Java7にはないんだっけ?

175 :デフォルトの名無しさん:2017/05/04(木) 15:58:11.88 ID:hrGLq/bC.net
あれ?Java8からじゃなかったっけ?

176 :デフォルトの名無しさん:2017/05/04(木) 16:07:35.97 ID:5jh0epYp.net
streamなんてSQLとか扱える思考回路があれば使えるぞ

177 :デフォルトの名無しさん:2017/05/04(木) 19:19:52.86 ID:YNozeJnq.net
皆最初どうやってjavaを勉強したの?
自分今基本情報処理試験をあとはプログラミングのところだけっていうところまでやったのだけど、カプセル化とかモジュール分けとかオブジェクト指向とかそういう考え方があるんだってういのはわかったんだけど
いざ自分でnetbeansのjavaファイルで書こうとしたらまずはoutprintしてみようと思ったら早速エラーが出てエラー原因が何だか全く分からない
英語の基本文法みたいにそういうの知らないと厳しい気がするのだが
皆の初学の経験を教えてほしい、できれば独学でやった人から聞きたい
あと、何か作ろうって思ったときはフローチャート作った方がいい?

178 :デフォルトの名無しさん:2017/05/04(木) 19:43:35.61 ID:mK1iuMfc.net
>>177
俺は全て独学だがまずはC言語、C++、C#の順に勉強する
するとJavaを半日程度で理解できる下地が出来上がる
何事も基本が大事だ
基本ができてればJavaなどたやすく扱えるし基本ができてなければどんな勉強をしても身につかない
物事には順番がありそれはお手軽に身につくものではない

179 :デフォルトの名無しさん:2017/05/04(木) 20:04:55.79 ID:u6JIByox.net
>>177
ひたすらエラーメッセージを読む
エラーメッセージをググる
「java ○○」でググる
「java ○○とは」でググる
「java ○○ できない」でググる
「java ○○ するには」でググる
エラーメッセージで知らない英単語があれば意味をググってからもう一度読む
答えが書いてあるっぽい掲示板が英語で書かれてても臆せず読む

それだけ

180 :デフォルトの名無しさん:2017/05/04(木) 20:07:29.10 ID:mK1iuMfc.net
>>179
こういう知識を啄ばむような雑な勉強方法はダメ
スカスカの知識しか身につかない

181 :デフォルトの名無しさん:2017/05/04(木) 20:11:19.54 ID:TB6ujr0/.net
>>177
まずは入門書1冊買ってきてそれに合わせて勉強するしかない
エラーの原因とかも正しい書き方自体がまだ分かって無い状態だし

後はエラーが出たらググるか
ソースコードどっかに置くかかここに書いて聞くか

182 :デフォルトの名無しさん:2017/05/04(木) 20:30:41.25 ID:rPmF/fmP.net
>>180
体系的な知識を身につけるのは大前提として、エラー対処の知識が要らないわけないでしょう
少なくともJavaを勉強するために先にC#を学ぶなんてトンチンカンなことしてる暇があったらその時間でJavaの
知識を仕入れるべき

183 :デフォルトの名無しさん:2017/05/04(木) 20:49:08.82 ID:Z6thB1wv.net
スッキリわかるJava(という書籍)では、コンストラクタやインスタンスメソッドに
publicが付いてないのですが、基本的に付けない方針で問題無いでしょうか?

184 :デフォルトの名無しさん:2017/05/04(木) 20:59:23.90 ID:0H6f0r38.net
>>183
ここに詳しく書いてある
http://msugai.fc2web.com/java/permitmod.html
まともにコード書きたいならパッケージの外から呼び出せるかとか一々考えながら書くといいかな(おすすめしないが実を言うとリフレクションで呼び出せちゃうけど)

185 :デフォルトの名無しさん:2017/05/04(木) 21:14:39.50 ID:mK1iuMfc.net
>>182
トンチンカンだとおもっているならその程度だよ君は
C、C++を知らないプログラマなど潜りの素人だし
優れた言語設計のC#をJavaより先に学ぶメリットは大きい
そしてこれらをこなせばJavaも自然とできるようになっている
したがってJavaなんぞは後回しで良い

186 :デフォルトの名無しさん:2017/05/04(木) 21:23:59.84 ID:qYtoqfij.net
>>185
C、C++、C#を勉強するのにかかる時間はどれくらい?
それはJavaだけを勉強したときよりも短くなるの?

187 :デフォルトの名無しさん:2017/05/04(木) 21:32:52.04 ID:mK1iuMfc.net
>>186
Javaだけやって同じレベルになるより遥かに早いよ
初心者から初めて金を貰っても許されるレベルになるまで1年といったところだな
Javaだけだと10年経ってもその領域に届かないクズが少なくないということはこの業界の先人たちが証明している
急がば回れというやつだ

188 :デフォルトの名無しさん:2017/05/04(木) 21:35:23.59 ID:rPmF/fmP.net
スッキリ君といいちょいちょい変なのが沸くスレだな

189 :デフォルトの名無しさん:2017/05/04(木) 21:37:31.74 ID:g1QlM0ze.net
C#を覚えるとデリゲートくれLINQくれプロパティくれ〜ってなるのでよくない

190 :デフォルトの名無しさん:2017/05/04(木) 21:40:59.09 ID:qYtoqfij.net
>>187
C、C++、C#を勉強してJavaを勉強して到達するレベルを
基準にしたらそれはそうなると思うんだよ

Javaを勉強したいというときに
Javaだけを勉強するのとどちらが効率いいですか?ってことなので
Javaだけを基準にした場合、到達速度っていうのは変わってくるんじゃない?

いろんな言語を1年で齧って回るよりはJavaを勉強したがいんじゃないかな

191 :デフォルトの名無しさん:2017/05/04(木) 21:47:21.88 ID:qYtoqfij.net
>>177
慣れることが大事なのでサンプルコードを書きまくるのがいいと思う

おすすめは↓の2冊

10日でおぼえるJava入門教室
https://www.amazon.co.jp/dp/4798120197/

新・明解Java入門 (明解シリーズ)
https://www.amazon.co.jp/dp/4797387602/

10日でおぼえる〜は1日目はこれみたいに区切りがいいので
やりやすいかと

192 :デフォルトの名無しさん:2017/05/04(木) 21:47:36.98 ID:GHkN69u9.net
>>177
元々C言語は知っていて仕事でもずっと使ってた。で、C++が流行り出したので少しは学習したが仕事で本格的に使うまでには至らなかった。
その後かなり時間が経ってからJavaが流行り出して、そこで入門書読んでだいたいわかった感じ。これが20年ぐらい前の話だ。
しかし今まで仕事はずっとC言語ばかりでJavaを仕事で使うことはなかった。Linuxのサーバ側のCで作られたプログラムにずっと関わってたからだ。

193 :デフォルトの名無しさん:2017/05/04(木) 21:51:14.78 ID:4KUdSbXO.net
>>173
流れを感じるのじゃ

194 :デフォルトの名無しさん:2017/05/04(木) 22:01:25.36 ID:mK1iuMfc.net
>>190
Javaにはろくな参考書がないからね
良書の揃ってるCファミリとC#の方が早く深く学べる
そうして土台が出来上がればじゃあJavaの場合はどうなのという事を覚えるのは実に容易い
結果的にJavaだけを学ぶ場合よりも早く深くJavaを知ることができる

195 :デフォルトの名無しさん:2017/05/04(木) 22:06:59.52 ID:qYtoqfij.net
>>194
JavaとC#は似てるから
JavaがわかるようになればC#もわかるかと

深くJavaを知るっていうのはつまりC、C++、C#を勉強して到達するレベルの話だよね
そうでなくてJavaを勉強して到達するレベルを基準にした場合
Javaを勉強するのが近道だと思わない?

196 :デフォルトの名無しさん:2017/05/04(木) 22:13:01.02 ID:qYtoqfij.net
Javaがわかるようになればプログラムの考え方も身についてるから
CやC#もすっと入ってくるんじゃないかな
C++は人類にはまだ早いと思う

197 :デフォルトの名無しさん:2017/05/04(木) 22:26:18.44 ID:hGwzsYkf.net
むしろJava分かったから、C/C++のスタック/ヒープの意味(newするクラスとしないクラスの違い)や、C++特有のフレンドクラスが分かった。
順番はどうでも良いけど、Javaとは別にCは学んでおいた方がいい。

198 :デフォルトの名無しさん:2017/05/04(木) 22:30:38.02 ID:4KUdSbXO.net
プログラマーたるもの手続き型、オブジェクト指向型、関数型に属する言語を最低でも一つずつは習得しておかんとね
そして関数型に惚れ込んでJavaでもラムダ計算やカリー化をバシバシ使い周りに疎まれる存在となるのだ

199 :デフォルトの名無しさん:2017/05/04(木) 22:38:29.99 ID:TB6ujr0/.net
ruby→javaの順だけど
オブジェクト指向の理解はし易くなった感
javaだと思いっきりソースコード変わるから実感じやすい

200 :デフォルトの名無しさん:2017/05/04(木) 22:41:33.02 ID:g1QlM0ze.net
Javaでラムダ計算はつらいとか考えてたら気がついたらマシンにClojureが導入されてる

201 :デフォルトの名無しさん:2017/05/04(木) 23:25:17.13 ID:6JYEyXx+.net
int型配列の最頻値を求めるメソッドは用意されてないのでしょうか?

202 :デフォルトの名無しさん:2017/05/04(木) 23:38:27.31 ID:qYtoqfij.net
>>201
標準ライブラリにはないけれども、大丈夫っしょ、余裕っしょ、できるっしょ

203 :183:2017/05/04(木) 23:40:33.61 ID:Z6thB1wv.net
>>184
ありがとうございます。
よく見てみたいと思います。

204 :デフォルトの名無しさん:2017/05/05(金) 00:12:55.97 ID:YKLEnk0e.net
>>90
ここに書いてある

スッキリわかる Java入門 第2版、2014
まずこの本を3回読んで、オブジェクト指向をみっちりと学ぶ

この本が、すべての言語の基本。
その後、好きな言語を勉強すればいい

205 :183:2017/05/05(金) 01:17:39.61 ID:GcsXwLgt.net
>>204
その本悪くないと思うし、あんまりケチつけたくないけど、
Scannerクラスの使い方が詳しく載ってなかった。
(インスタンス化についての記述が無い)
Randomクラスも同様。
過信は禁物か。

206 :デフォルトの名無しさん:2017/05/05(金) 01:23:45.78 ID:ecYRcjUo.net
>>205
その辺詳しく書いてある本を知りたいわ
Javaは本多いけど、どのレベルまで書いてあるか全然分からん

207 :デフォルトの名無しさん:2017/05/05(金) 01:24:59.61 ID:jRdxjTk1.net
ここからJavaのほとんどを学んだ
http://www.ne.jp/asahi/hishidama/home/tech/java/index.html

208 :デフォルトの名無しさん:2017/05/05(金) 01:30:04.44 ID:yjG7qa8A.net
>>205
>>31

209 :デフォルトの名無しさん:2017/05/05(金) 02:03:32.40 ID:Pxg1OvaW.net
>>207
こういうサイトがある時何から学べばいいの?
俺みたいなちんぷんかんぷんだと上から全て順に読んで、わからない言葉があると調べて、それでも概念的なものがよくわからなくてとりあえずわかったふりしたまま先に進んで結果あまり頭に入ってなかったっていうのがよくある失敗パターンなのだが

210 :スッキリ厨:2017/05/05(金) 02:04:46.46 ID:YKLEnk0e.net
「たのしいRuby」など普通の本では、オブジェクト指向の説明は、数十ページ

でも「スッキリわかる Java入門」では、250ページもある。
つまり、Javaの本と言うよりも、オブジェクト指向の本なんだよ。
そして、すべての言語の基礎になる

だから、この本は、歴史的な本と言われるわけ。
これ以前には、オブジェクト指向を勉強する、簡単な本は無かった

未だに外国では、この本が無いから、
オブジェクト指向を勉強するのに、四苦八苦している

211 :デフォルトの名無しさん:2017/05/05(金) 02:06:41.17 ID:Pxg1OvaW.net
あと、javaを実行する時とJSPを実行する時、それぞれpublic class{とか<%とか必要だと思うんだけどこれがないとコンピュータが処理であると認識しないっていうこと?

それとprivate class とpublic class の違いもイマイチわからぬ
Privateはそのクラス内でしか呼び出せないっていうけど、そもそも呼び出すってなんぞや

212 :デフォルトの名無しさん:2017/05/05(金) 02:21:57.70 ID:Pxg1OvaW.net
>>207
もう一個質問お願いします
extends 抽象クラス
その後に具体的な処理を書くって書いてあるけど抽象クラスを定義する意味ってあるの?
具体的な内容を記述するならそもそも抽象クラスを定義する必要あるのかなって
抽象クラスとかは使い方もわからないしそもそもなんでそういう考え方をするのかも理解ができない
何が言いたいかというと例えば車っていう抽象クラスがあったとしてそれは排気量を記述しなければいけない、メソッドとして走る機能を持つって事として

後で具象化クラスでextends車で抽象クラスを呼び出した時に結局排気量=なんたら、とかを記述しないといけないじゃない
だから、そういう制約的な意味しかないんじゃないかなと
プログラミングにおいて便利にするためにそういう事をしてるはずなのに、その利便性がイマイチ掴めないのだ

今は繰り返し処理とかつかって素数を求めるプログラムを作るっていう事を書いてるレベルだから、もっとゲーム的な方に行くとその意味がはっきりするのかね?

213 :デフォルトの名無しさん:2017/05/05(金) 02:36:54.89 ID:Y8XbhYBn.net
もうはっきり言ってしまうとプログラミング初心者がオブジェクト指向型言語なんてものから始めるべきじゃないんですよ
たかだかHelloWorldやFizzBuzzするためになんでクラスやアクセス修飾子を気にせねばならんのだと
それでもどうしてもJavaから覚えたいなら身の丈に合わない疑問は飲み込んでひたすら前に進むしかないのですよ

214 :デフォルトの名無しさん:2017/05/05(金) 02:40:44.53 ID:iQB12R96.net
つっても、もう世に出てる言語の殆どはLL含めオブジェクト指向言語だろ。

。。。関数型言語の世界へようこそ?

215 :デフォルトの名無しさん:2017/05/05(金) 02:44:11.57 ID:jRdxjTk1.net
>>212
例えばその走るって動作には、燃料と空気を供給してエンジンを作動させて動力を生み出すという過程があって、これは二輪でも四輪でも共通である(現実にはエンジンごとに違うがここでは無視)
二輪と四輪のクラスを作るとしてそのベースになる車というインターフェースを定義するとして、両方に同じことを書くことになって、それは無駄だからその部分を抽象クラスとしてまとめてしまおうという考え
間違ってたらスマソ

216 :デフォルトの名無しさん:2017/05/05(金) 02:50:09.25 ID:TDjvniVu.net
>>210
>未だに外国では、この本が無いから、
>オブジェクト指向を勉強するのに、四苦八苦している

それはないww
そこまで書くとステマかと思うわ

217 :デフォルトの名無しさん:2017/05/05(金) 02:54:03.98 ID:Pxg1OvaW.net
>>212
そういう前提があるっていう事でしょ?でも実際処理で車のエンジンの仕組みは重要じゃなくてどのようにそれらの車が動くかが重要になるのじゃない?
マニュアル車ならクラッチ操作、オートマならレンジチェンジ(でいいんだっけ)などの具体的な操作を個々に記述して行くと思うんだけど共通の仕組みそのものを定義する事は便利さには繋がっていないんじゃないかなって
確かに車はエンジンがないと動かないけど、プログラム上では(ってかユーザーにとっては)エンジンがあるかないかなんて関係が無いんじゃないの?
定義しないといけないっていう具体的な例があったら教えて欲しい

218 :デフォルトの名無しさん:2017/05/05(金) 02:59:46.55 ID:Pxg1OvaW.net
窓はガラスでできている。そのガラスを使って窓を開け作った上でこっちに押したら閉まる、こっちに押したら開くなどのことが出来るようになる
だからまずはガラスでできているという共通前提定義が必要となる。それはわかる
でも実際プログラム上でそれがどう有効なのかがわからない
人間クラスに名前はまず名前、年齢が必要、その上で個々の動作をして行くわけだけど定義してそのクラスを呼び出しても結局年齢とかは手書きで書いて行くわけじゃん

例えばどういう時にオブジェクト指向を使ってるのかとかあったら教えて欲しい、ゲームとかでもいいので

219 :デフォルトの名無しさん:2017/05/05(金) 03:13:17.49 ID:jRdxjTk1.net
確かに個々の動作を書くのには抽象クラスは全く役に立たないよ、ただプログラムを動かすにはその外から見て重要ではない部分が必要なわけで、その部分が共通だとコピペするのは簡単だが後々の修正が大変、だからまとめておくと

220 :デフォルトの名無しさん:2017/05/05(金) 03:20:10.72 ID:Pxg1OvaW.net
>>219
具体的にプログラムの世界だと何をまとめるの?実行するための記述以外にプログラムそのものを動かすために必要なものの具体例がわからないのだが

221 :デフォルトの名無しさん:2017/05/05(金) 03:37:46.29 ID:jRdxjTk1.net
JavaにはListって可変長の配列を作るためのインターフェースがあるけど
http://docs.oracle.com/javase/jp/7/api/java/util/List.html
これだけのメソッドを実装しろと要求してくる
そしてこれを使って中身の違う実装を作るときに全部を何度も実装するのは骨が折れる作業だよね
そこでAll系のメソッド等他のメソッド呼び出しで書けるものを抽象クラスに書いておけば実際に実装するときに書かなくてよくなる(効率化したいとかだと書いてもよい)
折角クラスライブラリのソースあるんだしAbstractList辺りのソース見てみるといいよ

222 :デフォルトの名無しさん:2017/05/05(金) 03:43:35.59 ID:jRdxjTk1.net
分かりにくい説明しかできなくてすまんの、多分現実の物体で考えずにプログラムとして直接考えるのが一番の近道じゃないかな

223 :デフォルトの名無しさん:2017/05/05(金) 03:50:24.78 ID:TDjvniVu.net
>>220
たとえば共通の手順とか

テンプレートメソッドと呼ばれるパターンの例(HeadFirstデザインパターンより)
http://i.imgur.com/4m0ZWv7.png
コーヒーでも紅茶でも抽象化した手順は同じたし
お湯沸かしたりカップに注ぐ部分は全く同じ

今はJavaでも抽象クラスとは違う方法でも実装できるけど
こういう基礎の理解は必要

224 :デフォルトの名無しさん:2017/05/05(金) 04:16:15.80 ID:JPrvtXpw.net
ゲームのマップを作ろうと考えています。
マップ画像を表示させ、マップ上の任意の部屋をクリックすると、その場所の名前(ロビー、キッチン、ベッドルーム、など)を表示するようにしたいです。
この処理を実装するには、どのような方法がスマートでしょうか?
各部屋の形は四角形ではなく、円や三角形など複雑な形をしているので、単純に四隅の座標を部屋名とともに配列に格納しておき、クリックした座標を内部に含むものをfor文で回して探索する・・・という方法は難しいです。
どうかお力添えください。

225 :スッキリ厨:2017/05/05(金) 05:14:23.88 ID:YKLEnk0e.net
ゲームは、オブジェクト指向の最高峰

キャラクタークラスから、勇者・魔法使いなどを、
モンスタークラスから、スライム・ゾンビなどを派生させる

is-a, has-a とか勉強すれば?
消防車は車の一種。is-a。継承
車はハンドルを持っている。has-a。部品

「スッキリわかる Java入門」では、オブジェクト指向の説明が、250ページもある。
ここ20年間、世界中の中年のCプログラマーが、皆、C++へ移行できずに撃沈している

オブジェクト指向がどれぐらい難しいか、分かるでしょ?
だから、スッキリが日本中に、革命を起こした

226 :デフォルトの名無しさん:2017/05/05(金) 05:22:28.10 ID:YKLEnk0e.net
>>224
java.awt.Shape interfaceで定義される、containsメソッドは、
指定された点が、図形の境界の内側にあるか否かを判定する

「java 図形 内側」などで検索!

227 :デフォルトの名無しさん:2017/05/05(金) 12:17:52.64 ID:Oxs8iPV6.net
超単純にやるなら
・種別(矩形、三角形、円)
・パラメータ(最大4つ)
 頂点の絶対座標もしくは円の中心座標&半径

とやって判定時などに種別に応じて処理を分ける

それと一つの部屋?を分割して単純な図形の組み合わせにする
回転が必要なら矩形を2つの三角形に変える

スクロールとか必要ならもっと面倒だけど
プロパティかパラメータを増やせばなんとかなるべ

228 :デフォルトの名無しさん:2017/05/05(金) 12:24:15.13 ID:jsHCnOkz.net
Javaプログラマはオブジェクト指向をよくわかってない人が多い
C#プログラマはみんなよくわかってる
C#マイクロソフト公式の参考書など良書が揃っているからね
Javaはろくな本がない
初心者をごまかしてわかった気にさせるような本ばかりだ

229 :デフォルトの名無しさん:2017/05/05(金) 12:42:33.54 ID:8b9qfJY2.net
それってあなたの感想ですよね?
なんかそういうデータあるんですか?

230 :デフォルトの名無しさん:2017/05/05(金) 12:50:52.07 ID:XP+Q0OKG.net
>>229
会社にあります

231 :デフォルトの名無しさん:2017/05/05(金) 12:55:46.33 ID:Dvx8ftQc.net
いちいち部屋分割して図形の頂点座標測ったりとか種別とかやってられないでしょ
元のマップとは別に、それぞれ部屋ごとに色で塗りつぶしたマップを用意して裏で読み込ませといて、クリックした地点のカラーコード読んで色に対応した部屋名を取り出す
ってのを考えたんだけどどうよ

232 :デフォルトの名無しさん:2017/05/05(金) 13:14:01.06 ID:8b9qfJY2.net
>>230
それ「宿題家に忘れました」と同レベルじゃないですかー

233 :デフォルトの名無しさん:2017/05/05(金) 13:22:43.96 ID:XP+Q0OKG.net
>>232
バカなの?
宿題と同じ感覚で会社のデータ持ち出しちゃうんだ君は

234 :デフォルトの名無しさん:2017/05/05(金) 13:28:33.31 ID:8b9qfJY2.net
>>233
説得力が皆無だからそれ以上非論理的な話をするのはやめとけと言っているだけですよ
データを他人に見せられない主張に意味などない
まぁ所詮2ちゃんだし、それでもわめきたければ好きにすれば?

235 :デフォルトの名無しさん:2017/05/05(金) 13:29:35.85 ID:Up1lvbHo.net
まぁポンコツな会社にはポンコツが集まるって言われてるし

236 :デフォルトの名無しさん:2017/05/05(金) 13:41:46.76 ID:XP+Q0OKG.net
>>234
そもそも君を説得する必要もないしね
事実は事実として変わらないことだから君がどう思おうと何の影響もない

237 :デフォルトの名無しさん:2017/05/05(金) 13:49:41.18 ID:n4hNDFR+.net
会社にありますはガイジすぎる
そんなん通るならC#プログラマーは全員屑!証拠は俺の会社にある!

238 :デフォルトの名無しさん:2017/05/05(金) 14:21:00.68 ID:XP+Q0OKG.net
というか俺の会社じゃなくてもどの会社にでもある
過去の案件を分析すれば答えは出るよ
Javaがいかに失敗を生み出してきたか数字ではっきりと出てくる
GW明けにでも調べてみるといい

239 :デフォルトの名無しさん:2017/05/05(金) 14:28:17.47 ID:xfO5LNpr.net
今から勉強しようとしてる人向けの話じゃなかったのか?
今から勉強しようとしてるのなんて学生に決まってるんだから会社の資料は見れないでしょ……
まさか社会人にもなってやっとJava勉強しようとしてる意識低い系の話なのか?

240 :デフォルトの名無しさん:2017/05/05(金) 14:30:45.16 ID:EB13pOeh.net
去年調べた結果だと、Javaの方がC#より三倍生産性が良かったよ。
今年は知らんが、多分同じじゃない?

241 :デフォルトの名無しさん:2017/05/05(金) 14:35:53.90 ID:XP+Q0OKG.net
>>239
Javaはそういう意識低い人ばかり

242 :デフォルトの名無しさん:2017/05/05(金) 16:17:42.92 ID:Pxg1OvaW.net
public class void String NewClass() {

System.out,.print ("hello");

}

実行しようとしてもエラーが出る 
identifierがありません。
全く持って意味が分からない…

243 :デフォルトの名無しさん:2017/05/05(金) 16:28:41.11 ID:8b9qfJY2.net
おまじないがおかしいよ
ますおまじないをそらで書けるようになってから応用しなさい
あとoutの後ろの,はいらん

244 :デフォルトの名無しさん:2017/05/05(金) 16:40:39.14 ID:Pxg1OvaW.net
>>242に関しては自己解決しました。
もう一つ質問だけどとりあえずネット上にあるサンプルを使ってコードを書きまくってみようと思ってるのだけどなにかコードを記述したいって思ったときに
public static void とかprivateとかいろいろあると思うんだけど何を基準に選んだんラいいの?
あと、いまやっとこさこれが書けたんだけどこの言葉から記号一つ一つの意味まで全部把握しておいた方がいい?
public class NewClass{
public static void main(String args[])
{
System.out.print("表示できるか??");
}


}

main このmainっていうのはクラス名?あとどこかでclassは一つのファイルに一つまでしか書けないって書いてあったけどこれにはclassが入ってないけど例えばオブジェクト指向で新しいクラスを作りたいってなった時に
classはファイル名と一緒でなければいけないって書いてあったのだけど、どうやって考えたらいいの?

245 :デフォルトの名無しさん:2017/05/05(金) 16:48:22.02 ID:Pxg1OvaW.net
多重に質問申し訳ない
言葉を覚えての色々な事を質問して回る子供だと思って聞いてほしい
javaの構文を覚えるときは皆一つの熟語として覚えてる?
例えばこういうときは
public static void main(String args[]){  を使うんだ、みたいなものを一つひとつの意味を考えないで丸ごと覚えているイメージ?
あとついでにもう一つ頼む、args[]の[]は配列を表すものだったと思うんだけどよく見るこのコードはなんで配列を指定しているの?

246 :デフォルトの名無しさん:2017/05/05(金) 17:03:12.00 ID:Pxg1OvaW.net
お願いします
今まで出力はコンソール上またはjspをつかってweb上だけに計算結果を出力させてたんだけどより実践的にwebにつながなくてもコンピュータ上だけで処理させるには何が必要になってくるの?
あとテキストボックスとかラジオボタンとか使いたいのだけどその際にはimportとか必要になってくる?

247 :デフォルトの名無しさん:2017/05/05(金) 17:06:37.66 ID:UN44kkRF.net
全てに意味があるんだから全て覚えなさい

「ファイル名 class」
「mainメソッド」
「アクセス修飾子」
「staticメソッド」
「引数」
「戻り値」
「戻り値の型」
「コマンドライン引数」

このあたりで調べなさい
全部まともに答えるには金取らんと割に合わんレベルだよそれ

248 :デフォルトの名無しさん:2017/05/05(金) 17:06:41.65 ID:SKOR9dHG.net
public
static
void
main()
String args[]
{
それぞれの意味を覚えてる

args[]は実行時の引数の格納するから
javac test.javaでコンパイルした場合
実行時にjava test aaaとするとarg[]にaaaも含まれる

コントロールはjava コントロール名とかで調べる

249 :デフォルトの名無しさん:2017/05/05(金) 17:14:34.88 ID:Up1lvbHo.net
とりあえずスッキリJava読んだほうがよくね

250 :デフォルトの名無しさん:2017/05/05(金) 17:26:34.34 ID:G0OfeBgr.net
個人的には最初から1から10まで理解しようとしたら
頭がパンクするだろうから、ある程度は絞ったほうが良い

@public class Tes {
A public static void main(String[] args) {
B System.out.println("hello java");
}
}

まずは
@:ファイル名とクラス名が同じじゃないと、Javaのプログラムって動かないんだなーぐらいは覚える
A:とりあえず動かすにはこの魔法の呪文が必要なんだぐらいしておく
B:文字列出力するのはこう書くのかー
ぐらいが理解できれば次に進んで良いと思うわ
最終的にはpublic、static、void、stringとかの意味も理解する必要はあるけど
それを利用する(あるいは目的を持って変更する)場面を知ってからじゃないと、結局分からず仕舞いで終わるだろうし

上で書いたソースしか知らない段階でvoid調べて、「何も値を返さない時はvoid型を指定する」とか見ても
理解できるどころか「値を返す、返さないってなんやねん!」ってなって意味が無い

251 :デフォルトの名無しさん:2017/05/05(金) 17:43:33.01 ID:RNJ7gaAH.net
どこから突っ込んでいいのか。。。
ここで質問するより入門書読むなり、入門サイト読むなりした方が良いよ。
分からないことが整理出来てから質問しなさい。
そこまで何も知らない状態で質問されても、入門書くらい読んでからにしろよと呆れられるだけ。

252 :デフォルトの名無しさん:2017/05/05(金) 20:46:02.93 ID:Pxg1OvaW.net
わかりました。
じゃあすっきりJAVA入門ていうの買ってみることにします。
ちなみにこれをやれば基本的な文法は理解できるようになりますか?
自分は今コーディングするたびに〜〜classにはメソッドがありませんとか型の開始が不正ですとかidentifierがありませんとか
そういうエラーメッセージに苦しめられてる状態ですけどそういった部分も解決できるでしょうか?
それといろいろなコーディングの例ものっていたりするでしょうか?
とりあえず今やりたい事としてはアプリ上にテキストボックスなどを置いてユーザーからの入力に対して対応できるプログラムが出来ればいいなと思ってます
つまり、今は素数一覧判定するプログラムを作ってあるんですけど内部で数値を書いてファイルを実行して初めて表示されるのだけど、コードの内部を知らない人に使ってもらえるようなアプリを作れるようになるかというところです

自分全くの初心者なのでわかりやすさと、どのレベルまで行けるかっていうのを教えてもらえると嬉しいです、それと、第二版と二種類あるみたいだけど安い方を中古で買えば問題ないですか?

253 :デフォルトの名無しさん:2017/05/05(金) 20:47:26.36 ID:3kP3AuyS.net
GWでJava勉強してるやつ、進捗どう?
手遅れ感感じた?

254 :デフォルトの名無しさん:2017/05/05(金) 20:50:14.80 ID:jRdxjTk1.net
>>252
メモ帳か何かでコード書いてるのだとしたらIntelliJ使ってみるといいかもな

255 :デフォルトの名無しさん:2017/05/05(金) 20:59:16.11 ID:Pxg1OvaW.net
>254
netbeansでやってますよ

256 :デフォルトの名無しさん:2017/05/05(金) 21:07:56.45 ID:MjMW9HuU.net
この年でJavaとか、他にもっとやることあるだろ

257 :デフォルトの名無しさん:2017/05/05(金) 21:22:34.99 ID:RNJ7gaAH.net
>>252
mainメソッドねーよとか、正しいmainメソッドの書き方じゃねーよって怒られてるだけ。

入門すれば何怒られてたのかも分かるから。

258 :デフォルトの名無しさん:2017/05/05(金) 21:31:22.44 ID:RNJ7gaAH.net
入門書は大抵古い面倒な書き方->新しい楽な書き方の順で紹介する。
なので長い目で見たら新しい入門書のが良い。
到達出来るレベルは楽な文法覚えてるだけで何か作れる訳じゃ無い。
どっち読んでも大差はない。

英語覚えたから英語ペラペラか?
言語ってのは使ってナンボ。

入門したら、簡単なので良いからさっさと何か作る。

259 :デフォルトの名無しさん:2017/05/05(金) 21:51:52.06 ID:Pxg1OvaW.net
>>258
なるほど

つまり作るための下地は作れると考えて大丈夫?

260 :デフォルトの名無しさん:2017/05/05(金) 21:55:05.15 ID:RNJ7gaAH.net
うむ。
最低限はね。
複雑なのはWebで本家のドキュメント眺めながらとか。
あなたのアイデア次第の部分のが多い。
作り方を思いつけるか。
調べられるか。
知ってるか。

261 :デフォルトの名無しさん:2017/05/05(金) 22:15:47.72 ID:Pxg1OvaW.net
>>260
発想の部分は好きだから多分いけると思う
むしろ色々な事をどんどん広げて行きたいと思う
事務職でマクロやってた時も結構複雑な処理をネットで調べたりして実装してた
知ってるか
っていうところがちょっと不安だけど大丈夫かな
でもとりあえず「オブジェクト指向 例 」「メソッドとは」「クラス 定義 必要性」とかわからないままを永遠にループ検索することはとりあえずなくなりそうでよかった
早くAmazonからこないかな

262 :デフォルトの名無しさん:2017/05/05(金) 22:48:55.45 ID:G0OfeBgr.net
しかしJavaで書籍というか入門書無しで勉強する人おるんだな
大体はスッキリの入門、やさしいJava、明解のどれかから手を付けて始める印象が多い

というかせっかく入門書一杯あるんだから利用しない手はないべ

263 :デフォルトの名無しさん:2017/05/05(金) 22:49:01.87 ID:RNJ7gaAH.net
知ってるかは思いつけるかと調べられるかの繰り返しによる積み重ねだから、心配は要らない。

264 :デフォルトの名無しさん:2017/05/05(金) 22:49:39.29 ID:+CHRnsuY.net
エネルギーを2chに使うのをやめないと本読んでも意味ないんじゃないかな

265 :デフォルトの名無しさん:2017/05/05(金) 23:14:46.17 ID:GcsXwLgt.net
配列について質問です。
…{1,2,3};
という表記法と、
…new int[]{1,2,3};
という表記は何か違いがあるのでしょうか?

266 :デフォルトの名無しさん:2017/05/05(金) 23:16:03.94 ID:yjG7qa8A.net
>>265
>>31

267 :デフォルトの名無しさん:2017/05/05(金) 23:39:09.89 ID:GcsXwLgt.net
>>266
アラ探しは止めてもらえます?

268 :デフォルトの名無しさん:2017/05/05(金) 23:42:36.40 ID:RNJ7gaAH.net
newの方が本来の書き方で、newしない方はCからの移行組のために単純に書けるように後から作られたもの。

269 :265:2017/05/06(土) 00:35:25.29 ID:gDC1nU6T.net
>>268
そうなんですね。ありがとうございます。

どちらかではOKでどちらかでは駄目という場面とかありますかね?

270 :デフォルトの名無しさん:2017/05/06(土) 00:39:00.98 ID:9tv813Aq.net
無い。
楽な方選ぶ。
(なので大抵newしない方で書かれる)

271 :265:2017/05/06(土) 01:34:48.70 ID:gDC1nU6T.net
>>270
分かりました。ありがとうございました。

272 :デフォルトの名無しさん:2017/05/06(土) 02:51:48.75 ID:GtACJVEu.net
インスタンスの同一判定で違いが有るという話を見たこと有るが、
配列のインスタンスを判定する事自体がダメな事だと思ってる。

それより、int result[]=new int[10];
なんて書き方は覚えたての頃に少しした程度で、
今は、int result[]={ 0,1,2,3,4,5,6,7,8,9 };こう書くよなぁ…
C言語は知らなくても慣れてくるとみんなこうならない?

273 :デフォルトの名無しさん:2017/05/06(土) 03:07:22.28 ID:9tv813Aq.net
なる。
実はC++だとnewする、しないはスタックかヒープかの違いがあって、new int[n]とか宣言時に[]内に変数使える、使えないとか、配列作れる限界もnewした方が大きいとか違いがある。
でも、Javaは基本型以外は全部ヒープに置くので配列はヒープにしか置かない。
C形式がまだ無かった初期の入門書には何故配列をnewするのかの解説まであった。

Javaにおいてnewするしないに違いが無いなら、してられっかよ。って誰も書かなくなった。

274 :265:2017/05/06(土) 04:21:51.57 ID:gDC1nU6T.net
と納得したのですが、突っかかる箇所があるのでまた書かせて頂きます。すいません。

今読んでいる書籍の問題で、(必要な個所だけ抜粋します)
public class Player {
int[] hand; // 手札配列
}
の実行用クラス(Exec)を作成しろという問題で、
Player player1 = new Player();
とした後、player1の手札配列に{2,13,26,13,48}をセットしろとのことなんですが、
player1.hand = {2,13,26,13,48};
とするとコンパイルエラーになるんですよね。解答には、
player1.hand = new int[]{2,13,26,13,48};
と書いてあり、そう入力するとエラーは無くなります。
なのでこの二つの表記法に文法的な違いがあるのでは?
と思ったわけです。

改めて皆さんの見識を伺いたいです。
本には違いはほとんど書かれていませんでした。

275 :デフォルトの名無しさん:2017/05/06(土) 04:31:13.41 ID:5R6Ql+c4.net
>>274
new を省略できるのは初期化の時だけ。あくまでも初期化の時だけ特別に書くことを省略することが許されている。
(書かれていないだけでやることは同じになる)。

276 :デフォルトの名無しさん:2017/05/06(土) 04:34:42.43 ID:feNHzNcv.net
>player1.hand = {2,13,26,13,48};
>とするとコンパイルエラーになるんですよね。解答には、

そのエラーメッセージで検索すべき!
それでも分からなければ、そのエラーメッセージをここに書いて、質問する

277 :デフォルトの名無しさん:2017/05/06(土) 04:44:15.46 ID:feNHzNcv.net
推測で書くけど、

型 a = {2,13,26,13,48};
これは、配列リテラル。
初期化時の、特別な書き方

たぶん実行文じゃない。この行で実行されるわけではない。
アプリの開始前に、コンパイラが置き換える。
即値、つまり、既に何もせずとも値になってる

型 a = new int[]{2,13,26,13,48};
一方、これは実行文。この行で、newが実行される

278 :デフォルトの名無しさん:2017/05/06(土) 08:30:46.24 ID:9tv813Aq.net
>>274
Cだとそもそも宣言時以外はそう言う書き方出来ないんだが、そうか、クラスのフィールドだと宣言と初期化が別れるな。
宣言と同時に初期化する時のみの特別な記述としてnewしない記述は使える。
それ以外はnewしないとダメ。
説明が雑ですまん。
理由は基本型じゃ無いから。
ヒープに置くのは全てnewが必要で、記述上特別扱いは配列の宣言と同時に初期化する時と、文字列のみ。
Cなんて、宣言と初期化が別れたらforで一個一個配列に値を入れるしか無いって言う。。。

279 :265:2017/05/06(土) 11:15:43.19 ID:gDC1nU6T.net
多くのレスありがとうございます。

エクリプスでは「配列定数はイニシャライザにおいてのみ使用可能です」と表示されました。
皆さんの言うように{1,2,3}という表記法は初期化時のみしか使えないということみたいです。
でも>>274の場合は初期化に相当しないのかな、と思うのですが…。

280 :デフォルトの名無しさん:2017/05/06(土) 12:34:15.65 ID:RxOQwEqu.net
宣言文の一部分である初期化子やろ

281 :デフォルトの名無しさん:2017/05/06(土) 13:07:31.76 ID:3Bn/MS7d.net
>>279
それは初期化であってる。
んで、newしなくて良いのは「宣言と同時に」初期化する場合のみ。
クラスのフィールドでint[] a;ってなってるのが宣言。

282 :デフォルトの名無しさん:2017/05/06(土) 13:09:11.36 ID:3Bn/MS7d.net
x int[] a;
o int[] hand;

人のコードよく読んで無かった。。。

283 :デフォルトの名無しさん:2017/05/06(土) 13:44:30.80 ID:jYP/Wf/9.net
>>279
ありがとう。

284 :デフォルトの名無しさん:2017/05/06(土) 16:41:50.05 ID:5R6Ql+c4.net
>>277
書き方違うだけでコードは同じように new する形式になっていると思うが。
というのは何れの書き方でも a[1] = 2; みたいに内容を後から変更可能だから。
ただし static の場合は書き換え可能なデータ領域に最初からインスタンスがあって
(つまりコンパイラがそれを含めた形でバイナリを作ってあって)そこへの参照を a に
代入するだけになるかも知れない。
static でない場合は普通に実行人ヒープに領域確保してからリードオンリーの
データ領域(コンスタントプール)から初期値をコピーしていると思う。

285 :デフォルトの名無しさん:2017/05/06(土) 16:46:57.57 ID:HAuELHoN.net
まあどうなってるか見たいならコード書いてコンパイルしてjavap通せ

286 :265:2017/05/06(土) 17:14:44.21 ID:gDC1nU6T.net
>>281
そうなんですね、分かりました。

繰り返しになりますが、多くのレスありがとうございました。

287 :デフォルトの名無しさん:2017/05/08(月) 17:19:02.28 ID:C0kEGIYB.net
今日からjavaの本で学習し始めたんだけど

慣れたらpublicなんたらかんたらとか長い分も自分で一からかけるようになるの

288 :デフォルトの名無しさん:2017/05/08(月) 17:24:11.64 ID:3+foG7x1.net
IDEに生成させるもんだろ

289 :デフォルトの名無しさん:2017/05/08(月) 18:34:23.43 ID:YdKqfeaH.net
確かに自動生成されるけど、慣れるといつのまにか暗唱できるようになってる。
という感じ。

290 :デフォルトの名無しさん:2017/05/08(月) 18:54:52.71 ID:6xooNmVM.net
IDEでもテキストエディタでも入力補完機能があるから
わざわざ覚える事でもない

291 :デフォルトの名無しさん:2017/05/08(月) 20:55:56.19 ID:epGpOLAg.net
>>287
なる。
1〜2秒ぐらいで打てるようになる。

292 :デフォルトの名無しさん:2017/05/09(火) 08:36:16.33 ID:wOo51I5g.net
まぁでも本で勉強してればmainメソッドの成り立ちなんてじっくりねっとり解説されるから嫌でも覚えちゃうよね

293 :デフォルトの名無しさん:2017/05/09(火) 12:44:24.36 ID:zagaBJts.net
画像解析のソフトを使うのにJava Library Pathを追加しないといけないのですがJavaをインストールした後の最初から躓いています(;;)
https://github.com/qupath/qupath/wiki/Working-with-MATLAB
この真ん中あたりに書いてある
Option #2: Control MATLAB from inside QuPath
-- Add MATLAB libraries to QuPath's Java Library Path
で,JVMOptionsをどうやって作ったらいいかわかりません

下記のページの最後「パスの設定は完了」ってところまでやったんですが..
http://techfun.cc/java/windows-jdk-pathset.html

関係ないソフトでてきてごめんなさい

294 :デフォルトの名無しさん:2017/05/09(火) 12:49:33.75 ID:zagaBJts.net
Win7 64bitです

295 :デフォルトの名無しさん:2017/05/09(火) 16:18:51.10 ID:iKf74YDS.net
>>293
なにがしたいのかわからん
そのソフト使いたいだけならexe形式のインストーラあるからそれ使えばええやん?

296 :デフォルトの名無しさん:2017/05/09(火) 16:45:19.33 ID:dAYvtASF.net
スッキリわかるjava入門でどこJavaじゃダメだからコマンドプロンプトっていうのを使ってくれって書いてあったんだけど、正直よくわからないからそのままnetbeansぇ続けても大丈夫?

297 :デフォルトの名無しさん:2017/05/09(火) 18:01:00.16 ID:xhqm65zv.net
そんなあなたにpaiza.io

298 :デフォルトの名無しさん:2017/05/09(火) 18:28:25.96 ID:zagaBJts.net
>>295
説明不足でごめんなさい
この2つのソフト(コマーシャルのMATLABとオープンのQuPath)はどちらも独立して使えてはいるんですが,片方のソフトからもう片方のソフトを呼び出せる機能があってそのことが書いてあるのが最初に添付したリンクです.
QuPath内にあるQuPath.cfgをJVMOptionに移動させるのが最初のステップなのですがそのJVMOptionが作りかたがわからないのです.

299 :デフォルトの名無しさん:2017/05/09(火) 18:42:38.34 ID:wOo51I5g.net
大丈夫大丈夫
これからも正直よく分からないところはどんどん飛ばしていけ
そうすれば正直よく分からないところで悩む必要無くなるから

300 :デフォルトの名無しさん:2017/05/09(火) 19:45:49.93 ID:41He4fJz.net
>>298
そもそもそのページがMATLAB → QuPath(op #1)とQuPath → MATLAB(op #2)の両方書かれてるのは理解してるよな?
op #1はMATLAB側の環境を整えてる
同#2はQuPath側だな

んで問題の箇所は簡単に済ませるならjava.library.pathをQuPath.cfgの中に記述しろって書いてるだろ?
実際のファイル見てないからわからんが、テキストエディタで見れば最低でも[JVMOptions]の行はあるだろうから、その下に追記してやればいい
例で書かれてるのはMAC版みたいだから自分の環境に合わせて書き換えろよ

301 :デフォルトの名無しさん:2017/05/09(火) 20:00:45.39 ID:dAYvtASF.net
public class 素数判定 {
public static void main(String[]args)
{
int sum=0;
int a =new java.util.Scanner(System.in).nextInt();
System.out.print(a+"=");
int m=a;
boolean test=false;
for(int i=2;i<=a;i++){
if(a%i==0){
if(m!=a){
test =true;}
while(a%i==0){
a=a/i;
sum++;
}
if (sum!=1){
System.out.print(i+"^"+sum+"・");}
else{
System.out.print(i+"・"); }
sum=0;}
}
if (test==false){
System.out.println("\n"+m+"は素数です!");
}}}

書いてみたのだがすっきりしない
式の最後によけいな「・」が出てしまうし、iのループ中で一回でもtrueが出ればそのあとは判定しなくていいわけだし
改良点があれば教えてほしい

302 :デフォルトの名無しさん:2017/05/09(火) 20:18:00.56 ID:smTpNxH0.net
インデントおかしいし変数名分かりづらいし

303 :デフォルトの名無しさん:2017/05/09(火) 20:28:39.39 ID:/JePIrk9.net
>>301
trueになった時点でbreakしたら素因数分解できないでしょ

304 :デフォルトの名無しさん:2017/05/09(火) 20:32:53.06 ID:dAYvtASF.net
>>303
そう
だからtrueを判定する適切な場所がどこだかわからない

305 :デフォルトの名無しさん:2017/05/09(火) 20:42:22.15 ID:60ZWnyEc.net
100が素数かどうか調べる時は√100まで
つまり2〜10でええんやで

306 :デフォルトの名無しさん:2017/05/09(火) 20:45:33.38 ID:dAYvtASF.net
>>305
ルートを出してその整数部分だけ使えばいいのか
そういうの出来たっけ?

307 :デフォルトの名無しさん:2017/05/09(火) 20:51:57.55 ID:SmlWSda1.net
Math.sqrtの結果をintキャスト

308 :デフォルトの名無しさん:2017/05/09(火) 20:55:23.79 ID:dAYvtASF.net
>>307
なるほど!ありがとう

309 :デフォルトの名無しさん:2017/05/09(火) 22:29:03.24 ID:ivwxgVxg.net
>>301
「・」は出すように書いてあるからその通りに出てくるだけ

310 :デフォルトの名無しさん:2017/05/10(水) 01:27:24.94 ID:BYWHw2Iq.net
プログラミングっていうかゲーム作りって言ったらGUIとかアニメーションを使うのが一番に出て来ると思うんだけど、javaのコーディングでできるものなの?

311 :デフォルトの名無しさん:2017/05/10(水) 02:06:28.58 ID:qeZ1bcfg.net
>>301
4も8も素数と出るのだが・・・

312 :デフォルトの名無しさん:2017/05/10(水) 02:07:09.79 ID:qeZ1bcfg.net
>>310
できる。

313 :デフォルトの名無しさん:2017/05/10(水) 02:24:21.40 ID:k+Fw34TB.net
エラトステネスのふるい懐かしい

314 :デフォルトの名無しさん:2017/05/10(水) 02:25:43.59 ID:7vBaEDXu.net
いやエラトステネスの篩いま関係ないっす

315 :デフォルトの名無しさん:2017/05/10(水) 09:46:36.96 ID:BYWHw2Iq.net
>>311
そうなんだよね
自分もそれを投稿した直後に気付いた
If(m!=a)をif(m!=i)にしたら直った
累乗の数はそうなっちゃってたみたい



今はネットビーンズでプログラミングしてコンソール上で処理を表示させてるんだけど普通のアプリと同じようにダブルクリックして起動させるようにするにはどうしたらよいの?

316 :デフォルトの名無しさん:2017/05/10(水) 12:42:35.37 ID:3FTnTomt.net
>>315
jarファイルのMANIFEST調べろ

317 :デフォルトの名無しさん:2017/05/10(水) 13:21:55.97 ID:GZ1G5LqK.net
>>310
例えばMinecraftはJavaとOpenGLのライブラリを使って書かれている

318 :デフォルトの名無しさん:2017/05/10(水) 19:54:36.55 ID:39V1aTUU.net
>>293-300
MATLAB は、Python だろ

The Jupyter Notebook ( IPython )
ブラウザで、tmpnb

319 :デフォルトの名無しさん:2017/05/11(木) 16:34:47.91 ID:a7kjTynb.net


320 :デフォルトの名無しさん:2017/05/11(木) 16:36:18.38 ID:a7kjTynb.net
クラスのフィールドとかメソッドを書き換えられないようにfinalをつけるっていうけどソースコードそのものを渡さないとクラスが使えないだろうしfinalを外したりするのは自由にできてしまうのではないの?

321 :デフォルトの名無しさん:2017/05/11(木) 16:50:23.23 ID:eS2L0WVj.net
>>320
いいやコンパイルされたクラスにシンボル情報が付いてるからソース無くても使える

余談だかこれのせいで逆コンパイルしやすいそうな

322 :デフォルトの名無しさん:2017/05/11(木) 20:02:59.23 ID:90G5iBS0.net
継承について質問させてください
public class Parent{
public void hoge(){ System.out.println("p_hoge"); }
private void piyo(){ System.out.println("p_piyo"); }
}

public class Child extends Parent{
public void hoge(){ System.out.println("c_hoge"); }
public void piyo(){ System.out.println("c_piyo"); }
}

public class Main {
public static void main(String[] args) {
Child child1 = new Child();
Parent child2 = child1;
child1.hoge(); // c_hoge
child1.piyo(); // c_piyo
child2.hoge(); // c_hoge
child2.piyo(); // error: piyo() has private access in Parent
}
}

ここで、child2.piyo()がコンパイルエラーになるのは何故でしょうか
確かに型はParent型ですが、単にChildインスタンスへの参照を代入しただけなので
関係ないかと思ったのですが
実際child2.hoge()はChildクラスのhogeメソッドを実行してますし、Parentクラスの
piyoメソッドのアクセス制限をpublicにするとchild2.piyo()は「c_piyo」を出力します
あるいは Parent child3 = new Child();としても同じ結果でした
コンパイルの際、型情報はどういう順番でチェックされているのですか?

323 :デフォルトの名無しさん:2017/05/11(木) 20:24:14.54 ID:qSTwHBOZ.net
>>322
こんパイル時は単純に変数が何クラスなのかしか見てなくて、それの場合はParentクラスだからその定義を見てpiyo()メソッドはprivateだからエラーにしてるだけ。

324 :デフォルトの名無しさん:2017/05/11(木) 20:33:32.16 ID:90G5iBS0.net
>>323
なるほど、コンパイル時は型情報のみでチェックをして、中身は実行時に初めて見てるのですね
参考書の「実行時のインスタンスを想像しながらプログラムを書いてはいけない」という意味がようやくわかりました
ありがとうございます

325 :デフォルトの名無しさん:2017/05/12(金) 00:38:23.02 ID:55apZTWp.net
エクリプスやコマンドプロンプトから別ウインドウを開いてシンプルな折れ線グラフを表示したいのだけど、何をどうすればいいかわかりません。
swingとかいうのを使えばいいのでしょうか?

326 :デフォルトの名無しさん:2017/05/12(金) 02:22:52.66 ID:Otw8y3gH.net
System.exit(1);(数字は任意)はなるべく使わない方がよいのでしょうか?

327 :デフォルトの名無しさん:2017/05/12(金) 06:49:04.24 ID:84Td0x+H.net
>>326
その数字は終了ステータスと言って0以外だと異常終了したって扱いになるからちゃんとしたコマンドを作るなら使い分ける必要がある

328 :デフォルトの名無しさん:2017/05/12(金) 14:49:58.50 ID:LGrn4Vkx.net
メソッドの中カッコ(インデント)は改行しないで書くのが習わし?

あと、次の処理を行うまで2秒とか時間間隔を置くコードがあれば教えて欲しい

329 :デフォルトの名無しさん:2017/05/12(金) 15:28:45.71 ID:LGrn4Vkx.net
もう一個質問
クラスから作ったインスタンスって他でも利用できる?
メインでheroクラスのhを作ったとしてhのhpがあるメソッドによってデフォルトの100から50減ったとする
他のメインで呼び出した時hpが50減ったまま反映されてるのかな

330 :デフォルトの名無しさん:2017/05/12(金) 15:37:25.98 ID:LGrn4Vkx.net
つまり

public class main {
public static void main(String[]args){
wizard w =new wizard();
matango m=new matango('あ');
w.name="タカ";
w.attack(m);
w.fireball(m);
System.out.println(m.hp);
}
}
こういうコード書いてるんだけどこれだと毎回実行するたびに新しいmatangoが生成されてhpも全てリセットされちゃうんだ
メソッドで実行したこういう情報を保持しておきたい
他のメインメソッドで一番最後の行のmatango.m..hpをsystemoutしようとしたら変数が見つかりませんってなっちゃう

331 :デフォルトの名無しさん:2017/05/12(金) 16:17:48.87 ID:8okmpAdZ.net
実行時引数で受け取るor外部ファイルor共有メモリ
後何があるかな

332 :デフォルトの名無しさん:2017/05/12(金) 16:37:05.11 ID:QfK6Pl49.net
外部プログラムに情報を渡したいってこと?
いろんなとこで使うならDB保存でもすればいいんじゃないかな

333 :デフォルトの名無しさん:2017/05/12(金) 18:10:13.38 ID:80n6+mfo.net
Javaの公式リファレンスは
https://docs.oracle.com/javase/jp/8/docs/api/index.html
これしかないのでしょうか?

出来れば実際にメソッドを使った時の挙動も示してある物が見たいのですが、どこにも見当たらないもので・・・・・・

334 :デフォルトの名無しさん:2017/05/12(金) 18:18:07.13 ID:84Td0x+H.net
>>333
公式はそれだけ、クラス名やメソッド名でググるしかないよ

335 :デフォルトの名無しさん:2017/05/12(金) 18:22:29.06 ID:80n6+mfo.net
>>334
マジですか・・・・・・
プロの人はこれで動きが分かるのでしょうか

とりあえずはクラス名とメソッド名でググるようにします、ありがとうございます

336 :デフォルトの名無しさん:2017/05/12(金) 18:24:57.87 ID:84Td0x+H.net
Pythonのリファレンスとかが詳しすぎるだけで本来こんなもんだよ、(多分俺の読解能力が腐ってるせいで)意味不明だからソース読みにいったりすることがよくある

337 :デフォルトの名無しさん:2017/05/12(金) 18:28:04.48 ID:80n6+mfo.net
>>336
Rubyのリファレンスみたいなのを想像していたので戸惑いました・・・・・・
もし詳細な言語仕様が書かれた書籍などがあればそれも知りたいです

338 :デフォルトの名無しさん:2017/05/12(金) 18:28:26.99 ID:LGrn4Vkx.net
外部に渡すっていうより、 
public static void main(String[]args){}の中に一緒に記述してたらインスタンス(勇者)を作るのと敵と戦うが同時に起きてしまって、敵にHPを減らされてもまた同じメインを実行したら勇者のHPも最初からにりせっとされちゃうじゃない
ゲームで言うセーブみたいな機能ってjavaでどうやって実現するのかなってずっと気になってた

339 :デフォルトの名無しさん:2017/05/12(金) 18:42:20.75 ID:tAeUMPRn.net
>>330
matango m を new してるから生成される
matango型の変数をグローバル(?)なところに保存しておいて、どこかで new してそれを再利用しよう

340 :デフォルトの名無しさん:2017/05/12(金) 19:39:12.19 ID:8okmpAdZ.net
>>338
それもう外部ファイルに状態を保存しかなくね

341 :326:2017/05/12(金) 19:54:24.39 ID:Otw8y3gH.net
>>327
ありがとうございます。

この命令を使う是非についてもどなたか教えて頂けないでしょうか?

342 :デフォルトの名無しさん:2017/05/12(金) 20:50:18.79 ID:5vkuZfot.net
>>341
是非とは? 327が書いてる通りだと思うよ
必要なら使うし、いらないなら使わない

343 :デフォルトの名無しさん:2017/05/12(金) 21:02:08.92 ID:84Td0x+H.net
>>341
シェルスクリプト等のバッチ処理でコマンドが正常終了したとかの判定に使われるステータスだからそういう用途に使うならちゃんとしとけ、それ以外なら適当でいい

344 :デフォルトの名無しさん:2017/05/12(金) 23:25:25.16 ID:Otw8y3gH.net
>>342 >>343
例えば、ジャンケンをするプログラムです。
https://ideone.com/EK5omF
このように気軽に用いてよいでしょうか?

345 :デフォルトの名無しさん:2017/05/12(金) 23:29:51.49 ID:84Td0x+H.net
>>344
おk、UNIXのコマンドで実際にヘルプ出した後に1返すやつあるし

346 :326:2017/05/13(土) 01:04:29.17 ID:0v4JDuG/.net
>>345 >>他レスくれた方
ありがとうございました。気軽に使おうと思います。

347 :デフォルトの名無しさん:2017/05/13(土) 13:16:21.43 ID:nXg2xudY.net
あー。学校の課題かな?
これから switch 習うところみたいな。

348 :デフォルトの名無しさん:2017/05/13(土) 15:09:30.58 ID:nn66e6lH.net
>>347
>>326はプログラマ目指してる34歳発達の無職だよ
あんまり相手にしない方がいい

↓のスレの774とIDが一致

ねねっちと一緒にプログラムを勉強するスレ第2話 [無断転載禁止]©2ch.net
http://echo.2ch.net/test/read.cgi/tech/1489809785/

↑と↓でトリップが一致

34歳、発達障害の無職ですが…5 [無断転載禁止]©2ch.net
http://tamae.2ch.net/test/read.cgi/prog/1492326920/

349 :デフォルトの名無しさん:2017/05/13(土) 15:20:15.97 ID:AEmw9vXq.net
Javaリファレンスを読み始めたのですが
フィールドのサマリーやメソッドのサマリーというのは一体なんなのでしょうか?
java.lang.Systemを見るとフィールドのサマリーの方は
System.[out]←これの事を説明しているのは分かったのですが
メソッドのサマリーの方は検討もつかず・・・・・・

350 :デフォルトの名無しさん:2017/05/13(土) 16:33:51.59 ID:nXg2xudY.net
>>349
サマリーって要約だろ?
それが何か?

351 :326:2017/05/13(土) 16:58:01.94 ID:0v4JDuG/.net
>>348
あー余計な事書かないでー。

なんかすいません、学生じゃないんです。
ここは速やかに返答が得られるので、使わせて頂いてます。

352 :デフォルトの名無しさん:2017/05/13(土) 17:03:10.28 ID:AEmw9vXq.net
>>350
あ、本当にただの要約なんですね
わざわざ「サマリー」で表記してあったので、てっきり特別な意味があると思ってしまいました・・・・・・

353 :デフォルトの名無しさん:2017/05/13(土) 17:38:29.56 ID:GZKqOPY+.net
>>352
Javaのリファレンスって、翻訳が直訳気味だから、英語の方読んだ方がマシな場合もあるよ

354 :デフォルトの名無しさん:2017/05/13(土) 22:39:40.42 ID:a+Yyd3LZ.net
今はmetbeansを開いてメインメソッドを書いて、ファイルの実行ボタンを押して起動させてるけど
ファイルをダブルクリックで開いたらこのアプリケーション起動、みたいなコマンドって作れる?
Fileクラスでオープン、そしてテキストファイルに書き込みとかは一応出来るようになった

355 :デフォルトの名無しさん:2017/05/13(土) 23:32:38.00 ID:GC0/nJum.net
それはOSの機能。
ファイルにアプリを関連付ける。

356 :デフォルトの名無しさん:2017/05/13(土) 23:34:07.61 ID:GC0/nJum.net
あと、ダブルクリックで起動するGUIアプリはJavaだとJarファイル作る。
作り方はググってくれ。

357 :デフォルトの名無しさん:2017/05/14(日) 09:13:39.78 ID:GiIrdLHV.net
NETBEANSなら自動でJarファイル作るけど、
自作のJarを継承したりするとJarの中にフォルダを作って入れてはくれないので、
やっぱり自分で作るかな

358 :デフォルトの名無しさん:2017/05/14(日) 17:33:23.51 ID:QSKs3vuK.net
>>354
>>316

359 :デフォルトの名無しさん:2017/05/14(日) 22:40:11.72 ID:neLc5GA+.net
トランプを作りたいのだが多次元配列で組み合わせようと思ったけど結局1をAにしたり11、12、13をJQKにしたり、
あとは例えば二枚のカードを合計するってなった時は2+3とかじゃなくてハートの2たすクラブの3っていう感じになって計算ができないんじゃ無いかってところで行き詰まってる
ネットで調べたらenumって出てきたけど最後に;を記述してないし使い方がよくわからないのだ

何か知恵を貸してくれないか

欲を言えばトランプの絵の中にそれら配列(もし配列を使うとしたら)の要素一個一個に当てはめる的な事もしたいけどそれはまた後で調べる、これは出来るかできないかだけでいいから教えてくれ

360 :デフォルトの名無しさん:2017/05/14(日) 22:41:34.73 ID:neLc5GA+.net
トランプのどんなゲームにも使えるカードクラスって簡単に定義可能なの?

361 :デフォルトの名無しさん:2017/05/14(日) 22:52:56.19 ID:ztp16LZQ.net
>>360
Suits列挙とNumber列挙、それらを持つCardクラス作るだけやん

362 :デフォルトの名無しさん:2017/05/15(月) 00:22:18.88 ID:F3iBT9nS.net
>>360
例えばハートの6とクラブの9を足して15にできる?多次元配列でint 部分の配列を取り出す事とかできるの?

363 :デフォルトの名無しさん:2017/05/15(月) 00:28:40.14 ID:oAljGLAm.net
>>362
二次元配列でも良いけど
そういうのだったらHashMap使った方が早くね?

364 :デフォルトの名無しさん:2017/05/15(月) 01:05:18.25 ID:F3iBT9nS.net
>>363
どうして?HashMapって配列番号を文字にしただけでしょ?

365 :デフォルトの名無しさん:2017/05/15(月) 01:14:15.51 ID:Hm7XRpaa.net
javaやってるのに多次元配列使う奴なんて見たことない
c言語じゃないんだから

366 :デフォルトの名無しさん:2017/05/15(月) 08:01:13.47 ID:iwHegv+w.net
HashMapは文字通り中にハッシュテーブルを持っててそれを利用して探索するから配列を探索するよりとても速い

367 :デフォルトの名無しさん:2017/05/15(月) 10:32:21.13 ID:WBt6bwRo.net
>>359
面倒なら数値だけでやればいいじゃん。内部では0〜51で値持っといて13で割った値が種別、13で割った余り+1がカードの番号みたいにして。

368 :デフォルトの名無しさん:2017/05/15(月) 14:11:56.96 ID:YV/XJMDJ.net
javaでif文を使って文字列か数字か判断する時の条件式って何?教えてくれ頼む!!

369 :デフォルトの名無しさん:2017/05/15(月) 15:05:38.35 ID:YV/XJMDJ.net
if(入力値 == String){
//処理
}else if {
//処理


上記のやり方じゃ駄目だよな?

370 :デフォルトの名無しさん:2017/05/15(月) 16:29:33.70 ID:oRDR+P6W.net
instanceof

371 :デフォルトの名無しさん:2017/05/15(月) 16:31:44.87 ID:+sV7Di0p.net
parseIntじゃだめですかい?
String input = "12345"

try
{
int i = Integer.parseInt(input);
} catch (Exception e) {

}

372 :デフォルトの名無しさん:2017/05/15(月) 16:59:39.84 ID:LmqNwbQD.net
>>368
入力値 instanceof Stringでおk

373 :デフォルトの名無しさん:2017/05/15(月) 17:03:33.71 ID:LmqNwbQD.net
>>368
間違えたすまん、371のやり方じゃないと

374 :デフォルトの名無しさん:2017/05/15(月) 17:11:06.15 ID:YV/XJMDJ.net
>>371 >>373
ありがとう。やっぱtry文でやらないと出来ないのか

375 :デフォルトの名無しさん:2017/05/15(月) 17:36:48.54 ID:9QbDhZRz.net
ルークregexを使え

376 :デフォルトの名無しさん:2017/05/15(月) 18:11:19.72 ID:Nyf5aX+C.net
1文字ずつ正規表現でチェックするとか

377 :デフォルトの名無しさん:2017/05/15(月) 21:23:38.19 ID:94d7jC/v.net
>>366
Hash mapって確かに原理はわかるんだけど、hash関数にキーを通して得られた数値をアドレスにすると、アドレス飛び飛びになってメモリ効率悪くなったりしないのかね

378 :デフォルトの名無しさん:2017/05/15(月) 21:32:58.19 ID:iwHegv+w.net
>>377
直接アドレスにしてるわけじゃない
中に連結リストが数個あって得られた数値ごとに範囲分けしてそのリストに振り分けてる
連結リストの長さだったか要素数だったかが敷居値を超えると連結リストの数を増やして再構築する
大体こんな感じで実装されてるからハッシュ値が飛び飛びなのは問題ではない、むしろそうなるように推奨されてたはず

379 :デフォルトの名無しさん:2017/05/15(月) 21:54:17.44 ID:tcwc+G1E.net
int n=1;
int[] nums={0,1,2};
nums[0]=n;
n=5;

nums[0]=?

1でいいんだよね…?

380 :デフォルトの名無しさん:2017/05/15(月) 22:28:53.11 ID:iwHegv+w.net
>>379
せやで、参照を書きかえてるだけだからね

381 :デフォルトの名無しさん:2017/05/16(火) 17:39:21.61 ID:hRmrFLEJ.net
jar ファイル作ってみたのだが
netbeans上でファイルを実行したらちゃんと動くのにフォルダからそのファイルの場所まで行ってダブルクリックしても何の反応もないのだが

ウインドウがポップアップされるはずなのに何も出てこない、どうして?

それと質問なのだがこの処理を実行したら次はこの処理が実行されるみたいなのって全てメインクラスに書くものなの?
プログラムを動かすにはメインメソッドが必要だって書いてあったんだけどたとえばドラクエで、このどうくつにはいったら今度は洞くつクラスに移るみたいな
そういうのって一つのメインメソッドに書ききれるのかなとか前からすごい疑問だった

すっきりJavaを読み終えた入門者だがもし足りないのなら次に読むべき本とかあったら教えてほしい

文法を理解できたようで、enumクラスっていう新しい用語を使ってみると、どこからそれを呼び出したらいいのかとか全く分からなくなってしまう

例えば、いろいろなゲーム、トランプとかテトリスとか、そういうののソースコードを一から全て解説してくれる本とかあったら助かる

とりあえず実践をしたいのだがどうやって学んだ事を応用していったらいいのか全く分からない

誰か助け船を出してくれ

382 :デフォルトの名無しさん:2017/05/16(火) 19:20:34.36 ID:vjuQQ4tJ.net
>>381
ながい

→ダブルクリック実行はJava関係無くOSでjar拡張子の実行設定してるかどうか

→main()云々は作ってみたほうが理解が早い
CUIでいいからtodoアプリ作ってみ?
1でタスク一覧、2でタスク登録、3でタスク削除の3機能
DBとか無しで、アプリ落としたらタスク全部消えてなくなる感じ
これ作ったらmain()で全部書けるかどうかわかるだろう

383 :デフォルトの名無しさん:2017/05/16(火) 19:57:51.53 ID:p+PjrRhB.net
>>381
スッキリのオブジェクト指向の所から読み直しつつ
自分でソースコード漁りしてみると良い
オープンソースで一杯転がってるぞ

384 : :2017/05/16(火) 20:51:07.12 ID:szD5YOp7.net
「テトリス入門」とかいう書籍を書いたら売れるかもしれないね

385 :デフォルトの名無しさん:2017/05/16(火) 21:51:28.05 ID:46vWVqfK.net
>>384
しかしゲームのやり方しか書いてなかったりしてw

386 :デフォルトの名無しさん:2017/05/16(火) 22:37:54.81 ID:wKnc2Dey.net
>381
jarのくだり以外は何言ってるのか全くわからない
大丈夫かお前?

387 :デフォルトの名無しさん:2017/05/16(火) 22:47:07.51 ID:enwqrWLT.net
大学のjavaの授業で指定されたエディタがメモ帳に毛が生えたようなやつで、スクリプト言語しか触ったことない身には辛い
javaはIDEで書くものだと聞いてたんだけど、強い補完機能使わないほうが身につくものなの?

388 :デフォルトの名無しさん:2017/05/16(火) 22:50:02.85 ID:wKnc2Dey.net
身につかないっていうかメモ帳は時間の無駄

389 :デフォルトの名無しさん:2017/05/16(火) 23:08:27.75 ID:hRmrFLEJ.net
それと、APIリファレンスの見方が分からないのだが
Arrayのなかのメソッドのequalsで
public static boolean equals(int[] a,int[] a2)
って書いてあったから引数を二つ書くのかなって思って
equals(配列A,配列b);
って書いてみたらエラーになって

配列A.euqals(配列B);にしたらエラーが出なくなった

メソッドってクラスの「インスタンス変数.メソッド」って書くのか?とか考えたけどそのあとの
sort()を見てみると普通に
sort(配列);でやったら実行できた
調べ方っていうかリファレンスの読み方がわからない

あとこれはAllayListのサマリーのやつだが
boolean add(E e)
リストの最後に、指定された要素を追加します

これの修飾子と型がbooleanだったのだがなぜvoidじゃないの?
true,falseの要素がないと思うのだが

390 :デフォルトの名無しさん:2017/05/16(火) 23:27:55.96 ID:wKnc2Dey.net
ひっでぇ文だな・・
学生かな

391 :デフォルトの名無しさん:2017/05/16(火) 23:53:20.25 ID:hRmrFLEJ.net
>>382
Jdkのbinファイルを設定するって書いてあったんだけどjdkファイルの中にbinが見つからない・・・

392 :デフォルトの名無しさん:2017/05/17(水) 00:11:58.28 ID:a2t4m9UZ.net
配列はややこしいね
Arrays.equals(a1, a2)とa1.equals(a2)は別物だよ
後者は参照先の比較って言ったらそこら辺はスッキリで詳しく書いてるから分かると思うけど
あと戻り値は必ず変数に入れなきゃいけない訳じゃない
今回のに関してはAllayListの親クラスのCollectionがaddでbooleanの戻り値を返すってなってるからそうなってるけどAllayListでは多分必ずtrue返すようになってる?分かんないけど
Setとかでbooleanの戻り値使いたいからそうなってるんだろうね

393 :デフォルトの名無しさん:2017/05/17(水) 00:19:21.93 ID:Cj0bDaOf.net
>>392
その辺りが物凄く理解できない
やっぱり経験積んで必要な場面に当たるしかないのかな

できれば最初から文法をマスターしたいと思うんだけど難しいのかな

394 :デフォルトの名無しさん:2017/05/17(水) 00:21:17.17 ID:EKDDBUyo.net
Javaのリファレンスはすげえ読み辛いのが辛い所だな
実際の挙動書いてないし

395 :デフォルトの名無しさん:2017/05/17(水) 00:45:10.55 ID:aIm9uZNt.net
JavaScriptやPHPのリファレンス見てると何でメジャーどころのJavaのリファレンスがこのレベルなんだ…って思っちゃう

396 :デフォルトの名無しさん:2017/05/17(水) 00:47:35.12 ID:EKDDBUyo.net
各クラスの挙動を知りたいなら
個人ブログかQiita辺りを探した方が早いっていう何とも言えない現状

397 :デフォルトの名無しさん:2017/05/17(水) 01:09:07.24 ID:KDFx7HS2.net
リファレンスを見た後、サンプル・例などで検索すれば?

398 :デフォルトの名無しさん:2017/05/17(水) 02:16:15.58 ID:PX1bjgD6.net
Locale locale = new Builder()
.setLanguage("ja")
.setRegion("JP")
.setScript("Latn")
.setExtension(Locale.UNICODE_LOCALE_EXTENSION, "ca-japanese")
.build();

普通は
インスタンス名.メソッド名()などのようにドットでつなげると思うのですが
上のようなソースは、なんていう機能なのでしょうか。
ググりたいので、キーワードを知りたいです。

399 :デフォルトの名無しさん:2017/05/17(水) 02:24:06.64 ID:fdwvTzQk.net
スーパーバイリンガルダブルスタンダードジェネラルアクセッサ記法です

400 :デフォルトの名無しさん:2017/05/17(水) 03:04:38.91 ID:KDFx7HS2.net
JavaScript, jQuery などで、よく使う、メソッドチェーン

a().b().c()

メソッドを、this を返すように作っておいて、つなげていく

401 :デフォルトの名無しさん:2017/05/17(水) 03:55:23.34 ID:rtSwMeCb.net
HashMapの中身をfor文で取り出す処理のメカニズムがよく分かりません。
どなたか説明してもらえませんか?
@キーの一覧を取得
A各キーについて、対応する値を取得
と書いてはあるのですが…。

402 :デフォルトの名無しさん:2017/05/17(水) 04:07:19.23 ID:gPdRTvOW.net
>>400
なるほどです。
戻り値が、自分自身だからチェーンに出来るんですね。
勉強になりました。ありがとうございます。

403 :デフォルトの名無しさん:2017/05/17(水) 05:09:57.57 ID:Cj0bDaOf.net
スッキリジャバの入門編も読めばさらに理解が深まるかな?

404 :デフォルトの名無しさん:2017/05/17(水) 05:10:53.79 ID:Cj0bDaOf.net
間違い、実践編

405 :デフォルトの名無しさん:2017/05/17(水) 07:04:43.87 ID:oji8uaFL.net
javaリファレンスはカタコトの日本語だからまだしも、
androidなんて英語だから意味不明

406 :デフォルトの名無しさん:2017/05/17(水) 08:22:36.48 ID:+tyn5AAd.net
>>401
古典かよw 今時そんな取り方しない
どうしてもやりたいならMap#keySet()調べてみ

ついでにMap#forEach()もな

407 :デフォルトの名無しさん:2017/05/17(水) 11:35:36.57 ID:Hln6Xg1O.net
ファイル開くときにcloseかtry-with-resourcesを忘れないってのはわかったんですが、
BufferedReaderとかScannerで標準入力からテキストを読み込むときもこれは必要ですか?

408 :デフォルトの名無しさん:2017/05/17(水) 12:12:09.07 ID:+tyn5AAd.net
>>407
原則として標準入出力は閉じてはいけない
そのプログラム中で二度と標準入力を使わないようなタイミングなら閉じてもいいが…やらないな

409 :デフォルトの名無しさん:2017/05/17(水) 12:24:57.57 ID:+tyn5AAd.net
一応、System.inの正体はこれな
new InputStream(new FileInputStream(FileDescriptor.in))

410 :デフォルトの名無しさん:2017/05/17(水) 12:32:10.78 ID:lfsZhYIw.net
>>407
不要だけどあってもいいんじゃね?

411 :デフォルトの名無しさん:2017/05/17(水) 12:51:21.54 ID:vBWq/bhA.net
無しだろ
最初から開いてるものだし
自分で開いたものなら閉じるべきだが
他人が開いたものを閉じるのは責務的に違うだろ

412 :デフォルトの名無しさん:2017/05/17(水) 13:18:19.80 ID:Cj0bDaOf.net
自分の好きな画像をguiで使うにはどうしたらいいの?

413 :デフォルトの名無しさん:2017/05/17(水) 13:21:39.19 ID:fdwvTzQk.net
好きな画像をGUIで読み込めばいい

414 :401:2017/05/17(水) 16:48:24.10 ID:rtSwMeCb.net
>>406
調べてみます。
ありがとうございます。

415 :デフォルトの名無しさん:2017/05/17(水) 23:44:07.57 ID:aIm9uZNt.net
int[] s = 条件式 ? {0, 1} : {1, 0};
って書いたら弾かれたんですがJavaは三項演算子を使っての配列の初期化は出来ないということですかね?

416 :デフォルトの名無しさん:2017/05/18(木) 00:37:28.69 ID:QINyhTse.net
オラクルで働きたいんだが雇ってくれんかな
java初心者だが素晴らしい言語だと思うんで

417 :デフォルトの名無しさん:2017/05/18(木) 00:43:40.92 ID:mIgvPrGJ.net
OpenJDKに貢献するのが一番の近道だと思うが
オラクルはそんなにいい会社じゃないぞ多分

418 :デフォルトの名無しさん:2017/05/18(木) 00:53:33.86 ID:gS0Z1nN7.net
>>415
int[] s = 条件式 ? new int[]{0, 1} : new int[]{1, 0};

419 :デフォルトの名無しさん:2017/05/18(木) 07:23:18.00 ID:mhJy8/8/.net
ArrayListを作るときよく入門書だと
List<String> list = new ArrayList<String>();
と書いてありますが、将来的にListとして扱う予定が全くない場合でもこう書くものですか?
とにかく広く受けとけばいいなら極論ジェネリクスも要らないですよね?
ArrayListで必要十分なところをListと書くのはどうも型安全から外れてる気がして抵抗があるのですが

420 :デフォルトの名無しさん:2017/05/18(木) 07:47:59.91 ID:hMdHD0v3.net
Listで必要十分

421 :デフォルトの名無しさん:2017/05/18(木) 07:58:02.36 ID:DonT+oLB.net
>>419
ArrayListで必要十分ってことはArrayListクラスで定義されたものを使ってるんだからListで書いたらダメだろw
あとArrayListをListとして使うことがないってのはありえない
なぜならArrayListはListを実装してるから

422 :デフォルトの名無しさん:2017/05/18(木) 08:25:23.87 ID:hXrMTvib.net
>>421
それはそうですね、すみません、言い方を間違えました
ArrayList固有の機能を使わない前提でないとこの問いは成り立たないですね
ただ拡張性を意図してないときにインターフェースで宣言するメリットがあるのだろうかと思った次第です

423 :デフォルトの名無しさん:2017/05/18(木) 08:55:42.22 ID:DonT+oLB.net
>>422
なぜ具象クラスではなくインタフェースなのかってことなら、英単語の意味のとおりインタフェースだから
この話が特に問題になりやすいのはメソッドシグネチャに使われるときと、クラスの特性を利用するときなんで、
メソッド内部のローカル変数として宣言/定義するだけで外部に影響なく使うならぶっちゃけ何でもいいよ

逆に言うと、影響が出るなら(特に)最上位のインタフェースを使ってはいけない
Map<String, String> m1() { return new WeakHashMap(省略); }
・このm1はヤバい。戻り値を普通のMapのように使ってると、GCでいきなりエントリーが消えたりする
・戻り値の型をWeakHashMapにするべき
Set<String> s1() { return new TreeSet<String>(); }
・これもヤバい。戻り値にset()すると勝手にソートされる
・戻り値の型をSortedSet(インタフェース)にすべき

424 :デフォルトの名無しさん:2017/05/18(木) 08:57:08.36 ID:X6c7i21D.net
汎用性も拡張性も皆無の個人レベルのゴミソースなら
いくらでもArrayListで型宣言すればいい

425 :デフォルトの名無しさん:2017/05/18(木) 08:59:24.71 ID:DonT+oLB.net
途中送信になっちゃった

上のような例外的なケースを除き、基本的な使い方しかしていないなら最上位のインタフェースで宣言すべき
それはコードを読む人に変なメソッドやクラス特性を使っていないから安心して使えるというメッセージになる
#バグとかはまた別の視点だよ?

426 :デフォルトの名無しさん:2017/05/18(木) 12:35:06.27 ID:hXrMTvib.net
>>425
詳しくありがとうございます
出来る限り最上位のインターフェースで宣言した方が安心感があるのですね
例えば(あまりないと思いますが)addとforEachしか使わないなら
ListよりCollectionで宣言した方がいいということですかね

インターフェースだけでなくクラスも同様に、出来る限りObjectクラスに近い方がいいのでしょうか
例えばListに数字を入れるならList<Integer>よりList<Number>の方がいいですか?

427 :デフォルトの名無しさん:2017/05/18(木) 13:06:42.91 ID:DonT+oLB.net
>>426
そういうのをやりすぎって言うんだよ
自分で書いてて不親切というか不便だと思わない?
CollectionやNumberのJavadoc読んでみ

428 :デフォルトの名無しさん:2017/05/18(木) 13:26:08.84 ID:hChOTcwf.net
コードによるんじゃ

429 :デフォルトの名無しさん:2017/05/18(木) 13:27:02.92 ID:hChOTcwf.net
>>423
setは順番を保証しないから良くないか?

430 :デフォルトの名無しさん:2017/05/18(木) 13:30:10.52 ID:hChOTcwf.net
>>419
.netはlistが実装を持ってるからその指摘は的を得ていると思う

431 :デフォルトの名無しさん:2017/05/18(木) 13:30:43.70 ID:7OpOK0t2.net
なんで.NETの話してんの?

432 :デフォルトの名無しさん:2017/05/18(木) 14:12:31.44 ID:QINyhTse.net
ArrayList<String> list = new ArrayList<>();

普通に上記のような書き方でも大丈夫ですか?
どう違うのかな…糞初心者が便乗で失礼しました。

433 :デフォルトの名無しさん:2017/05/18(木) 14:42:56.14 ID:DonT+oLB.net
>>429
setの例は確かにまずかったね
実際やってみるとわかるけどさ、SortedSetに突っ込むものはComparable実装してないと実行時例外起きるのよ
Stringは実装してるからいいけど例えば自作のComparable実装してないクラスを突っ込むSetだと死ぬ

434 :デフォルトの名無しさん:2017/05/18(木) 16:08:06.15 ID:YsT8kXyi.net
>>427
最大限の抽象化を目指しつつ、必要に応じて落としどころに着地させる技術が必要なのですね
何となくわかりました。ありがとうございます

435 :デフォルトの名無しさん:2017/05/18(木) 17:27:32.89 ID:X6c7i21D.net
中途半端に理解力の悪い馬鹿だね君は
特定のインターフェースを受け皿にするのは意味があるからやってるんだから
君のような馬鹿は凡例に倣っておまじないのように真似して使ってればいいんだよ

436 :デフォルトの名無しさん:2017/05/18(木) 18:04:44.47 ID:pcJKb7uP.net
>>431
ベタージャバ

437 :デフォルトの名無しさん:2017/05/18(木) 18:07:21.85 ID:pcJKb7uP.net
>>435
listは意味なくない?

438 :デフォルトの名無しさん:2017/05/18(木) 18:10:00.52 ID:pcJKb7uP.net
>>432
おけ

439 :デフォルトの名無しさん:2017/05/18(木) 18:11:30.15 ID:pcJKb7uP.net
>>433
なるほどねー

440 :デフォルトの名無しさん:2017/05/18(木) 19:53:57.62 ID:YsT8kXyi.net
>>435
わかりました
初心者はあまり疑問に思わずにとにかく慣れた方が良さそうですね
もうちょっと詳しくなってから改めて考察します

441 :デフォルトの名無しさん:2017/05/18(木) 20:45:03.53 ID:41k9t0yi.net
paizaってサイトいいですか?

442 :デフォルトの名無しさん:2017/05/18(木) 21:28:09.31 ID:6GwfJscL.net
>>441
34歳には向いてません

443 :デフォルトの名無しさん:2017/05/18(木) 21:32:18.96 ID:mhJy8/8/.net
paizaっつーか競技プログラミングにJavaは相性悪くないですかね?

444 :441:2017/05/18(木) 23:50:40.17 ID:41k9t0yi.net
34歳板の住人以外の方からのレス、お待ちしています。

>>443
競技プログラミングなんですか?誰が速いとか競うんですか?

445 :デフォルトの名無しさん:2017/05/18(木) 23:56:50.39 ID:GHcWpog8.net
>>444
34歳板って何?
スレチにつき誘導

【CodeIQ】コーディング転職 2社目【paiza】 [無断転載禁止]©2ch.net
http://tamae.2ch.net/test/read.cgi/prog/1495051565/

446 :441:2017/05/19(金) 00:51:55.16 ID:os6zJ8mg.net
>>445
スレ違いでしたか、すいませんでした。
リンクありがとうございます。

447 :デフォルトの名無しさん:2017/05/19(金) 04:01:57.36 ID:7cLMvP3Z.net
画像を読み込み、それにスタンプを張り付けて保存するGUIツールを作っています。
JFrameの左側にはコントローラーとして動作するJPanel、右側には読み込んだ画像とスタンプを表示するJPanelを配置しています。
コントローラーの操作によって画像を新しく読み込むたびに右側のJPanelを破棄し、新しいJPanelを生成するようにしたいのですが
これを実現するのに今考えているのは、コントローラーのインスタンスのフィールドにJFrameへの参照を格納しておき
コントローラーのイベントリスナーで新規読み込みを受け取ったら、JFrameからJPanelをremove()、ついでnewする、というものです。

448 :デフォルトの名無しさん:2017/05/19(金) 04:05:15.30 ID:7cLMvP3Z.net
続きです。

JPanelを再生成するためだけに3つのクラスをまたぐ、というのがどうもスマートに思えません。
可読性やメンテナンス性も悪い方法だと思うのですが、これ以外に良い方法が思いつきません。
もっと良い方法があるのか、それともそもそもの構造が悪いのか、どうかアドバイスをお願いします。

449 :デフォルトの名無しさん:2017/05/19(金) 04:40:07.52 ID:Yy4p2hUQ.net
>画像を新しく読み込むたびに、
>右側のJPanelを破棄し、新しいJPanelを生成する

一々、パネルの破棄・生成を繰り返さなくても、
画像を再読み込みすれば、良いのでは?

has-a だろ。
フレームは、複数のウィジェット(UI コンポーネント)を持つ

フレームの作成(JFrameクラス)
https://www.javadrive.jp/tutorial/jframe/

450 :デフォルトの名無しさん:2017/05/19(金) 04:58:05.99 ID:7cLMvP3Z.net
ありがとうございます。

右側のパネルは、JPanelを継承したクラスのインスタンスで、読み込んだ画像の表示やスタンプの情報の保持を行っています。
画像を新しく読み込む場合、それらの情報のクリアもする必要があるので、パネル自体を破棄し再生成したほうが楽ではないかと思ったのです。
それよりも、すべての情報をクリアするメソッドを用意しておき、画像読み込みと同時にそれを呼ぶようにすべきでしょうか?

451 :デフォルトの名無しさん:2017/05/19(金) 06:24:16.60 ID:Yy4p2hUQ.net
厳密に言えば、パネルの破棄・生成を繰り返すのは、
GCの仕事が増えるだけで、無駄だけど、

回数が少ないのなら、やりやすいようにすればいい

452 :デフォルトの名無しさん:2017/05/19(金) 07:19:36.73 ID:TEDPcFuO.net
>>450
すべての情報をクリアするって書いてるけど、クリアするのは画像の情報のリスト1つだけだろ?
もしかして継承したパネルの中にバラバラに情報もたせてる?

453 :デフォルトの名無しさん:2017/05/19(金) 07:56:58.28 ID:QxcdFIRu.net
3つのクラスをまたぐっていうのは、左JPanel内で
this.jFrame.rightJPanel = new RightJPanel()
みたいなことをしてるのかな?

JFrameにreadNewImage()を作って右JPanelのnewとかの処理はそこでして
左JPanelはreadNewImage()を呼び出すだけでってのはどう?

454 :デフォルトの名無しさん:2017/05/19(金) 08:37:45.48 ID:Yy4p2hUQ.net
左右のパネルが、相互に依存したら、ダメ

親 → 左の子
親 → 右の子

あくまでも、親から働きかけるようにする。
つまり、階層構造を浅くする

そうしないといずれ、スパゲッティ・泥団子のように密結合し、手に負えなくなる。
設計の基本は、疎結合

455 :デフォルトの名無しさん:2017/05/19(金) 09:09:28.77 ID:bDipVMhT.net
極力一元管理

456 :デフォルトの名無しさん:2017/05/19(金) 09:59:04.74 ID:UcTeaZgR.net
上司を通さず別部署に仕事頼んじゃうのはまずいみたいな話か

457 :デフォルトの名無しさん:2017/05/19(金) 15:02:46.01 ID:7cLMvP3Z.net
>>451
そうなんですか・・・
やろうと思えば何度でも再読込はできるので、この方法はやめておきます。

>>452
パネルのフィールドとして、画像の縦横サイズ、スタンプのインスタンスなどを持っています。

>>453
それです。
コントローラーからの操作はすべてJFrameの持つメソッドから行うようにする、ということでしょうか?

458 :デフォルトの名無しさん:2017/05/19(金) 15:27:47.14 ID:V7EPUvXw.net
Javaだけで2chのスレ・レス取得、スレに書き込みできるのでしょうか?

459 :デフォルトの名無しさん:2017/05/19(金) 15:39:32.26 ID:gmSWrJbX.net
Javaだけで作られた専ブラが既にある、後は分かるな?

460 :デフォルトの名無しさん:2017/05/19(金) 15:53:27.22 ID:TEDPcFuO.net
>>457
そういうのはパネルのフィールドにばらまいてはダメなやつだよ
パネルは入れ物であって中身は中身でまとめて別に管理しないと

ついでに言うと、読み込んだ画像とスタンプは同じもの
読み込んだ画像って、ユーザが選択して重なり具合が常に最背面になってるスタンプだろ?
パネルにはList<ImageInfo>みたいなものを持たせて、Listの中身を並び順で画像表示するような設計でいい気がする
リセットはListを空にして再表示だし、複数スタンプもListに追加して再表示で終わるだろ

461 :デフォルトの名無しさん:2017/05/19(金) 15:59:47.29 ID:V7EPUvXw.net
>>459
あったんですね
thx

462 :デフォルトの名無しさん:2017/05/19(金) 16:28:12.16 ID:7cLMvP3Z.net
>>454
おっしゃるとおりだと思います。
現に、現在進行形で泥団子化しているような気がします。
自分でもなんとかしたいと思っているのですが、今まで手続き型のやり方でお茶を濁してきたツケで、オブジェクト指向的な考え方に馴染めず困っています。
例えば、左のパネルを操作して右のパネルに表示されている画像上にスタンプを追加する、というような操作を考えたとき、どのように実装すればいいかこんがらがってしまって・・・
教えてくれとは申しませんので、オブジェクト指向で書かれたGUIアプリケーションのサンプルソース集などはないでしょうか。

463 :デフォルトの名無しさん:2017/05/19(金) 16:40:46.85 ID:7cLMvP3Z.net
>>460
なるほど、画像やスタンプの情報もオブジェクトに閉じ込めてしまうのですね。
確かにそのようにすれば初期化や並び順管理も容易にできそうです。
今は画像上のマウスポインタのx,y座標を保存する変数などもバラバラになっているのですが、これもオブジェクトとして扱えば良いですね。
どうもありがとうございます。

464 :デフォルトの名無しさん:2017/05/19(金) 16:54:03.15 ID:8fy8h9zZ.net
>>461
ちなみにV2Cってやつ

465 :デフォルトの名無しさん:2017/05/19(金) 18:11:40.44 ID:V7EPUvXw.net
>>464
どうもです

466 :デフォルトの名無しさん:2017/05/19(金) 19:01:25.59 ID:UcTeaZgR.net
>>464
V2Cは今では2chへの書き込みできないよな。
したらばとかの2chに似ている掲示板では書き込みできるが。

467 :デフォルトの名無しさん:2017/05/20(土) 12:30:03.29 ID:MUxe8l0w.net
パッケージ名とクラス名を同じにしないといけないってなんで?
調べても出て来なかったし、実際違う名前にしてみても問題なく動いた

468 :デフォルトの名無しさん:2017/05/20(土) 14:15:46.69 ID:PoJQGONs.net
>>467
クラス名とファイル名じゃないか?

469 :デフォルトの名無しさん:2017/05/20(土) 15:40:52.53 ID:MUxe8l0w.net
>>468
ああごめん
そうだった
でも結局それでも動いた

470 :デフォルトの名無しさん:2017/05/21(日) 17:41:03.62 ID:yzZ9l0t7.net
どうでもいいことかもしんないけど、is○○って、boolean型を返すメソッド名のみに使うべき?
boolean型の変数名に使うのはNG?

471 :デフォルトの名無しさん:2017/05/21(日) 17:57:08.86 ID:1QefLJTZ.net
>>470
OK、Javaはメソッド名とフィールド名を区別するから関係ない

472 :デフォルトの名無しさん:2017/05/21(日) 19:27:03.36 ID:wfwMepb4.net
>>471
動くか動かないかではなくて、命名規則的に好ましいか好ましくないかを聞きたいです

473 : :2017/05/21(日) 19:30:34.94 ID:pUWFtSb1.net
悪くはないと思うよ,嘘ついているわけじゃないし

474 :デフォルトの名無しさん:2017/05/21(日) 19:38:17.39 ID:LHr6gtTw.net
人によるといわれたらそれまでなのですが、三十代プログラミング経験無しが業務で使えるようになるにはどれくらいかかると思いますか?

475 :デフォルトの名無しさん:2017/05/21(日) 19:47:45.48 ID:zNfd0kUp.net
出来るからって区別しないのはキモい。
日本語で変数書いても悪く無いけど、キモいでしょ。
俺俺ルールならメソッドはisXXX。
変数やフィールドはXXXflgとかXXXflagとかにしてたな。

bool型の変数やフィールドにこう付けろって慣習はJavaは無かった気がする。
Cだとflgやflagで付ける慣習(ってほどでも無かったけど)あったから、おいらはJavaでもそうしてただけだが。

ずっとずっと昔の話だが。。。

476 :デフォルトの名無しさん:2017/05/21(日) 19:48:50.69 ID:RUGjRrqs.net
>>474
スレチ
てゆうか君>>441とか>>348の人でしょ
なんでJavaスレでそんな質問するんだよ
スレタイ読める?
ここはJavaの初心者スレであってネット初心者スレではないんだけど

477 :デフォルトの名無しさん:2017/05/21(日) 19:49:58.64 ID:Ku4JySDo.net
人によるし業務によるとしか
なんの根拠も無いけど半年を目安にして貰ったら良いんじゃないかな

478 :デフォルトの名無しさん:2017/05/21(日) 20:00:57.93 ID:zNfd0kUp.net
>>474
まあ長くて一年で才能ある人は何かしらゲーム作れてるよ。
ジャンケンとかの簡単なのじゃなくて格ゲーみたいなの。
具体的には同級生がそう言う人種。
2-3ヶ月で作れてた気もするが。

一年で出来ない奴は、おいらみたいに10年経ってもショボいツールしか作れない。

479 :デフォルトの名無しさん:2017/05/21(日) 20:36:10.10 ID:KT6Xsd7k.net
>>476-478
申し訳ありません。
業務と平行しながら勉強してるのでここでいいかなと思いまして。

なかなか身に付かず焦って質問してしまいました。半年から一年を目処に頑張ります。

480 :デフォルトの名無しさん:2017/05/21(日) 21:17:08.99 ID:8VZiX6Z0.net
>>479
次からはこっちで質問すると良いよ。

スレ立てるまでもない質問はここで 147匹目 [無断転載禁止]©2ch.net
http://echo.2ch.net/test/read.cgi/tech/1490436082/

481 :デフォルトの名無しさん:2017/05/22(月) 08:09:37.82 ID:rV93qz9q.net
Windows+Java環境下でFFTを計算したいのですが感染性が無く再配布可能なライセンスのライブラリってありますか?

482 :デフォルトの名無しさん:2017/05/22(月) 09:22:38.69 ID:4kDceHI4.net
>>481
ググったらファイナルファンタジータクティクスが出てくるぞ?
それの何を計算するんだ?(笑
とか言われないように略称じゃなくてきちんと書けやアホ

あとなぜライセンスにこだわるんだ?
作ったもので金とるからって理由なら調査費用くらい惜しむなよ

483 :デフォルトの名無しさん:2017/05/22(月) 09:29:07.58 ID:mjjAkcu0.net
高速フーリエ変換通じないのは流石に通じない方が悪いし、通じない奴は質問の対象者じゃないんだから黙っとけよ

484 :デフォルトの名無しさん:2017/05/22(月) 10:30:45.35 ID:1JJhboIc.net
プロゲートで無料のぶんだけひととおりやったんですがこんな単純なものだけで組み合わせたら色々できるの?

485 :デフォルトの名無しさん:2017/05/22(月) 10:57:24.88 ID:cucl6upm.net
プログラミングは言語は何であれアイデアや応用の世界だからな

486 :デフォルトの名無しさん:2017/05/22(月) 11:14:41.72 ID:tvdR/xt5.net
「アホ言うやつがアホ」という言葉がまた証明されたようだな

487 :デフォルトの名無しさん:2017/05/22(月) 12:09:31.25 ID:P/AfA+PI.net
>>482
そんなこと言うやつがクソだろ

488 :デフォルトの名無しさん:2017/05/22(月) 14:14:19.86 ID:1JJhboIc.net
難しいものを作るには難しいプログラムが必要じゃなくて簡単なものの組み合わせ方って言うことなの?

489 :デフォルトの名無しさん:2017/05/22(月) 14:23:39.87 ID:cucl6upm.net
何をイメージして難しいとか言ってるんだ?

490 :デフォルトの名無しさん:2017/05/22(月) 14:59:59.52 ID:0bIAcz+AQ
Fileクラスってディレクトリのパスも指定できるんだよね?
ファイルのパスはできるのにディレクトリのパスを指定するとアクセス拒否される

491 :デフォルトの名無しさん:2017/05/22(月) 14:53:57.12 ID:d6K1UVaP.net
ま、そうだな。難しい漢字みたいなものだ。
分解すると一つ一つは簡単なカタカナみたいなやつでしかない。

492 :デフォルトの名無しさん:2017/05/22(月) 16:08:03.03 ID:3W7nNBo7.net
難しいものってのが何なのかによるんじゃないかね
計算量が膨大なものならそれなりに難しいアルゴリズムも必要になるだろうし
Javaでそこまで踏み込むかはわからんが

493 :デフォルトの名無しさん:2017/05/22(月) 16:23:53.42 ID:PfanrHfD.net
>>481
これなんかどう?
http://hp.vector.co.jp/authors/VA046927/fft4gjava.html

494 :デフォルトの名無しさん:2017/05/22(月) 19:43:15.47 ID:rV93qz9q.net
>>493
おぉ、ありがとうございます。試してみます

495 : :2017/05/22(月) 20:00:29.53 ID:Zgh5eQVH.net
>>482
FFTもしらないなんて‥

496 :デフォルトの名無しさん:2017/05/22(月) 20:02:50.44 ID:Xg9/hZFe.net
>>482
一番上に高速フーリエ変換のWikiが来るじゃねーかw

497 :デフォルトの名無しさん:2017/05/22(月) 20:10:28.65 ID:mjjAkcu0.net
Googleって検索者がよく調べてるものの関連のものが上に来るんだっけ?

498 :デフォルトの名無しさん:2017/05/23(火) 04:57:47.00 ID:ZEoEO5ey.net
FFT っていう単語を知らないなら、さすがにヤバイ、レベル

Matlab などの数値計算なら、Python

tmpnb
Jupyter Notebook (IPython)

499 :デフォルトの名無しさん:2017/05/23(火) 19:41:11.76 ID:i368ua84.net
Rubyのpメソッドみたいに
変数の中身や配列の中身を手軽に確認できるメソッドって無いのでしょうか
特に配列の中身を確認する方法が分からず、デバッグをする際に苦労するのですが・・・・・・

500 :デフォルトの名無しさん:2017/05/23(火) 20:01:14.31 ID:nu8Noumz.net
>>499
Arrays#toStringもしくはArrays#deepToString使えばおk
RubyみたいにpはないけどIDE使えばsysoutとかsoutから補完できるぞい

501 :デフォルトの名無しさん:2017/05/23(火) 20:01:46.83 ID:0KCdNJNi.net
Arrays.toString(調べたい配列)をよく使うわ

502 :デフォルトの名無しさん:2017/05/23(火) 20:26:13.35 ID:nu8Noumz.net
そういやスタティックメソッドだから#じゃなかった

503 :デフォルトの名無しさん:2017/05/23(火) 20:52:26.34 ID:+maOq34X.net
日付と時刻を表示するプログラムを作ったのですが、時間の表示がおかしいです。
なぜでしょうか?
https://ideone.com/Osdsox

504 :デフォルトの名無しさん:2017/05/23(火) 21:00:51.52 ID:i368ua84.net
>>500
ありがとうございます
その二つを使ってチェックしていきたいと思います

>>503
デフォルトだと日本時間ではなく、グリニッジ標準時間 (GMT)になるので
時差の分ずれてると思われます

505 :デフォルトの名無しさん:2017/05/23(火) 21:02:43.60 ID:IEg1DOoE.net
>>503
IDEONEの鯖のタイムゾーンがGMT仕様だからじゃないかな、多分手元で実行すれば大丈夫

506 :デフォルトの名無しさん:2017/05/23(火) 21:03:25.21 ID:IEg1DOoE.net
あ、すまんこれシステムのタイムゾーン取ってるわけじゃないのか

507 :デフォルトの名無しさん:2017/05/23(火) 21:15:24.77 ID:RzWtz9Yc.net
ほんとだ
https://ideone.com/qKqvOz

508 :502:2017/05/24(水) 00:25:16.54 ID:PoyHH2+7.net
レスをくれた方、ありがとうございました。
>>507の方のリンクやスッキリJava実践編を参考に改良してみたいと思います。

509 :デフォルトの名無しさん:2017/05/24(水) 17:28:31.44 ID:rgjqqiZm.net
https://ideone.com/TgG170

配列の中身を拡張for文表示させようとした際に
上記のように上手く行かないのですが、なぜなのでしょうか?

510 :デフォルトの名無しさん:2017/05/24(水) 18:14:51.41 ID:oppUfTVj.net
>>509
System.out.println(i);

511 :デフォルトの名無しさん:2017/05/24(水) 18:51:24.14 ID:NmDuToTQ.net
>>509
その文脈でのiはループ変数ではなく配列のそれぞれの要素そのものだから、>>510の書き方をすればいい
まぁそもそもループ変数じゃないんだからiなんて名付けちゃいかんね
nくらいにしとくといいよ

512 :デフォルトの名無しさん:2017/05/24(水) 19:16:31.99 ID:rgjqqiZm.net
>>510>>511
ああ、ループ変数ではなく、そのまま要素になるんですね
混同してしまいました
勘違いしないようにもっと分かりやすい名前をつけるようにします

ありがとうございました!

513 :デフォルトの名無しさん:2017/05/24(水) 19:57:10.67 ID:2FV//qQH.net
拡張for文をちゃんと理解して
numsから要素取り出してるだけだから
iは1,2,3でnum[i]は2,3,範囲外例外になってるだけだよ。

514 :デフォルトの名無しさん:2017/05/24(水) 23:15:42.47 ID:CMr8dFBK.net
propertiesファイルを読み込んで、そこからenumを生成するようなことは可能ですか?
つまり

#Animals.properties
enums=DOG,CAT,HUMAN, ...

と書かれたファイルを読んで

enum Animals {
    DOG,
    CAT,
    HUMAN,
    ...

となるようにしたいのですが

515 :デフォルトの名無しさん:2017/05/24(水) 23:21:34.43 ID:0Qc+9z9K.net
   ∩___∩
   | ノ      ヽ
  /  >   ● |    ムリ☆
  |    ( _●_)  ミ
 彡、    |∪|   )
/      ヽノ //
ヽ|       /
 |       /
 ヽ /  /
  / /ヽ
(´_ /ヾ_)

516 :デフォルトの名無しさん:2017/05/24(水) 23:30:40.23 ID:CMr8dFBK.net
やはり無理ですよね・・・
ありがとうございました。

517 :デフォルトの名無しさん:2017/05/26(金) 09:43:02.44 ID:AcHukEBi.net
型のメソッドdatetime(Timestamp)は引数(Timestamp)に適用できませんって出るんだけどどうしたらいいのか教えてください

518 :デフォルトの名無しさん:2017/05/26(金) 12:02:24.51 ID:eKd8m2Nz.net
適用できないのでどうしようもありません

519 :デフォルトの名無しさん:2017/05/26(金) 12:47:00.31 ID:7lZclfT9.net
違うpackageのTimestampを引数に使ってるんじゃね?

520 :デフォルトの名無しさん:2017/05/26(金) 12:52:15.67 ID:R5Fz6uU5.net
ideoneにでもソース上げた方が早そう

521 :デフォルトの名無しさん:2017/05/26(金) 13:53:37.24 ID:AcHukEBi.net
>>519
うん、違うパッケージで書いたゲッター、セッターに値を入れようとしてる

522 :デフォルトの名無しさん:2017/05/26(金) 14:15:00.54 ID:eKd8m2Nz.net
アホの子かな?

523 :デフォルトの名無しさん:2017/05/26(金) 14:23:54.10 ID:AcHukEBi.net
ごめん、間違ってた同パッケージ内の他クラスに値を入れようとしてるんだ

524 :デフォルトの名無しさん:2017/05/26(金) 15:05:41.68 ID:AcHukEBi.net
解決しました。どうやらTimestampのimportが間違ってたみたい

525 :デフォルトの名無しさん:2017/05/26(金) 17:56:19.31 ID:jskRO0Qi.net
FFT の本を買って読むのが一番だと思うが、Java で出版されているのはあるのかな?
https://www.amazon.co.jp/dp/4789830322/

526 :デフォルトの名無しさん:2017/05/27(土) 05:57:17.98 ID:IXLLFPSU.net
テキスト読み始めて1ヶ月が経過した初心者なのですが
プログラムを書く練習の為にお題や解答等が
記載してある良いサイトがあれば教えて頂けないでしょうか。

527 :デフォルトの名無しさん:2017/05/27(土) 06:40:26.62 ID:I4+BI8Pi.net
>>526
AOJ

528 :デフォルトの名無しさん:2017/05/27(土) 17:51:11.88 ID:3U461hCt.net
新わかりやすいjava入門編というものを進めてきてオブジェクト志向に入り案の定つまづきました
そもそもクラスとメソッドというのがよくわかりません。色々なサイトを見ているとクラスというのはオブジェクトの設計書なる説明が目立ちます
HelloWorldなりif文なりをクラスの中に書いてきましたけど別にオブジェクトの設計書なんて作った覚えがなくてこれはどういうことかと
メソッド(=関数)がまとまったのがクラス(=プログラム)で、クラスがまとまってパッケージ(=大きなプログラム)になるくらいの認識だったのですが……

529 :デフォルトの名無しさん:2017/05/27(土) 18:03:31.28 ID:WiwmRK76.net
ただメソッドをまとめたものじゃなくてクラスのインスタンス内にはフィールドによる状態があるからね

530 :デフォルトの名無しさん:2017/05/27(土) 18:28:20.46 ID:5U21Fkdq.net
クラス=実在しない脳内の中の紙切れ。設計書でも何でもない
インスタンス=実在する紙切れ。いくらでも複製可能

531 :デフォルトの名無しさん:2017/05/27(土) 18:43:41.59 ID:5U21Fkdq.net
static修飾子=脳内の紙に思い描いただけでそれにアクセスすることができる魔法の言葉

つまりウンコ変数やチンコ変数またはマンコメソッドなどを
脳内で想像しただけで既に実在することになるが複製はできない

532 :デフォルトの名無しさん:2017/05/27(土) 20:45:17.11 ID:899ucGB1.net
>>527その他の方
525の人ではないですが、
日本語のサイトでは無いですかね?英語が読めないもので…。

533 :デフォルトの名無しさん:2017/05/27(土) 20:46:45.03 ID:WiwmRK76.net
AOJなら一部ページ除いてちゃんと日本語が用意されてるよ

534 :デフォルトの名無しさん:2017/05/27(土) 20:47:26.42 ID:bQ1clPq0.net
>>532
https://paiza.io/ はどうだったかな?前に問題解いた記憶があるんだが、答えはあったかどうか忘れた。

535 :デフォルトの名無しさん:2017/05/27(土) 21:20:33.59 ID:3U461hCt.net
>>529->>531
説明ありがとうございます。さっぱり解らないのでやはりjavaは自分には早かったようです……

536 :デフォルトの名無しさん:2017/05/27(土) 21:37:32.99 ID:583uXQeo.net
プログラマで英語読めると読めないじゃ得られる知識に天と地ほどの差があるから、真面目に英語覚えた方がいいぞ。

537 :デフォルトの名無しさん:2017/05/27(土) 21:41:43.89 ID:HQTdzCti.net
>>532
>>348

538 :デフォルトの名無しさん:2017/05/27(土) 21:54:13.93 ID:WqZ7Atlq.net
>>532
会津大学が運営だぞ……さすがに日本語対応してることくらいは気づいてくれ

539 :531:2017/05/27(土) 22:33:43.16 ID:899ucGB1.net
レスをくれた方、ありがとうございました。

>>533
よく見たら日本語にできました、すいません。

>>534
このサイトも日本語にできますね。ありがとうございます。

>>536
単語を覚えるのが苦痛なんです…。

>>538
確かにu-aizu.ac.jpって書いてありますね。
URLに気付かないとは…自分自身に笑っちゃいました。

540 :デフォルトの名無しさん:2017/05/27(土) 22:45:08.47 ID:Cnbgg+tR.net
>>539
むしろ単語はコード読んでたら普通の人より知ってるだろ。。。

541 :デフォルトの名無しさん:2017/05/27(土) 22:50:09.90 ID:aR8Z7uvM.net
英語読めると海外サイトのQ&Aが原文で読めるっていうのが凄いありがたいからな
大概ググると海外で既に答えが出てる問題だったりするし

542 :531:2017/05/28(日) 00:55:35.48 ID:cBtiXtru.net
>>540
コードに出てくる単語には詳しくなっても、専門用語に関してはあんまり…。
記憶力に自信が無い方なので…。

>>541
そうですか、それはメリットですね。
でも今から英語をマスターするなんて俺には無理でしょうね…。

543 :デフォルトの名無しさん:2017/05/28(日) 00:59:02.60 ID:7JGA0U31.net
34歳、発達障害の無職ですが…6 [無断転載禁止]©2ch.net
http://tamae.2ch.net/test/read.cgi/prog/1495077839/

544 :531:2017/05/28(日) 01:12:07.04 ID:cBtiXtru.net
失礼します。

>>537 >>543
リンク貼るの止めてもらえませんか?ニーズも無さそうですし。

545 :デフォルトの名無しさん:2017/05/28(日) 01:18:18.20 ID:1i8XYM/R.net
問題とかアルゴリズムにやたら拘ってるけど
関数分割もできないレベルの奴がそんなもの追い求めても時間の無駄だって
ずっと教えてやってるのに一向に聞く耳持たないよなお前

546 :デフォルトの名無しさん:2017/05/28(日) 05:51:20.33 ID:oCI88hgR.net
>>542
マスターするというほどでなくても大丈夫。とにかくわからない単語が出てたらコピーしてすぐググれ。意味出て来るから。

547 :デフォルトの名無しさん:2017/05/28(日) 09:34:28.95 ID:7JGA0U31.net
>>544
参考にします。

548 :デフォルトの名無しさん:2017/05/28(日) 16:33:34.89 ID:x9tOFMEC.net
教えてやってんのに無理無理ばっかりじゃもう教える気にならんわ

549 :デフォルトの名無しさん:2017/05/28(日) 17:02:24.77 ID:JNmEYY0a.net
(´・ω・`)みんながおすすめしてたからスッキリわかるJAVA入門注文しました
これ分厚いけどがんばって読んだらプログラマーになれるの?
みんなはひと月ぐらいで読み終わるの?
http://i.imgur.com/eiBgULb.jpg

550 :デフォルトの名無しさん:2017/05/28(日) 17:15:31.02 ID:x9tOFMEC.net
少しプログラミングの経験があるなら1週間あれば読み終わる
ただ読むだけじゃ役に立たない 自分で実際に書いて動かしてみないと

551 :デフォルトの名無しさん:2017/05/28(日) 17:35:16.55 ID:3VcyGTAo.net
>>549
読むと言うよりは実際にソースコードを動かしながら勉強していく
ついでにIDEも導入して、実際に開発してる気分でやっていくとテンションが上がる上
IDEの使い方も理解できて一石二鳥

552 :デフォルトの名無しさん:2017/05/28(日) 17:50:43.69 ID:vFbXjviW.net
クラスがBTOパソコンのカタログスペックみたいなもんでメモリだのハードディスクの容量だの指定して注文して届いたPCがインスタンスみたいな理解したんですけど大丈夫ですかね
ただそうなると本でオブジェクト指向の手前までに載ってるプログラムもクラスってなんでクラスなんです?例えばただのHelloWorldとか
インスタンス生成しないならクラスである必要でないというかそもそもクラスじゃないんじゃないかと思うんですけれど

553 :デフォルトの名無しさん:2017/05/28(日) 17:52:43.55 ID:1i8XYM/R.net
スッキリはホントわかりやすいと思うわ
そこら辺のゴミみたいな入門書とは雲泥の差だから宣伝しなくても
口コミで勝手に売れて作者も印税ウハウハだろうな
元々ある程度Java触ったことある奴なら1日で読み終わる

554 :デフォルトの名無しさん:2017/05/28(日) 17:53:47.81 ID:JNmEYY0a.net
>>551
>>550
(´・ω・`)そうなんやー
じっさいにやりながらですね
がんばります

555 :デフォルトの名無しさん:2017/05/28(日) 18:00:25.93 ID:1i8XYM/R.net
HelloWorldが出力されてる時点でインスタンスが存在するんだが

556 :デフォルトの名無しさん:2017/05/28(日) 18:43:34.75 ID:QwjzxVOm.net
作家の座談会によると、
スッキリは、無名の著者が、2, 3年掛かって作ったとか聞いた

イラスト代とか、途方もなく、お金が掛かっているプロジェクト。
大赤字からスタートしてるんだろ

無名の著者で、売れるかどうかも、分からないような本だった

理由は知らないけど、スッキリの編集者は、転職したらしい

557 :デフォルトの名無しさん:2017/05/28(日) 18:53:19.68 ID:x9tOFMEC.net
>>555
mainメソッドにのみ記述した場合はインスタンス作成されませんが

558 :デフォルトの名無しさん:2017/05/28(日) 19:37:02.55 ID:1i8XYM/R.net
メインメソッドが既にインスタンスなんだが
バカなんだから思い込みだけでレスつけるなよ阿呆
インスタンスの定義が何かわかってんのかお前

559 :デフォルトの名無しさん:2017/05/28(日) 19:41:04.59 ID:wvAEkP6f.net
>>556
だから元を取るために必死にダイマしてるの?

560 :デフォルトの名無しさん:2017/05/28(日) 19:44:08.81 ID:rKdLC74L.net
>>558
知ったかで人を阿呆呼ばわりするのはどうかと
メインメソッドにstaticって付いてるのの意味分かってる?

561 :デフォルトの名無しさん:2017/05/28(日) 19:45:36.04 ID:x9tOFMEC.net
>>558
なんでいきなりキレられてるのか全然わかんないんだけど
メインメソッドがインスタンスになることはできないよ?

562 :デフォルトの名無しさん:2017/05/28(日) 19:47:27.86 ID:1i8XYM/R.net
クラスローダーがmainメソッドのあるクラスを読みこんだ時点で
mainメソッドがインスタンス化するんだよ阿呆
小学校からやり直して来いアホども

563 :デフォルトの名無しさん:2017/05/28(日) 19:50:14.15 ID:1i8XYM/R.net
メモリの概念すらわかってなさそうな馬鹿しかいないとかビックリだわ
HelloWorldは魔法の言葉か?w

564 :デフォルトの名無しさん:2017/05/28(日) 19:54:14.22 ID:rKdLC74L.net
メソッドがインスタンス化で草生えるわ、JavaScriptかってのw

565 :デフォルトの名無しさん:2017/05/28(日) 19:55:52.87 ID:tr4rluHU.net
>>561
Appクラスにmainがあるとしたら、mainはApp.classというひとつしか存在しないインスタンスのメンバーだよ

566 :デフォルトの名無しさん:2017/05/28(日) 19:55:55.36 ID:rKdLC74L.net
まあクラスオブジェクトをインスタンスって言うならそうだろうけどな

567 :デフォルトの名無しさん:2017/05/28(日) 20:03:51.11 ID:1i8XYM/R.net
インスタンスじゃなかったら何なんだよ?wwwww
メモリ上に実態がないのにアクセスできんのか?www
専門学校生レベルの奴はチンポでも弄ってろよ阿呆

568 :デフォルトの名無しさん:2017/05/28(日) 20:15:26.83 ID:qHRbOIzL.net
>>567
聞く前に自分で考える癖を付けようよ

569 :デフォルトの名無しさん:2017/05/28(日) 20:57:22.72 ID:VccFyu7h.net
>>555
自分の書いた部分以外では、な。

570 :デフォルトの名無しさん:2017/05/28(日) 21:04:50.30 ID:VccFyu7h.net
>>567
涙拭けよ

571 :デフォルトの名無しさん:2017/05/28(日) 21:35:45.78 ID:QPUrPhGM.net
Javaから入るのはよくないけどな。

572 :デフォルトの名無しさん:2017/05/28(日) 22:58:57.33 ID:vFbXjviW.net
>>555
new クラス名 ってやって初めてインスタンスができるのではないのですか

573 :デフォルトの名無しさん:2017/05/28(日) 23:00:44.44 ID:Y/jTFKWE.net
>>571
どういうところがよくないの?

574 :デフォルトの名無しさん:2017/05/28(日) 23:02:53.89 ID:Y/jTFKWE.net
>>572
ライブラリ内部でインスタンス作ってるケースも普通にあるからね
newを自分で書くときは、あくまで自クラスでインスタンス作るときの場合に使うってだけ

575 :デフォルトの名無しさん:2017/05/28(日) 23:08:25.60 ID:QPUrPhGM.net
>>573
コンピュータとオブジェクト指向プログラムが乖離しすぎているから。

576 :デフォルトの名無しさん:2017/05/28(日) 23:26:56.70 ID:6qJqAaY9.net
>>575
それJava云々じゃなくてオブジェクト指向自体に疑問を呈してるってことだろ?

577 :デフォルトの名無しさん:2017/05/28(日) 23:36:35.46 ID:wvAEkP6f.net
文脈的には単に初心者が手続き型プログラミングとオブジェクト指向型プログラミングを
一気に覚えようとするのは好ましくないくらいのニュアンスじゃないの

578 :デフォルトの名無しさん:2017/05/29(月) 00:27:00.16 ID:lFCv8yRy.net
オブジェクト思考言語が手続き型言語ではないという説は初めて聞いた

579 :デフォルトの名無しさん:2017/05/29(月) 00:45:21.43 ID:KqfCApyh.net
>572
インスタンスって言葉に惑わされてるだけ
mainメソッドという処理を行うためのstaticな領域は既に存在する
その中で書かれた処理は順次あらたに領域が確保されていくだけ
処理を行うための領域が存在したないただのクラスはnewして初めて領域が確保される

580 :デフォルトの名無しさん:2017/05/29(月) 01:13:01.57 ID:JZ+YO2S6.net
staticの概念が難しい・・・・・・
言われてる事は分からんでも無いんだけど、理解出来てる気がしない

581 :デフォルトの名無しさん:2017/05/29(月) 08:27:06.94 ID:C0b3SugI.net
int[]よりArrayList<Integer>の方が型安全ですが、固定長なら配列の方が高速に動作しますよね?
普通はどちらを取るものですか?

582 :デフォルトの名無しさん:2017/05/29(月) 08:51:58.84 ID:BkgkdtpP.net
型安全とは?

583 :デフォルトの名無しさん:2017/05/29(月) 10:09:34.31 ID:krahuleL.net
>>579
入門者にstaticとか領域とか申されましても……
待ってくれたまえ ことばの洪水を ワッと いっきに あびせかけるのは

584 :デフォルトの名無しさん:2017/05/29(月) 10:17:19.00 ID:QVs41rDP.net
>>582
<>でクラス指定しとくと他のクラスのインスタンスへの参照入れられなくなるってことじゃね?

585 :デフォルトの名無しさん:2017/05/29(月) 10:30:59.28 ID:SygdXyO8.net
>>581
普通はどちらかのみ使うではなく、用途によって使い分けるじゃね?

586 :デフォルトの名無しさん:2017/05/29(月) 11:00:42.17 ID:xnEvchj+.net
>>585
Effective Javaでは配列はあまり推奨されてないようなので、実際のところどうなのかなと思いまして

587 :デフォルトの名無しさん:2017/05/29(月) 12:47:36.03 ID:wRfxx2EJ.net
>>581
なにをもって配列の方が速いって言ってるのか知らないけど、ArrayListも中身は配列だからw

588 :デフォルトの名無しさん:2017/05/29(月) 13:17:24.11 ID:xpUPwHwO.net
>>586
しかし ArrayList は文字通り中で配列使ってるよ。
なんだったらソース見てみな。

589 :デフォルトの名無しさん:2017/05/29(月) 13:17:59.69 ID:xpUPwHwO.net
か、かぶった。リロードし忘れた。とほほ。

590 :デフォルトの名無しさん:2017/05/29(月) 13:18:05.22 ID:6ZDN/iGx.net
>>587
コレクションだよな。

591 :デフォルトの名無しさん:2017/05/29(月) 13:20:40.27 ID:6ZDN/iGx.net
>>587
配列のようにしか使わないなら配列の方が早いだろう。

592 :デフォルトの名無しさん:2017/05/29(月) 13:54:37.23 ID:WVHDxzCz.net
「スッキリわかるJava入門」インプレス
昨日購入しまして、早速取り組み開始。
130P程読み進み、例題で「数あてゲーム」を書けってのがありまして、
それを何も見ないで考えて書いて出来上がり走った時の達成感
[ヵンド→]*☆*ヽ(*´Å`*)ノ*☆*[ウレ千→]
この気持ち忘れず最後まで読破します。

チラ裏失礼

593 :デフォルトの名無しさん:2017/05/29(月) 15:08:34.74 ID:qlUWK/sD.net
次はデバッグの楽しさだなw

594 :デフォルトの名無しさん:2017/05/29(月) 16:59:09.15 ID:npKTVoCQ.net
普通のArrayよりArrayListばっかり使ってるわ
可変長の配列の方が個人的にイメージしやすいし

普通の配列は書く時は直感的だけど、ArrayListでは使えるメソッドが使えなかったりするから不便でしょうがない

595 :デフォルトの名無しさん:2017/05/29(月) 18:40:35.39 ID:s4hVHfzU.net
お疲れ様です。
今度、springでwebアプリケーションの業務
をすることになり2週間程学習をしているの
ですが全く理解出来そうにありません。

自学しようにも、インターネットの情報は
少なく感じますし、spring究極入門という本も
買ってみたのですが、何ヶ月かかるか
わからないほど自分には難しいです。

どのように学習を進めて行けばいいでしょうか?

596 :デフォルトの名無しさん:2017/05/29(月) 19:00:48.24 ID:hK31qQAt.net
基本的な事という事を承知の上で質問いたします
nextInt();で生成した乱数が 0〜10だった場合はこの処理をそうでなかったら10〜20かチェックそうでなかったら...
という処理は可能なのでしょうか...?
r = New Random()
for(int s = 0; 10 <= s; s++){
if(s = r){
//処理...
}
}else for(...){
//処理
}
と書きたいのですがelse for が構文エラーになってしまいます....
何か他の方法があるのでしょうか

597 :デフォルトの名無しさん:2017/05/29(月) 19:16:34.05 ID:JOJKTbqr.net
>>596
なんでforループになるのかわからん
書いてることそのまま翻訳したらこうならねえ?

int r = new Random().nextInt(21);

if ( r <= 10 ) { /* ... */ }
else if ( r <= 20 ) { /* ... */ }

598 :デフォルトの名無しさん:2017/05/29(月) 20:58:21.92 ID:KqfCApyh.net
正直フレームワーク系の本って買うだけ金と時間の無駄
最低限アノテーションの使い方とインジェクションの作法覚えて
ググりながらspringプロジェクトをローカルで作成して適当に
簡単な認証システムでも作ってりゃ覚えるだろ
springつってもいくつか種類あったと思うけど

599 :デフォルトの名無しさん:2017/05/29(月) 22:54:19.91 ID:hK31qQAt.net
>>597
すいません説明不足でした、100ならこの景品、80〜99ならこの景品、60〜79ならこの景品、というようなコードを書きたいのでそれでは思い描いた通りにならないのですよ...
for(int s = 0; s <= 100; s++){
if(r = s){

//処理

}
}else for(int t = 101; t <= 200 ; t++){

//同上
}
というように書きたいのです...

600 :デフォルトの名無しさん:2017/05/29(月) 23:15:03.72 ID:npKTVoCQ.net
>>599
そもそもelse forなんて構文無いだろ
書くならこれで良いだろ?

package test;
import java.util.Random;
public class Main {
public static void main(String[] args){
Random rand = new Random();

int n = rand.nextInt(100);
System.out.println(n); //デバッグ用に表示

if(70 <= n && n <= 100){ //70~100まで大当たり
System.out.println("大当たり!");
}else if(40 <= n && n < 69){ //40〜69まで中当たり
System.out.println("中当たり!");
}else if (20 <= n && n < 40 ){ //20〜39まで小当たり
System.out.println("小当たり!"); // 19以下ははずれ
}else{
System.out.println("外れ");
}
}
}

601 :デフォルトの名無しさん:2017/05/29(月) 23:34:58.26 ID:9PSXRaA2.net
>>595
最初にこの本で、オブジェクト指向を学ぶ
スッキリわかる Java入門 第2版、2014

Spring Framework 4 プログラミング入門、掌田津耶乃、2014

アスペクト指向も出てくる

602 :デフォルトの名無しさん:2017/05/29(月) 23:40:17.48 ID:KqfCApyh.net
評価2.5のゴミみてぇな本を勧めるなよwwww
目次見ただけでゴミってわかる
こういう読むだけたいして意味も価値もない無駄な知識を入れようとするから
フレームワーク関連の本は糞で初心者はさらにわからなくなるんだよ

603 :デフォルトの名無しさん:2017/05/29(月) 23:48:53.76 ID:hK31qQAt.net
>>600 様の通りにやってみたところ正常に動作しました、
こんなバカの質問に答えていただきありがとうございました

604 :デフォルトの名無しさん:2017/05/29(月) 23:53:29.49 ID:r7OgtnEw.net
>>602の話聞くよりは本読んだほうがマシだと思う

605 :デフォルトの名無しさん:2017/05/30(火) 00:16:24.33 ID:xiJHA6at.net
>>604
ただのあの本は前提知識がある人向けただからな。

606 :デフォルトの名無しさん:2017/05/30(火) 00:22:56.26 ID:HpOG2ZPb.net
掌田は地雷だから

607 :デフォルトの名無しさん:2017/05/30(火) 00:35:53.61 ID:yvdd5Rk1.net
フレームワークの本に3000円とか金ドブもいいとこ
しかも3年前の生ごみとかありえんわ

608 :デフォルトの名無しさん:2017/05/30(火) 01:20:31.09 ID:2FSzpxmb.net
ほとんどの言語・フレームワークは、掌田だろ

JavaScript, Rails 5, Spring とか、
Unity, Unreal Engine も掌田

609 :デフォルトの名無しさん:2017/05/30(火) 01:22:58.17 ID:6dJw7tnc.net
個人的にはむしろフレームワークの方こそ本か何か体系的に入門から学べるものがあった方が良いと思うけどな
ネットの情報だけだと大事なところ端折ってあったりある程度分かってる人にしか通じなかったりで大変な部分もある
独自フレームワークとかになるとベースを理解してなきゃ話にならないし

610 :デフォルトの名無しさん:2017/05/30(火) 01:59:53.28 ID:H7vYKQcq.net
たまに入門書に親殺された人居るけど色んな意味で謎
Java勉強し始めたら、スッキリ・明解・やさしいの3択じゃね?

611 :デフォルトの名無しさん:2017/05/30(火) 02:22:50.04 ID:zApK3OKs.net
そもそもフレームワークなんて必要なくね?

612 :デフォルトの名無しさん:2017/05/30(火) 02:37:54.92 ID:2FSzpxmb.net
漏れは、柴田望洋・林晴比古・高橋麻奈・猫でもわかるの粂井康孝などの言語学者よりも、

掌田津耶乃・山田祥寛・宮本信二など、
フレームワーク・開発系の本を書ける著者を、上に見てる

この人らの講習会も、1日4万円とか高い

613 :デフォルトの名無しさん:2017/05/30(火) 06:44:19.91 ID:XoWmMRXk.net
漏れとかリアルタイムで使うやつ初めて見たわ
使われてたの10年くらい前なんでしょ?ww

614 :デフォルトの名無しさん:2017/05/30(火) 06:57:02.83 ID:ChA7tHQK.net
>>611
自分でこしらえるか?
豪の者だな

615 :デフォルトの名無しさん:2017/05/30(火) 10:27:24.55 ID:pjqd0kNY.net
漏れ漏れ詐欺

616 :デフォルトの名無しさん:2017/05/30(火) 12:30:57.86 ID:nOhBpO6Y.net
仕事でC#ばかりやっているのでJAVAもかじっておきたいとサーティファイという団体が主催する能力認定試験1級を申し込んだのですが、試験は何の変哲もないテキストエディタでコードをガチで書くのでしょうか?受けたことのある方がいらっしゃったらお聞きしたいです。

617 :デフォルトの名無しさん:2017/05/30(火) 13:04:49.18 ID:xiJHA6at.net
>>611
Javaにはオレオレフレームワークが多くて結局、ソースコードを見るはめになる。

618 :デフォルトの名無しさん:2017/05/30(火) 13:05:39.80 ID:xiJHA6at.net
>>609
それはそのフレームワークを作っている人間どもが不親切なんだよ。

619 :デフォルトの名無しさん:2017/05/30(火) 16:53:33.56 ID:fjPf+h/e.net
学校通ってますが
講師の先生の話を聞いてるより
スッキリわかるjavaを読んでる方が
良くわかると言う悲しい状況になっている(´・ω・`)

620 :デフォルトの名無しさん:2017/05/30(火) 17:54:50.62 ID:bCOz8Dem.net
新入社員で研修だけど講師がCOBOLとCしか実務経験ない人がJava教えてるからスッキリしか読んでない

621 : :2017/05/30(火) 18:29:35.07 ID:tKJtC0l3.net
Javaの資格は修飾に役に立ちますか?

622 :デフォルトの名無しさん:2017/05/30(火) 19:07:03.04 ID:YLdyGF6/.net
>>621
javaとjavascriptが違うものということを知っているというレベルの証明にはなるかな

623 :デフォルトの名無しさん:2017/05/30(火) 19:07:10.57 ID:nOhBpO6Y.net
>>621
javaとjavascriptが違うものということを知っているというレベルの証明にはなるかな

624 :デフォルトの名無しさん:2017/05/30(火) 19:53:54.13 ID:x+NZDIHN.net
JREにはJavaで動くJavaScriptのインタプリタが付属している、ややこしいことに

625 :デフォルトの名無しさん:2017/05/30(火) 21:34:17.85 ID:1UzYBAXD.net
>>619
先生に本を見せてあげなさい

626 :デフォルトの名無しさん:2017/05/30(火) 23:31:59.88 ID:kr6O87Nm.net
JAVAの検定を受けるにあたり、試験で使うTeraPadというテキストエディタを
入れてみたのですが、これって、実務でも使うものなのでしょうか?

きっとIDEを使うんじゃないのかなと思うんですけど。。。

627 :デフォルトの名無しさん:2017/05/30(火) 23:36:47.84 ID:kWERrntF.net
クソみたいな環境以外なら普通IDEだがな、というかテキストエディタでコード書く言語じゃない

628 :デフォルトの名無しさん:2017/05/31(水) 00:03:40.79 ID:IDPR98+O.net
Terapadはテキストエディタでもマイナーだよ。

629 :デフォルトの名無しさん:2017/05/31(水) 00:06:30.92 ID:IDPR98+O.net
>>627
そういう決めつけはよくない。

初めからJavaは統合開発環境を使う前提で作られていない。

630 :デフォルトの名無しさん:2017/05/31(水) 01:02:18.42 ID:AHgBKhbQ.net
メモ帳で作成してUTF-8で保存
これで今まで普通にコマンドプロンプト上でコンパイルできて実行もできていたんだけど
最近方法変えてないのにコンパイル時「MS932にマップできません」とコンパイルエラーになるようになったんだけど何が原因でしょうか
class宣言のpublicの前に/ufeffとか言うのが勝手に挿入されてる?ようなのですが。心当たりがありません。

631 :デフォルトの名無しさん:2017/05/31(水) 01:06:36.69 ID:pEaTZtAB.net
ナムナム

632 :デフォルトの名無しさん:2017/05/31(水) 01:10:47.45 ID:AHgBKhbQ.net
ちょっと心当たりと言えば
最近フォントをricky dimeshedとか言うのに替えたくらいです
でもこれは関係ないよね・・・

633 :デフォルトの名無しさん:2017/05/31(水) 02:54:05.98 ID:eFZA2Mg7.net
>>630
普通にシフトJISで保存すりゃいいじゃん。

634 :デフォルトの名無しさん:2017/05/31(水) 06:34:38.27 ID:L84KcF4c.net
>>630
UTF-16選んでない?
https://ja.m.wikipedia.org/wiki/バイトオーダーマーク

635 :デフォルトの名無しさん:2017/05/31(水) 08:26:49.11 ID:AV1cHHAT.net
TeraPad とかなら、文字コードを指定できるけど、
メモ帳で文字コードを指定できるの?

ただし、TeraPad は、4バイト文字(サロゲートペア)を表示できないかな?

コマンドプロンプトよりも、PowerShell, PowerShell_ise を使えば?
入力文字コードも指定できるかも?

スッキリJavaは、どの道、会社の新人研修でも、
副本として使われる事が多いから、買って読まなきゃならない

講師がすべて教えるのは面倒だから、家でスッキリも読んでおくように言われる。
だから、スッキリが売れる

636 :デフォルトの名無しさん:2017/05/31(水) 08:46:49.64 ID:G90fYmhY.net
そんなに本の話がしたけりゃスレあるんだからそっちでやって
Javaのお進め図書・情報・url
ttp://echo.2ch.net/test/read.cgi/tech/1457392971/

>>630
メモ帳で保存するときのオプションで、文字コードシフトJIS選べば解決する
メモ帳でUTF保存すると全部BOM(バイトオーダーマーク)つけられるから面倒

637 :デフォルトの名無しさん:2017/05/31(水) 11:20:38.49 ID:nbJYiZYj.net
>>630
コンパイルできてたときは日本語コメントなくて、コメント書いたらエラーが出るようになったとか?

638 :デフォルトの名無しさん:2017/05/31(水) 13:35:48.00 ID:ylYxKhrp.net
>>630
「/ufeff」が投入されるって、メモ帳が勝手にソースを改変すると言ってるの?
「最近フォントを替えた」って、何のフォントを替えたの?自分が何したのか解ってないぞ。
システムのデフォルトかメモ帳のデフォルトか…もしかしてeclipse?
ソースをバイナリダンプしてみた?コードはutf-8だったか?
メモ帳でソース書いてeclipseで読み込んでコンパイルみたいな変な事してないか?

639 :デフォルトの名無しさん:2017/06/01(木) 00:48:52.75 ID:t6ZFrgyA.net
ocjp bronzeの試験で javacコマンド云々とか
○○が追加されたバージョン云々
と言う問題は出題されるのでしょうか?

640 :デフォルトの名無しさん:2017/06/01(木) 02:01:23.64 ID:aYvEaLjY.net
https://ideone.com/G50BZD
while(sc.hasNext())を使って、空白区切りの数値をまとめて読み込んだあと
エンター(改行)が入った段階で処理を止めて、
そのまま計算に入るという感じなのですが

ideoneやpaizaなどのプログラミングコンテスト用のサイトでは上手く動くのですが
実際の実行環境(IntelliJ)上だと入力が終わらず困ってます
何かしらbreakする条件を付け足さないとダメなのでしょうか?

641 :デフォルトの名無しさん:2017/06/01(木) 02:50:39.60 ID:ZW4TAEqu.net
ScannerのhasNextの処理の中で再度入力を読み込むようにしてる処理があるから

ideoneとかはインポートしてるクラスの中身とか見れないから
Scannerの処理がどうなってるかわかんらし元々連続で入力受け付けるような仕様じゃないから
Scanner書き換えてる可能性が高い

そんな糞みたいなメソッドで判定するのは危険だからそういう癖は直した方がいい
入力内容を別の変数にでも突っ込んで書き直せ

642 :デフォルトの名無しさん:2017/06/01(木) 03:09:51.62 ID:aYvEaLjY.net
>>641
>ScannerのhasNextの処理の中で再度入力を読み込むようにしてる処理があるから
うおお・・・・・・マジか
根本的に変えないと不味いな
プロコンの所から引っ張ってきたけど、ヤバイ書き方だとは知らなかった
書き直すわ

643 :デフォルトの名無しさん:2017/06/01(木) 03:21:14.59 ID:ZW4TAEqu.net
書き直せとは言ったがあんな糞コードなんて誰も歯牙にもかけないレベルだから好きせぇやボケ
あと教えてやったんだから「ありがとうございました」って言え糞ボケ

644 :デフォルトの名無しさん:2017/06/01(木) 03:39:42.54 ID:aYvEaLjY.net
>>643
申し訳ありません
あまりの衝撃に素のネラーになってました

深夜に本当にありがとうございます
糞コードと言われないように、もっと良いコードを書けるように精進します
本当にありがとうございました

645 :デフォルトの名無しさん:2017/06/01(木) 05:33:10.61 ID:/JD/IgrT.net
礼無くてそんな頭にくるくらいならレスしなければいいのに
日常生活でも傲慢な態度してそうw

646 :デフォルトの名無しさん:2017/06/01(木) 06:39:19.59 ID:znDzbsA/.net
内弁慶の予感

647 :デフォルトの名無しさん:2017/06/01(木) 09:36:53.62 ID:FovYQcy0.net
2ちゃん弁慶

648 :デフォルトの名無しさん:2017/06/01(木) 09:46:56.15 ID:FovYQcy0.net
>>640
java.util.Scannerはデフォルトでは空白文字を区切りとするので改行では終わらない。改行も空白文字の内のひとつだから。
ではそのサイトではなぜ終わるのかというとおそらく入力をファイルからリダイレクトして読み込ませているためにファイルの終わりまで読み込んで終わっているんだろう。
これを標準入力がコンソールのキーボードになっている状態で実現するにはそのコンソールの設定にもよるが、多分WindowsだとCtrl+Zで、UNIX系OSだとCtrl+Zなのではないかと思う。
しかしやはりコンソール次第ではあるので何やってもダメかも知れない。

649 :デフォルトの名無しさん:2017/06/01(木) 09:54:54.45 ID:FovYQcy0.net
間違えた。UNIX系OSはCtrl+Dだ。

650 :デフォルトの名無しさん:2017/06/01(木) 20:24:47.86 ID:hzk2NgYF.net
hasNextはEOFまでだね
647の手順でローカルでもできるしファイルからの入力でもいけるはず

礼無しで顔真っ赤のやつはずかしいな

651 :デフォルトの名無しさん:2017/06/01(木) 23:03:41.54 ID:vNOzF29i.net
Immutableなオブジェクト作るとき、Builderパターンを使うそうですが、↓のようなコードではダメなのでしょうか?
Builderだと、Mutableクラスのインスタンス作って、それを新たにImmutableクラスのインスタンス作って返してますよね?
↓のコードであれば、Mutableクラスのインスタンス生成1回で済むので、
Builderより省エネに思えるのですが、このようなコードではダメだから、流行ってないんですよね?

自分で見つけられた問題点は、mutableMemberDtoを書き換えると
immutableMemberも書き換わってしまうことです。ただ、これはそこまで大きいデメリットなのでしょうか?
他にも問題がないか、どなたかご指摘お願いいたします。
---------------------------------------------------------------
public class Main {
  public static void main(final String[] args) {
    final MutableMemberDto mutableMember = new MutableMemberDto();
    mutableMember.setName("javao");
    mutableMember.setAge(20);
    final ImmutableMemberDto immutableMember = mutableMember;
    System.out.println("His name is " + immutableMember.getName());
    System.out.println("His age is " + immutableMember.getAge());
  }
}
class ImmutableMemberDto {
  protected String name;
  protected Integer age;
  public String getName() {return name;}
  public Integer getAge() {return age;}
}
class MutableMemberDto extends ImmutableMemberDto {
  public void setName( final String name) {this.name = name;}
  public void setAge(final Integer age) {this.age = age;}
}
---------------------------------------------------------------
Builderパターンを参考にした記事
http://qiita.com/disc99/items/840cf9936687f97a482b

652 :デフォルトの名無しさん:2017/06/01(木) 23:06:15.32 ID:NqeRoS6b.net
>>651
そもそもImmutableの意味が分かってる?
分かってるなら大きいデメリットどころか無意味だということが分かるはず

653 :デフォルトの名無しさん:2017/06/01(木) 23:32:03.74 ID:vNOzF29i.net
>>652
わかんないです><;
教えて下さい>人<

654 :デフォルトの名無しさん:2017/06/01(木) 23:42:20.35 ID:NqeRoS6b.net
>>653
外側から絶対に変更できないというのがImmutable
この例だとMutableクラスの参照を保持しておくかMutableクラスかどうかを判別してキャストしてしまえばいくらでも書き換えられるのでImmutableではない
目指してるのはRubyのfreezeみたいなものだと思うからそんな感じのフラグ建てるメソッドを用意してセッター側でフラグ建ってたら例外返すようにしとけばいいかな

655 :デフォルトの名無しさん:2017/06/02(金) 06:57:04.51 ID:p54lEqX7.net
>>654
ありがとうございます!
てことは、ガチのImmutableにしかたったら、Immutableクラスをnewするしかないんですね
う〜ん、やっぱImmutableて地味にハイコストなんですかね?

656 :デフォルトの名無しさん:2017/06/02(金) 06:59:28.02 ID:p54lEqX7.net
確かにsetterで例外吐いて実質Immutableにするのもよさげですけど
できればsetterの定義自体削ぎ落としたいですよね
setterが存在しないことがコンパイルで保証できるので

657 :デフォルトの名無しさん:2017/06/02(金) 07:00:58.41 ID:ZHMaGoYo.net
>>655
大半のプログラムはオブジェクト生成以外の部分がボトルネックになるから気にしなくていい
Immutableによりデバッグコストを削減するほうがよっぽどいいと思うぞ

658 :デフォルトの名無しさん:2017/06/02(金) 07:14:47.05 ID:3hRLDe2o.net
確率で分岐させようと思うのだけど、確率は一定ではなく、その時配列aに入っている数値の確率で分岐させたいと思っています
配列aに入っている数値が{ 6,0,4 }の場合、
6/10の確率で一つ目の分岐、0/10の確率で2つ目の分岐、4/10の確率で3つ目の分岐といった具合です
今までは配列bを作って{1,1,1,1,1,1,3,3,3,3 }と全部個数分入れてその中からランダムでひとつ選ぶと言う形にしてたのですが
もっとわかりやすい方法があれば教えてください

659 :デフォルトの名無しさん:2017/06/02(金) 07:32:50.35 ID:Xj1xll0Q.net
>>658
int getBunki(int[] a) {
 int i = new Random().nextInt(10);
 if (i < a[0]) {
  return 1;
 } else if (i < a[0] + a[1]) {
  return 2;
 } else {
  return 3;
 }
}

660 :デフォルトの名無しさん:2017/06/02(金) 12:24:24.49 ID:rAIQacev.net
>>659
もちっと汎用性持たせてみたら?

661 :デフォルトの名無しさん:2017/06/02(金) 12:40:35.41 ID:ogRcISVS.net
配列難しいなら使わなくてもいいんでないかな
乱数とif文でもできるのでは。
後々の管理性はどちらが良いかわからぬが

662 :デフォルトの名無しさん:2017/06/02(金) 12:54:11.98 ID:SapFDfFK.net
配列aを元に「処理1,処理1,処理1,処理1,処理1,処理1,処理3,処理3,処理3,処理3」で
構成されたリスト作って、シャッフルして最初の奴を取り出す

663 :デフォルトの名無しさん:2017/06/02(金) 13:25:44.47 ID:5w1B1rxg.net
int[] array = { /* ... */ };

int sumTotal = Arrays.stream(array).sum();
int selected = new Random().nextInt(sumTotal);

int accumlated = 0;
for(int idx = 0; idx <= array.length; idx++) {
accumlated += array[idx];
if (selected < accumlated) return idx;
}

こんな感じ?
最後のforループをなんとかしたいけど添字をうまく処理できない…

664 :デフォルトの名無しさん:2017/06/02(金) 15:37:47.71 ID:yyLeCvfJ.net
if (selected < accumlated) return idx;

return は関数を脱出する。
ループを脱出するのは、break じゃないの?

665 :デフォルトの名無しさん:2017/06/02(金) 15:41:15.73 ID:5w1B1rxg.net
idxか欲しいならそれで良いと思うんだけどなんか変かな…

666 :デフォルトの名無しさん:2017/06/02(金) 22:48:36.11 ID:p54lEqX7.net
>>657
そうはいっても、未だにIntegerは重いから
数字のリストはint[]を使えとかいうオッサンがおるわけで

667 :デフォルトの名無しさん:2017/06/03(土) 14:08:01.48 ID:ep62Y9tf.net
Boxing, Unboxing のコストかい?

オブジェクト ←変換→ Primitive

668 :デフォルトの名無しさん:2017/06/03(土) 14:51:35.39 ID:7jetN193.net
Javaはそもそも遅いものだからなぁ
少しでも軽くするか、そこは割り切ってJavaの強みを活かすかは性格が出る

669 :デフォルトの名無しさん:2017/06/03(土) 19:12:09.25 ID:pA7NlTbo.net
サーブレットでのファイルダウンロードで質問です
ダウンロードをキャンセルしたりダウンロード中に別のページ行ったりするとサーブレット側で例外が起きてるんだけど、これってどういう対応すれば良いんでしょう
発生してるのはClientAbortExceptionとかいうやつと、SocketExceptionってやつの2種類です

環境はTomcat8.5とJava8とServlet3.1で、StrutsとかSpringとかフレームワークは使ってないです

670 :デフォルトの名無しさん:2017/06/03(土) 19:55:40.64 ID:rGTJ2+S3.net
try catchで囲むだけちゃうのん?

671 :デフォルトの名無しさん:2017/06/03(土) 21:50:09.75 ID:ksYUIpeu.net
>>669
クライアントにどう返すか決めて実装するだけだろw

672 :デフォルトの名無しさん:2017/06/03(土) 22:21:34.56 ID:cALIqpIy.net
その「どう返すか」がよくわからないのでご質問しました

別のページに移動した場合は出た例外から何か返そうとしても元のレスポンスには返せないような気がします
キャンセルの場合は同じページにいるのですが、例外に対して何かレスポンス返そうとするとまた別の例外(IllegalStateException)になります

try-catchで囲んだとして、catchしたあとどうするのが普通なのでしょうか?

673 :デフォルトの名無しさん:2017/06/03(土) 22:49:10.26 ID:xUQGENML.net
大人しくFW入れとけ
自前でフルスクラッチWebサービスなんて死しか見えてないぞ

674 :デフォルトの名無しさん:2017/06/03(土) 22:54:54.15 ID:rGTJ2+S3.net
握りつぶしておしまいにすればいいじゃん

675 :デフォルトの名無しさん:2017/06/03(土) 23:24:48.06 ID:ksYUIpeu.net
>>672
ご質問したってなんだよ、自分の行動に御をつけんなよw

で、もう別のページに行ってんならなにもしなくていいだろ
もうこっち側の関知することじゃない
キャンセルされたときも、こっちから特に通知することはない
だからもう無視でいいじゃん
それじゃダメな思いがなにかある?

676 :デフォルトの名無しさん:2017/06/03(土) 23:30:04.99 ID:rGTJ2+S3.net
>>675
「ご〜する」は謙譲語だよ
自分の行動で問題ないっすよ

677 :デフォルトの名無しさん:2017/06/04(日) 00:25:26.49 ID:V+A2VcF1.net
本当に教えを乞うてるのなら
誠に恐縮ながらご質問させて頂きました。
くらい言えビチグソが

678 :デフォルトの名無しさん:2017/06/04(日) 00:38:07.06 ID:2FeiGNPe.net
>>676
自分のために行う自分の行動に御はつけませんw

679 :デフォルトの名無しさん:2017/06/04(日) 00:59:05.42 ID:tVfHoFED.net
>>675
ともに無視で大丈夫なんですね、ありがとうございます

正常なパターンは書籍もWebサイトも情報多いんですが異常な場合は情報が少なくて難しいです
具体的な方針のレスをいただけてとても助かりました
みなさまありがとうございました

680 :デフォルトの名無しさん:2017/06/04(日) 04:22:07.90 ID:ovRWSkxq.net
異常時の処理は、君が決めること。
ビジネスロジック・仕様

ページを閉じても、保持していたデータを解放するとは限らない。
メールアプリでは、一旦ページを閉じても、
再度開いたら、ログインしたままになってる

10分間、何もしなかったら、ログアウトになっていたり、
何がエラーなのかなど、仕様は各自が考えるもの

681 :デフォルトの名無しさん:2017/06/04(日) 04:25:38.04 ID:ng0ziLO2.net
>>676
質問の場合は自分が誰かに依頼してその誰かを動かす事になるので「ご質問」はおかしい。人が自分に何か聞いてきた時は「ご質問」で良い。

682 :デフォルトの名無しさん:2017/06/04(日) 09:19:19.03 ID:XpxkKcu8.net
>>677
「させていただく」は謙遜的傲慢表現と言われていて
みっともないからやめましょう


>>678
謙譲語だから問題ないんだよ

謙譲語は自分を低めるものだから
自分の行動につけるもの

道をお尋ねしますがとか
ご相談したいことがなど

(お|ご)〜する で謙譲語


>>681
おかしくないよ
「ご〜する」で謙譲語だから
美化語と謙譲語の違いは中学校で習ったでしょ?思い出して!

683 :デフォルトの名無しさん:2017/06/04(日) 09:27:29.03 ID:XpxkKcu8.net
「(お|ご)〜する」で謙譲語だから

客が会社に問い合わせて、会社が客に答えるとき

「お問い合わせいただきありがとうございます」は良いけれども
「お問い合わせしていただきありがとうございます」はダメなんだよ

なぜならば「(お|ご)〜する」で謙譲語だから、問い合わせた客を下げることになるから

684 :デフォルトの名無しさん:2017/06/04(日) 09:35:23.42 ID:FZQRsZV2.net
次スレからスレタイは敬語入門・初心者質問スレにしておけよ

685 :デフォルトの名無しさん:2017/06/04(日) 09:38:04.80 ID:B1StEn/h.net
客が質問してきた時はその質問は「ご質問」だよな。
自分が質問する時も「ご質問」なのか?明らかにおかしいだろうが。

686 :デフォルトの名無しさん:2017/06/04(日) 09:42:27.99 ID:4LTGGdrM.net
なんというタイムリーな展開w
俺も先日メールのサブジェクトに「ご質問」ってつけちゃって
1) 自分の質問に「ご質問」はおかしい、どう考えても間違った
2) でも「質問」だとなんか言葉がトゲトゲしてる

おまえら質問あるときどうしてる?
俺は基本的にはいつも「お尋ね」って書いて誤魔化してた

687 :デフォルトの名無しさん:2017/06/04(日) 09:51:01.58 ID:XpxkKcu8.net
>>685
「ご〜する」で謙譲語だから
ご質問します、とかならおkだよ

相手を上げる尊敬語、自分を下げる謙譲語、中立の丁寧語・美化語
で覚えれば良い

「先程私がご質問になった」といったらおかしいよ
「ご〜なる」で尊敬語だから自分を上げることになるからね

688 :デフォルトの名無しさん:2017/06/04(日) 10:01:33.92 ID:XpxkKcu8.net
>>686
「ご質問」は美化語だから問題ないよ

ご連絡が遅れましてとか
お酒を飲んでいましたとか言うでしょ

おちんぽみたいなもんだよ
上品だよね

689 :デフォルトの名無しさん:2017/06/04(日) 10:08:25.74 ID:B1StEn/h.net
めんどくせえなあ。
まあ言語は変化し続けるから微妙な問題ではあるが、少なくとも現代の今の時代では
自分の質問に「ご質問」は止めとけ。敬語と受け取らない人が大半だから。

https://www.google.co.jp/search?q=%E3%81%94%E8%B3%AA%E5%95%8F&ie=utf-8&oe=utf-8&client=firefox-b&gfe_rd=cr&ei=pVwzWcmgFO-Q8QfNhKO4DA

690 :デフォルトの名無しさん:2017/06/04(日) 10:10:37.28 ID:B1StEn/h.net
あ、編集ミスった。まあいいや。わかるでしょ。変な個所は消し忘れね。

691 :デフォルトの名無しさん:2017/06/04(日) 10:19:13.28 ID:XpxkKcu8.net
おコーヒーをお召し上がりにおなっていました

692 :デフォルトの名無しさん:2017/06/04(日) 10:21:03.11 ID:XpxkKcu8.net
>>689
「ご〜する」は謙譲語だから立派な敬語だよ

693 :デフォルトの名無しさん:2017/06/04(日) 10:22:48.74 ID:XpxkKcu8.net
世界中のJavaプログラマーを代表して言わせてもらうが
目上の人にご苦労様がダメとか現代のマナーと称したリクルートやNHKどもの
言葉狩りにはうんざりだ

694 :デフォルトの名無しさん:2017/06/04(日) 10:31:26.34 ID:FZQRsZV2.net
ジャップランド土人は敬語に拘って生産性を落とすのが大好き

695 :デフォルトの名無しさん:2017/06/04(日) 10:38:32.36 ID:XpxkKcu8.net
>>694
Javaにも敬語を導入すべきだ
forよりもwhileが丁寧と言っていいでしょう

696 :デフォルトの名無しさん:2017/06/04(日) 11:02:37.53 ID:B1StEn/h.net
>>692
じゃあお前はそれを啓蒙し続けて現代の日本語を変えるがよい。

697 :デフォルトの名無しさん:2017/06/04(日) 11:25:15.76 ID:XpxkKcu8.net
>>696
「ご〜する」が謙譲語なのは現代の日本語の常識だから無問題

698 :デフォルトの名無しさん:2017/06/04(日) 12:23:19.92 ID:LF56+oK/.net
いい加減スレチでうるせえよ

699 :デフォルトの名無しさん:2017/06/04(日) 12:33:39.21 ID:FZQRsZV2.net
うるさいでございます。
死んで頂けますでしょうか?クズ

700 :デフォルトの名無しさん:2017/06/04(日) 12:36:37.88 ID:63HT6T2I.net
お客様、もしよろしければ回線をお切りになってそのまま首をお吊りになられてお亡くなりになって頂けませんでしょうか。

701 :デフォルトの名無しさん:2017/06/04(日) 13:07:40.83 ID:mLhi0pMh.net
いい歳したオヤジや爺どもが子供の喧嘩のような言い合いしてると思うと悲しくなるな

702 :デフォルトの名無しさん:2017/06/04(日) 13:43:16.85 ID:XpxkKcu8.net
>>701
おじさんたちが技術的な議論を繰り広げててとても建設的なやり取りで
勉強になったし晴れ晴れとした気持ちになれました
本当にありがとうございます

こういうふうに言い換えれば周りの人もうれしい気持ちになるだろ

幸せっていうのは与えられるものじゃなくて与えるものなんだよね
悲しみは自分から動くことを止めた怠惰の証

703 :デフォルトの名無しさん:2017/06/04(日) 13:44:25.32 ID:XpxkKcu8.net
ポエム勝負なら負ける気がしない、かかってこい

704 :デフォルトの名無しさん:2017/06/04(日) 13:59:32.72 ID:FZQRsZV2.net
>>702
きっしょクッサ
ワキガハゲチビデブ童貞死ね

705 :デフォルトの名無しさん:2017/06/04(日) 14:41:02.70 ID:mLhi0pMh.net
腐ってんなまじで

706 :デフォルトの名無しさん:2017/06/04(日) 14:54:32.38 ID:N3Ss45Z5.net
そういうことだな

707 :デフォルトの名無しさん:2017/06/04(日) 19:06:22.58 ID:B8B9uyxS.net
質問です。
このスレは何のスレですか?

708 :デフォルトの名無しさん:2017/06/04(日) 19:07:44.69 ID:m5pbsJz9.net
>>707
>>1

709 :706:2017/06/04(日) 19:18:39.53 ID:B8B9uyxS.net
>>708
ではなぜみんなJavaについての会話をされてないのですか?

710 :デフォルトの名無しさん:2017/06/04(日) 19:21:07.49 ID:fUXBibRW.net
>>709
基地外だからね、こういうのは気になるならNGしとくに限る

711 :デフォルトの名無しさん:2017/06/04(日) 19:39:38.34 ID:+nw7hQLa.net
>>709
>>543

712 :706:2017/06/04(日) 19:57:39.00 ID:B8B9uyxS.net
>>710
はい。
ありがとうございました。

713 :デフォルトの名無しさん:2017/06/04(日) 20:14:47.99 ID:Y5c4w+fz.net
ナイス自演

714 :デフォルトの名無しさん:2017/06/06(火) 02:36:35.75 ID:PILvAxC4.net
java使ってみたら、画像処理おっせーなーって思いました。

715 :デフォルトの名無しさん:2017/06/06(火) 18:32:28.47 ID:4JBki8CO.net
オブジェクト指向(の基礎)や例外などを勉強し終えたのですが、
次はどんなことを勉強すればよいでしょうか?
自分ではSwingを考えているのですが。

716 :デフォルトの名無しさん:2017/06/06(火) 18:36:30.51 ID:XTHFLjT+.net
34歳、発達障害の無職ですが…7 [無断転載禁止]©2ch.net
http://medaka.2ch.net/test/read.cgi/prog/1496679311/

717 :デフォルトの名無しさん:2017/06/06(火) 18:36:35.20 ID:OrB6yYNK.net
GUIアプリケーションもいいですがtomcatなどでサーバを建ててServletやJSPするのも、出来ることが広がり良いと思います

718 :デフォルトの名無しさん:2017/06/06(火) 18:43:11.74 ID:WDLmSc1C.net
>>715
いまさらSwingは時間の無駄かもしれない

719 :デフォルトの名無しさん:2017/06/06(火) 19:25:42.43 ID:e3GXNMQX.net
swingで作られた基幹システムの新規画面作らされたことあるけど地獄だぞ
1回あんなゴミのようなもんを体験したら二度と作ろうと思わないだろうから
swingはいずれ絶対になくなる

720 :デフォルトの名無しさん:2017/06/06(火) 20:23:54.95 ID:sIr/52oR.net
え,今からawt/swingをやろうとおもっていた‥なにがいいの?

721 :デフォルトの名無しさん:2017/06/06(火) 21:28:54.76 ID:e3GXNMQX.net
なんのためにやろうとしてんのか知らんけど仕事のためっていうなら
仕事でjavaのguiアプリなんてまず作らんから時間の無駄

722 :デフォルトの名無しさん:2017/06/06(火) 22:39:03.54 ID:mZslSucp.net
>>719
サイズ調整とイベントではまるのはどれ使っても一緒
C#のXAMLになる前のやつが一番よかった

別にswingが他のにくらべて悪いわけじゃないと思うんだが

723 :デフォルトの名無しさん:2017/06/06(火) 23:06:52.04 ID:/YRUpnWE.net
「*」を使って二等辺三角形をfor文で書きたいのですが、底辺の*の数を変数とした時はどうすれば出来るのでしょうか?

724 :デフォルトの名無しさん:2017/06/06(火) 23:45:48.14 ID:Qy4U0ic0.net
>>720
たぶん実務経験がないような人が書いている本でも読んでいるんだろうが、好きなのやればいいよ。

画面よりデータベースとのやりとりの勉強でもした方がいい。

725 :デフォルトの名無しさん:2017/06/06(火) 23:47:35.50 ID:JC0VRSkb.net
>>723
アナルを使って二等辺三角形をフォーとか頭おかしいね君

726 :714:2017/06/07(水) 00:14:45.34 ID:uMDm/LY7.net
遅くなりましたが、レスをくれた方ありがとうございました。

727 :デフォルトの名無しさん:2017/06/07(水) 00:44:03.11 ID:cTN/k6yF.net
>>723
どういう出力にしたいの?例えば3だったらこんなのでいいの?

*
**
***

だったら簡単だよね。forの二重ループだ。出力行数は底辺の値と同じだからその分だけ外側ループさせて、内側は*の個数に従って一回目は1、二回目は2という感じで一つづつ増えるようにして*を出して終わったら改行。

728 :デフォルトの名無しさん:2017/06/07(水) 07:33:28.64 ID:cmAbIhKY.net
二重にしなくてもいい気もするが…
底辺の数をlengthとして、


char[] cArr = new char[length];
Arrays.fill(cArr, '*');
String base = new String(cArr);

for (int i = 0; i < length; i++)
System.out.println(base.substring(0, i + 1));

こんなんででない?

729 :デフォルトの名無しさん:2017/06/07(水) 09:18:54.00 ID:tzF2fxtK.net
>>728
俺は StringBuilder に一つづつ * 足しては出すっての思い付いたが、果たしてそれで初心者のためになるのかというと微妙なところだ。
まあ、最終的には貯めといて出す形式と全く貯めずに出す形式両方がすぐ思い浮かぶようになった方が良いだろうけどね。

そういや他にもストリームの仕組み使ってできそうだな。

730 :デフォルトの名無しさん:2017/06/07(水) 11:53:26.03 ID:cmAbIhKY.net
>>729
お題がfor使ってだからなー
streamはレギュレーション違反じゃないか?w

731 :デフォルトの名無しさん:2017/06/07(水) 12:14:03.70 ID:CH9XguNK.net
ストリームとかレギュレーションとか使えばできるんですねありがとうございます!

732 :デフォルトの名無しさん:2017/06/07(水) 12:28:50.65 ID:yHTVbtVQ.net
int n = 3;
String c = "*";
Stream.iterate(c, x -> x + c).limit(n).forEach(System.out::println);

試してないけどこれでいけるかな?

733 :デフォルトの名無しさん:2017/06/07(水) 12:33:36.27 ID:yHTVbtVQ.net
ああこれだと直角三角形か
二等辺三角形にしたいならまた別だな

734 :デフォルトの名無しさん:2017/06/07(水) 14:05:11.97 ID:tzF2fxtK.net
>>733
ま、>>727も直角三角形だし、縦横同じ間隔で*が表示される状態なら二等辺三角形に見えるものにはなる。

735 :デフォルトの名無しさん:2017/06/07(水) 17:01:49.58 ID:3Fne/ooH.net
chromeブラウザのF12で表示される「NetWork」タブみたいに
URLにアクセスした際に送受信されるリクエスト全部取得する処理ってどうやれば実現できますか?
たぶんhttpClientかsocketあたり使うと思うけどhttpClientはレスポンスぐらいしか取れないように見える

736 :デフォルトの名無しさん:2017/06/07(水) 18:34:21.88 ID:0eEwVViY.net
>>735
HttpClientでできるよ

737 :デフォルトの名無しさん:2017/06/07(水) 18:45:17.43 ID:SX0vFLz7.net
ブラウザはhtmlをパースしてリクエスト投げまくってるんじゃ……

738 :デフォルトの名無しさん:2017/06/07(水) 18:59:01.67 ID:3Fne/ooH.net
>736
あのなぁそういう糞みてーな回答いらねぇーんだよ
できるならちゃんとした回答書け
ホントイラつく奴だな

739 :デフォルトの名無しさん:2017/06/07(水) 19:13:54.26 ID:oWxqnrnZ.net
>>738
簡単にできるから安心して

740 :デフォルトの名無しさん:2017/06/07(水) 19:24:04.91 ID:kRVrqaAQ.net
>>738
キーワード出たんだから後は調べろよ

741 :デフォルトの名無しさん:2017/06/07(水) 19:26:39.78 ID:nc/k9gk4.net
>>738
そんなに怒らないで
普通の人なら的確に分かりやすく答えてくれるけど
オタクはみんなコミュニケーションが下手糞なんだよ・・・

742 :デフォルトの名無しさん:2017/06/07(水) 19:27:42.43 ID:3Fne/ooH.net
キーワード出たからってそんなもん質問の時点で書いてるのに馬鹿か?
httpClientなんて既に英語のサイト全部見たしレスポンスヘッダーの中身もメソッドも全部見たわアホ
こういう適当に知ったかで回答する馬鹿が最高にイラつく
まぁ最初から2chの低レベルアホどもに期待なんか1_もしてねーから別にいいけど
ほんと糞の役にも立たねぇスレだな
俺が質問側で今までに役に立ったことなんて1度もねぇわここ
ほんとレベル低すぎる

743 :デフォルトの名無しさん:2017/06/07(水) 19:38:01.63 ID:YmPQB+Dc.net
ここ初心者スレやし・・・…
こっちの方が良いんで無いの?
★★Java質問・相談スレッド180★★ [無断転載禁止]©2ch.net
http://mevius.2ch.net/test/read.cgi/tech/1492780397/

744 :デフォルトの名無しさん:2017/06/07(水) 20:28:52.18 ID:oWxqnrnZ.net
>>742
そろそろできたかな?

745 :デフォルトの名無しさん:2017/06/07(水) 20:29:44.33 ID:oWxqnrnZ.net
煽れば回答が出てくると思ってる奴には教えないからね

746 :デフォルトの名無しさん:2017/06/07(水) 20:43:40.03 ID:qUTOfmgR.net
chromeでF12?やったことないなあ。後で思い出したら押してみよう。

747 :デフォルトの名無しさん:2017/06/07(水) 20:47:01.83 ID:qUTOfmgR.net
>>742
そのまま一生イライラしてれば?
こちらは特に困らないし構わないぞ。
思う存分苛立っててくれ。
よかったな。

748 :デフォルトの名無しさん:2017/06/07(水) 21:06:15.71 ID:izePe9Zb.net
>>742
気持ちはわかるがそう言うのしかいないからココ 昔から(ココがって、別にこのスレや板だけじゃなく、サイトレベルの話な?)

知ったか理論
質問者=素人
っていう短絡的思考だから


知ったか俺氏「ん?この質問は聞いた事ある単語があるぞ?ググって見よう コレか!キリッ!!どや!!」

玄人質問者
「いやそう言う次元の話じゃないから・・・・」

今日も平常運行です

749 :デフォルトの名無しさん:2017/06/07(水) 22:22:38.96 ID:rFNnrxIw.net
ネットで他人を煽って反応を得ようとするのはコミュニケーション欠乏の典型的な症状

750 :デフォルトの名無しさん:2017/06/07(水) 22:40:13.87 ID:cTN/k6yF.net
Chrome の F12 のネットワークタブようやっとわかった。こんなのあったんだな。知らなかった。

751 :デフォルトの名無しさん:2017/06/07(水) 23:10:09.57 ID:zRjRKRgh.net
>>749
自己紹介乙

752 :デフォルトの名無しさん:2017/06/07(水) 23:46:31.85 ID:3Fne/ooH.net
すげーめんどくさかったがパケットキャプチャで解決したわ
ほんと糞の役にも立たねぇ糞どもだな

753 :デフォルトの名無しさん:2017/06/08(木) 00:21:58.02 ID:FAwIWNwN.net
Javaの初心者の質問に答えるスレならJavaでの実現方法が回答として書かれるのは当然のこと。

754 :デフォルトの名無しさん:2017/06/08(木) 00:56:04.37 ID:Beow/AQz.net
javaの質問と言っていいのかわからないのですが、springとthymeleafでwebアプリケーションを作るとき
例えば
コントローラークラス内に@RequestMapping(path="/aaa/bbb")というアノテーションのついたメソッドがある場合、
どこかのビューの<a th:href="@{/aaa/bbb}">というタグのついたリンクを押すと上記のRequestMappingのついたメソッドが動くのでしょうか?
それともhrefはコントローラーを介さない画面遷移しかできないのでしょうか?
よろしくお願いします。

755 :デフォルトの名無しさん:2017/06/08(木) 00:59:14.58 ID:YzjJZmY1.net
>>754
ブラウザのアドレスバーに入力されたURLだろうがaタグのhrefだろうが、サーバーから見れば同じ

756 :デフォルトの名無しさん:2017/06/08(木) 03:06:37.62 ID:o7hCamYB.net
そのメソッドの中に、print 文でも書いて、テストすれば?

757 :デフォルトの名無しさん:2017/06/08(木) 07:39:49.77 ID:Gp0Sgwlm.net
>>755
ありがとうございますm(。_。)m
javaほんの少しやっただけなので、httpの仕組みやサーバの動作などが全然わかってなくて…

758 :デフォルトの名無しさん:2017/06/08(木) 08:28:02.23 ID:8s3ACju2.net
>>752
その「低レベルアホども」に質問したお前はそれ未満ってこった

759 :デフォルトの名無しさん:2017/06/08(木) 08:40:00.63 ID:s2Pg+MlS.net
>>758
その理屈はおかしい

760 :デフォルトの名無しさん:2017/06/08(木) 08:41:12.08 ID:s2Pg+MlS.net
どこがどうおかしいかはわからんけれども

761 :デフォルトの名無しさん:2017/06/08(木) 08:41:34.96 ID:s2Pg+MlS.net
とにかくおかしい

762 :デフォルトの名無しさん:2017/06/08(木) 08:43:56.91 ID:+TvBtH3N.net
そうだな、人を糞とか低レベルアホとか言うのはおかしいよな

763 :デフォルトの名無しさん:2017/06/08(木) 09:12:33.52 ID:s2Pg+MlS.net
>>762
違う、そうじゃない

764 :デフォルトの名無しさん:2017/06/08(木) 09:13:12.13 ID:s2Pg+MlS.net
なんていうか全然違う

765 :デフォルトの名無しさん:2017/06/08(木) 09:51:13.35 ID:8s3ACju2.net
そうか、なら「期待してない」のに質問したお前はバカってこった

766 :デフォルトの名無しさん:2017/06/08(木) 10:24:36.27 ID:s2Pg+MlS.net
>>765
その理屈はおかしい

767 :デフォルトの名無しさん:2017/06/08(木) 13:04:07.64 ID:5ZMHWe6Z.net
自分だけは馬鹿じゃないという前提

768 :デフォルトの名無しさん:2017/06/08(木) 13:14:32.28 ID:E1+CYD4H.net
理屈をおかしいと否定するのには反証が必要なんだが用意できるのか?

769 :デフォルトの名無しさん:2017/06/08(木) 17:59:41.83 ID:KYbxYPC/.net
>>768
その理屈はおかしい

770 :デフォルトの名無しさん:2017/06/08(木) 19:30:29.30 ID:5ZMHWe6Z.net
反証可能性のないものはそもそも確からしさを証明することは不可能

771 :デフォルトの名無しさん:2017/06/08(木) 20:22:41.01 ID:pp906l+Q.net
証拠がなくても理屈自体がおかしかったらおかしいだろ!

772 :デフォルトの名無しさん:2017/06/08(木) 20:57:22.06 ID:lTyTbv9E.net
それってあなたの感想ですよね?
何かそういうデータあるんですか?

773 :デフォルトの名無しさん:2017/06/08(木) 21:11:01.28 ID:zNBw7V4S.net
結局、理屈がおかしいということの論拠を示さなければならない

774 :デフォルトの名無しさん:2017/06/09(金) 07:14:45.02 ID:pZ1NMnJL.net
初心者スレで何を叫んでるんだか

775 :デフォルトの名無しさん:2017/06/09(金) 18:31:46.01 ID:98wynj8R.net
java考えた人ってアタマいいな
というよりコンピュータ言語を開発するのが大変そう
オラクルの人すごくね?

776 :デフォルトの名無しさん:2017/06/09(金) 18:36:07.01 ID:9/xTndd8.net
サン・マイクロシステムズ「せやな」

777 :デフォルトの名無しさん:2017/06/09(金) 19:58:35.89 ID:hjkAo8D/.net
うーん

778 :デフォルトの名無しさん:2017/06/09(金) 20:43:09.35 ID:NLmrtYsZ.net
仮想マシン考え出した人は頭いいなと思う

779 :デフォルトの名無しさん:2017/06/09(金) 20:59:18.53 ID:HFELVm93.net
ORACLEの人はさほど凄くはない。

780 :デフォルトの名無しさん:2017/06/09(金) 21:01:00.73 ID:HFELVm93.net
仮想マシンのアイディア自体はJavaが世界初というわけでもない。

781 :デフォルトの名無しさん:2017/06/10(土) 09:52:04.70 ID:EfK23cou.net
なぜここまでJavaが普及したのか

782 :デフォルトの名無しさん:2017/06/10(土) 12:08:16.23 ID:S4+AOz/V.net
アルゴリズムの質問になるんだが、
1〜9までの数値が0〜16個のまでの範囲でランダムに発生する
それらを組み合わせによって2〜9のどの数で割っても余りなく割り切れるがどうか確認したい
発生した数値は1回しか使えない
こういう感じのは作るのは難しいでしょうか?

783 :デフォルトの名無しさん:2017/06/10(土) 12:13:55.94 ID:LwGST/Rf.net
1〜9を0〜16個ランダムに
重複無し

この時点で条件破綻してない?

784 :デフォルトの名無しさん:2017/06/10(土) 12:35:43.81 ID:S4+AOz/V.net
発生の段階で同じ数値が出た場合出た回数だけ使えるます。
数値を発生させた時に5が3回出たならば5は3回使えます。

785 :デフォルトの名無しさん:2017/06/10(土) 13:19:56.04 ID:DbYsfAwS.net
> それらを組み合わせによって2〜9のどの数で割っても余りなく割り切れるがどうか確認したい
> 発生した数値は1回しか使えない

意味がわからない
[1, 5, 9]が発生したらどうなんの?組み合わせって?

786 :デフォルトの名無しさん:2017/06/10(土) 13:21:29.61 ID:Q1XzIQD3.net
何となく言いたい事は分かった
1:0〜16の範囲でランダム→これで0〜16桁までランダムに決まる
2:桁数分1〜9をランダム生成→5桁なら5つの数字(重複有り)、10桁なら10つの数字、と言った感じ
3:最後に数値の組み合わせを考える
4:2〜9で割るって感じか

やれないことは無いんじゃね?
1は2のループ回数を決めるだけだし、2も生成した数字を配列とかに格納すれば
3の処理は取り出した後に中身を消すっていう操作にすれば、重複無しの数値を作れるはず
(あるいはハッシュキーで一回使ったキーは使えなくするとかでも良い)
4は出来上がった数値で割るだけだし

787 :デフォルトの名無しさん:2017/06/10(土) 13:22:00.81 ID:OmAd6T/1.net
9×8×7×5=2520で割り切れるかどうかを調べたいって話?

788 :デフォルトの名無しさん:2017/06/10(土) 13:28:51.47 ID:iX4dF/b7.net
[2, 3, 4, 5, 6, 7, 8, 9]

6 で割り切れるならば 2, 3 でも割り切れるので 2, 3を除外
8 で割り切れるならば 4 でも割り切れるので 4 を除外
[5, 6, 7, 8, 9] の最小公倍数は 2520

2〜9 のどの数で割っても余りなく割り切れる数は 2520 の倍数
2520 の倍数の1桁目は 0

1〜9までの数値で0〜16桁の数のうち1桁目が0になるのは0桁のとき、かつ、その場合に限る
なので桁数が 0 ならば

789 :デフォルトの名無しさん:2017/06/10(土) 14:13:04.91 ID:EfK23cou.net
ID:S4+AOz/V はJavaの前にまず日本語から勉強しろや

790 :デフォルトの名無しさん:2017/06/10(土) 14:15:38.99 ID:iX4dF/b7.net
日本語ならまかせろ!

「ご〜する」で謙譲語です

791 :デフォルトの名無しさん:2017/06/10(土) 14:55:12.73 ID:Aw9IeMww.net
問題が未だに理解できない。一体何をやりたいのか?

792 :デフォルトの名無しさん:2017/06/10(土) 16:16:09.55 ID:9/7KucPr.net
>>789
当たり前だけど自分の考えをきちんと言語化して説明できるってめちゃくちゃ重要な能力ですよね…
これができない人とは仕事したくない…

793 :デフォルトの名無しさん:2017/06/10(土) 16:18:13.69 ID:wDp6rpe3.net
まず使える数字を決める
 1が何個使えるか0〜16のランダムで決める
 2が何個使えるか0〜16のランダムで決める
  9まで同様に決める
使える数字を組み合わせて数値を作る
 例えば1が3、2が2なら組み合わせによって11122や12211等の数値が何種類かできる
できた数値毎に2〜9が割り切れるか計算する
 11122は2で割り切れる
 11122は3で割り切れない
  これを9まで行う
 12211や他の数字についても同様

こういう事をやりたいのかと思ったんだけどどう?

794 :デフォルトの名無しさん:2017/06/10(土) 17:15:59.68 ID:S4+AOz/V.net
説明下手ですみません。
組み合わせといのは単純に数字を足すだけです。
ただ発生させた数値は使ってもいいし使わなくても良いので組み合わせと書きました。

お手数おかけしました。
他の方法を考えてみます。

795 :デフォルトの名無しさん:2017/06/10(土) 18:39:57.26 ID:YXt3H8K1.net
うーん。まだわからん。
そもそも何をやりたいのか?
そしてそれは宿題なのか?

796 :デフォルトの名無しさん:2017/06/10(土) 19:01:24.42 ID:LwGST/Rf.net
>>794
不完全燃焼だからできればもう一度説明してほしいな
長くなってもいいから
これは俺の我侭でもあるから面倒ならスルーしてね

797 :デフォルトの名無しさん:2017/06/10(土) 21:06:14.05 ID:wUHDZb6h.net
>>ID:S4+AOz/V
まだ見てるならみんなもやもやしてるみたいだから

◆要件1
 ・1〜9までの数値が0〜16個のまでの範囲でランダムに発生する。
 〇疑問点
  ・以下のケースどちらも当てはまる。
  @1〜9の数値1つずつに関して、0〜16個ランダムに生成する。
    ※最大生成数9*16
  A1〜9までのランダムの数値を0〜16個生成する。
    ※最大生成数16

◆要件2
 ・発生した数値は1回しか使えない
  ・発生の段階で同じ数値が出た場合出た回数だけ使えるます。
  ・数値を発生させた時に5が3回出たならば5は3回使えます。
  ・ただ発生させた数値は使ってもいいし使わなくても良いので組み合わせと書きました。
 〇疑問点
  ・なし

◆要件3
 ・組み合わせといのは単純に数字を足すだけです。
 〇疑問点
  ・足すとは文字列としてか数値としてか。
   ※文字列だと思うけど念のため

◆要件4
 ・それらを組み合わせによって2〜9のどの数で割っても余りなく割り切れるがどうか確認したい
 〇疑問点
  ・要件1で生成した割り切れた数字のみの結果表示でいいのか。
   ※要件1で生成した数値全件表示とかいらない?

798 :デフォルトの名無しさん:2017/06/11(日) 02:09:24.91 ID:5kRuFFSB.net
AOJの2問目が出来ません。
入力した数の3乗を表示する課題なのですが…。
下が提出したコードです。
https://ideone.com/NyK9NB

799 :デフォルトの名無しさん:2017/06/11(日) 02:13:52.32 ID:9ARLDmcQ.net
ArrayListにおけるremoveの挙動に関して質問なのです
removeの引数として、indexの位置かオブジェクトを指定できるのですが
listが数値の場合に、数値をオブジェクトとして引数を指定する場合はどのように記載すれば良いのでしょうか?

例えば
ArrayList<Integer> ary = new ArrayList<>();
ary.add(1);
ary.add(2);
ary.add(33);
//=>[1,2,33]
System.out.println(ary.remove(33));
System.out.println(ary);
直接33を削除したくても、IndexOutOfBoundsExceptionのエラーが発生してしまうので・・・・・・

listをString型に変換して、文字としての33を指定すれば出来ない事はないのですが
何かまどろっこしいので良い方法があればご教授していただきたいです

800 :デフォルトの名無しさん:2017/06/11(日) 02:18:44.79 ID:9ARLDmcQ.net
>>798
プロコンの結果(Output)は指定された通りに出力されていないとダメです
そのコードの場合だと、余計なprintが付いてるので問答無用で弾かれます
今回の場合だと、計算結果だけ出力すれば良いです
×:〜求める3乗値は125です。
○:125

801 :797:2017/06/11(日) 02:32:22.94 ID:5kRuFFSB.net
>>800
ありがとうございました。

このサイトって融通きかないんですね…。

802 :デフォルトの名無しさん:2017/06/11(日) 02:56:14.34 ID:vYdG9fRO.net
>>801
その「融通」を効かせるのがどれだけ困難かがその内わかるよ

803 :デフォルトの名無しさん:2017/06/11(日) 03:55:11.06 ID:8f1mqXi5.net
>>799
ary.remove(new Integer(33)) ってやるとどうなる?

804 :デフォルトの名無しさん:2017/06/11(日) 05:00:56.39 ID:vYdG9fRO.net
値を直接指定するなら重複なしと考えていいはずだからListじゃなくてSetにしちゃえば

805 :デフォルトの名無しさん:2017/06/11(日) 11:38:23.02 ID:lL7inWnj.net
>>801
AOJの説明文読むのとチュートリアルやるのくらいやれ

806 :デフォルトの名無しさん:2017/06/11(日) 11:40:34.15 ID:sLjIMjbO.net
>>801
>>716

807 :デフォルトの名無しさん:2017/06/11(日) 12:27:01.73 ID:d7b3ye6p.net
android studioでプログラミングをしたいと考えているのですが、何か良い解説書はありませんかね?
javaの基本的な部分は理解しているつもりです

808 :デフォルトの名無しさん:2017/06/11(日) 13:42:09.78 ID:ZiP5+a1w.net
参考書色々あって何を読めばいいのか分からないですよね

809 :デフォルトの名無しさん:2017/06/11(日) 14:37:04.62 ID:EpiV2zzw.net
>>803
無事にオブジェクトを指定して削除できました、有難うございます!
削除する時に新しいオブジェクトを生成すれば良いというのは目から鱗でした

>>804
確かに重複なしの数列だったので、Setを利用すれば
引数に数値を直接指定して削除できました!

おかげで解決しました、有難うございます!

810 :デフォルトの名無しさん:2017/06/11(日) 14:53:28.80 ID:m0ToqypE.net
オートボクシングの弊害というかなんというか

811 :デフォルトの名無しさん:2017/06/11(日) 15:46:10.49 ID:8f1mqXi5.net
removeメソッド自体が紛らわしく作ってあるとも言えるかな。
型がintではないとかオートボクシングがないとかなら紛らわしくはならないんだが。
色々組み合わさってしまった結果意図せず作り出された落とし穴っぽいものだな。

812 :デフォルトの名無しさん:2017/06/11(日) 18:06:24.52 ID:XwLTdPC8.net
自然数がN個が入った配列がある。数値は必ず20未満
この配列をひとつの数値にしたり数値から配列に復元する方法を教えてください

813 :デフォルトの名無しさん:2017/06/11(日) 18:35:21.26 ID:8f1mqXi5.net
>>812
ビット単位にするとして、1〜19なら5ビットに収まるので例えばintなら32ビットだから6個まで入れられる。
これはビット単位でシフトしながら作って、戻す時は逆のことをする。

int[] x = { 6個の1〜19の値 };
int n = 0;
for (int i = 0; i < 6; i++) n = (n << 5) | (x[i] & 0x1f);
これでnに6つの値が詰め込まれた状態になる。
戻す時はこうする。
for (i = 5; i >= 0; i--, n >>= 5) x[i] = n & 0x1f;

814 :デフォルトの名無しさん:2017/06/11(日) 18:38:39.68 ID:8f1mqXi5.net
その他、ビット単位ではなく20進数として扱うという方法もある。
この場合は20で掛けたり割ったりがシフトレフトやシフトライトになる。

815 :デフォルトの名無しさん:2017/06/11(日) 18:52:48.89 ID:XwLTdPC8.net
>>814
できたー!
クッソ解かりやすい解説ありがとナス!

816 :797:2017/06/11(日) 19:07:48.03 ID:5kRuFFSB.net
>>805
すいませんでした。

817 :デフォルトの名無しさん:2017/06/11(日) 22:07:33.63 ID:tquZEUWF.net
1.データベースとつなげてECサイトを作る課題をやってるんだが(買い物かごを使うAmazonみたいなもの)、テーブル設計教えてくれ
2.同時に複数のブラウザからログインできないようにしたいんだけどどうすればいいか教えてくれ

1はスレチだったらすまん

818 :デフォルトの名無しさん:2017/06/11(日) 22:11:48.27 ID:dQP1iB/o.net
>>798
余計なことすんなよわろた

819 :デフォルトの名無しさん:2017/06/11(日) 23:38:15.04 ID:ytg9x0pA.net
>>817
1.
商品テーブル
・商品ID
・商品名
・商品価格

買い物カゴテーブル
・ユーザID
・商品ID
・商品個数

売上テーブル
・売上ID
・売上日
・購入者氏名
・購入者住所
・送り先氏名
・送り先住所

売上明細テーブル
・売上ID
・商品ID
・商品数量
・売上金額

2.
ログインテーブルにセッションIDの列を作って
ログインしたときにセッションIDを上書きして
承認のときにセッションIDをチェックするとか

820 :デフォルトの名無しさん:2017/06/12(月) 00:55:59.20 ID:mg3rFpBS.net
コンストラクタへのパラメータにnullを許さない場合、
何を投げるのがベストですか? また、その根拠は何ですか?

1) Objects.requireNonNull()などによるNullPointerException
2) 単にIllegalArgumentException

今までは2)でずっとやってきたんですが
nullなんだからヌルポでいいんじゃないのか?
の考えも徐々に大きくなりつつあります

821 :デフォルトの名無しさん:2017/06/12(月) 01:00:55.12 ID:LyToFJpl.net
>>820
ほい
http://www.ne.jp/asahi/hishidama/home/tech/java/throw.html#IllegalArgumentException

822 :デフォルトの名無しさん:2017/06/12(月) 07:05:19.03 ID:EUHIgh1l.net
>>819
ユーザーテーブルは?

823 :デフォルトの名無しさん:2017/06/12(月) 07:31:27.23 ID:1lBVkHcp.net
>>822
お好きにどうぞ

824 :デフォルトの名無しさん:2017/06/12(月) 13:57:51.40 ID:sGejfR27.net
親商品テーブル(商品名管理)と子商品テーブル(バリエーション管理)みたいなの作って在庫テーブルも別に作った方がよくないか
カゴに入れてキャンセルとかも実装するとなると在庫テーブルで一元管理は大変だろうし引当管理テーブルもあった方がいいかも

825 :デフォルトの名無しさん:2017/06/12(月) 14:04:03.04 ID:H3aCgKp9.net
ああ。しかし、もはやJavaの話ではなくなっているように思う。
続きはDB関係のスレでやった方が良いのではないかな。

826 :デフォルトの名無しさん:2017/06/12(月) 15:09:06.93 ID:JjMMHWRt.net
「テーブル設計教えてくれ」の時点で違うってわかるじゃん……

827 :デフォルトの名無しさん:2017/06/12(月) 17:39:10.86 ID:U1BEnqvv.net
課題手伝ってもらおうとしてるくせに
「教えてくれ」

教えてくださいだろアホ

828 :デフォルトの名無しさん:2017/06/12(月) 17:53:32.88 ID:a//lNTfp.net
いっそのこと試験問題のように「〜せよ。」とか書いてほしいものだ。

829 :デフォルトの名無しさん:2017/06/12(月) 17:57:13.28 ID:X/qk8fTD.net
お前等馬鹿が質問の仕方もろくにわからんガキに反応するから
teratailみたいなところでも意味不明な日本語で質問する馬鹿が減らないんだよ

830 :デフォルトの名無しさん:2017/06/12(月) 18:00:45.61 ID:XJZ7MJot.net
プログラム言語の勉強は本当に頭が痛くなる
しかし動いた時の嬉しさは言葉にできない。
痴呆抑制にも効果があるのではないだろうか?
ただ、眼には良くないけど…

831 :デフォルトの名無しさん:2017/06/12(月) 18:02:23.25 ID:uEFWWPMQ.net
2chへの熱い風評被害

832 :デフォルトの名無しさん:2017/06/12(月) 18:23:53.48 ID:pgqA3Bjv.net
>>827
反抗期かw

833 :デフォルトの名無しさん:2017/06/12(月) 19:16:10.02 ID:2dDccTdY.net
>>832
いただきます…いただきますっつってんだろー!
俺には召し上がれすら言わねーのかよ!
って息子が反抗期に言ってた

834 :デフォルトの名無しさん:2017/06/12(月) 19:40:16.61 ID:jxW+MGk6.net
>>833
お前臭いから喋んな

835 :デフォルトの名無しさん:2017/06/12(月) 20:30:42.94 ID:mg3rFpBS.net
>>821
レスサンクス

836 :デフォルトの名無しさん:2017/06/12(月) 20:33:11.67 ID:pgqA3Bjv.net
>>833
それパクツイ

837 :デフォルトの名無しさん:2017/06/16(金) 00:21:26.44 ID:pAg9stYl.net
演習問題で、抽象クラスを型に持ったメソッド見たのですが
クラスを型にした場合、何を返せば良いのでしょうか?

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

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

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

よろしくお願いします

838 :デフォルトの名無しさん:2017/06/16(金) 01:09:23.90 ID:poP4xQCz.net
抽象クラスを返せば?

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

return で、抽象クラスをもらったら、
それを該当する具象クラスへ、正しくキャストする

839 :デフォルトの名無しさん:2017/06/16(金) 01:37:44.13 ID:AzAJ43JZ.net
たしかに気持ち悪いな
階層がおかしい

840 :デフォルトの名無しさん:2017/06/16(金) 03:02:04.76 ID:jhdXcInh.net
>>838
キャストせず済むのが一番

841 :デフォルトの名無しさん:2017/06/16(金) 03:25:03.02 ID:jhdXcInh.net
>>837
例えば、return new MyRecord(idx)

public class MyRecord extends Record {
実装略
}

実際はそのgetRecordが定義されてるクラス内の別メソッドやらプロパティ使ったアクセス経由で値返す事が多いだろうけど。

842 :デフォルトの名無しさん:2017/06/16(金) 21:10:04.87 ID:NbKqOO6c.net
抽象クラスのシングルトンみたいなことが出来ちゃうのか?
だとしたら気持ち悪いわ

843 :デフォルトの名無しさん:2017/06/16(金) 22:35:15.61 ID:qWm3MoH/.net
そうか?

844 :デフォルトの名無しさん:2017/06/19(月) 17:44:20.17 ID:wKau2iwt.net
腕試しに簡単なゲーム作ってるんだけど
敵キャラクターとか見方キャラクターのデータってどう保存しておくのが良いんだ?
育成要素無いからステータスは一定だから配列でどうにかできそうな気がするけど
各キャラクターの要素敵も味方もは「キャラ名」「HP」「攻撃力」「防御力」「すばやさ」

845 :デフォルトの名無しさん:2017/06/19(月) 19:07:31.87 ID:pt8icPJA.net
>>844
オブジェクト指向ではないのか?

846 :デフォルトの名無しさん:2017/06/19(月) 19:17:35.34 ID:ZfjHm45J.net
>>844-845
csv,tsv,json,xmlなど好きな形で書いておいて、ファイルからデータ読み込んで、オブジェクトのインスタンスを生成して使うって話じゃないん?
そのデータが固定ならばjar内に同梱、可変なら外に置けるように作る

847 :デフォルトの名無しさん:2017/06/19(月) 19:28:38.55 ID:W0M1n2m6.net
>>844
そういうのこそクラス作っておくのがベスト
配列にするのは可読性が下がるから効率を追求するときだけにしとけ

848 :デフォルトの名無しさん:2017/06/19(月) 19:29:23.18 ID:W0M1n2m6.net
あーそっちか、すまん

849 :デフォルトの名無しさん:2017/06/19(月) 19:47:36.02 ID:wKau2iwt.net
ありがとうございます。
せっかくなのでcsvファイルを読み込むのに挑戦してみようと思います。

850 :デフォルトの名無しさん:2017/06/19(月) 20:59:10.59 ID:o0IU7wmv.net
腕試しって言ってるしそもそもオブジェクト指向を理解していないのでは

851 :デフォルトの名無しさん:2017/06/20(火) 00:12:42.70 ID:sy5ccpv+.net
配列は配列で便利ですよね
同じ処理のボタンとか、配列で綺麗にまとめられると嬉しくなります
話はそれますが。

852 :デフォルトの名無しさん:2017/06/21(水) 07:17:21.25 ID:n4ESO8N1.net
VBしかやったこと無いからJAVA能力検定1級というのを受けてみたんだけど、テキストエディタだけでコード書くのキツイね

コードフォーマッタ無いから手動でインデントしたけど、対応する鍵カッコを見失って困った

JAVAって標準のIDE無いからテキストエディタとコンパイラでやるんだろうけどキツイ世界だね

853 :デフォルトの名無しさん:2017/06/21(水) 08:58:07.89 ID:BZXMZb7j.net
まあな、メモ帳で1万行のメソッド書いてコンパイルできるようになったら一人前だ、それがJava

854 :デフォルトの名無しさん:2017/06/21(水) 09:37:01.88 ID:sUpvI2FC.net
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);

855 :デフォルトの名無しさん:2017/06/21(水) 09:57:48.03 ID:A+TdX/Mq.net
>>853
そりゃなんかものすごい設計ミス

856 :デフォルトの名無しさん:2017/06/21(水) 10:17:13.12 ID:m473rNdf.net
>>854
String actual = Integer.toBinaryString(i | 256).substring(1);

857 :デフォルトの名無しさん:2017/06/21(水) 10:31:52.72 ID:A+TdX/Mq.net
>>856
おまえあたまいいな

858 :デフォルトの名無しさん:2017/06/21(水) 10:32:13.11 ID:bqAd0GFb.net
>>855
エンタープライズならザラにあるよ
複雑だけど信頼性の高いプログラム

859 :デフォルトの名無しさん:2017/06/21(水) 12:49:36.79 ID:L1LFWazB.net
Java7以降の数値リテラルで、2進数は接頭辞 0b・0B だろ。
_ も無視されるから、間に使える

0b0000_1010

860 :デフォルトの名無しさん:2017/06/21(水) 12:53:26.47 ID:A+TdX/Mq.net
>>858
設計が変でもそういうのはある。
しかし設計が変なことにはかわりなし。

861 :デフォルトの名無しさん:2017/06/21(水) 12:54:20.55 ID:A+TdX/Mq.net
>>859
それが何か?
誰もそんな話してないよな。

862 :デフォルトの名無しさん:2017/06/21(水) 13:04:11.72 ID:sUpvI2FC.net
>>856
天才現る!
ありがとうございます、すっきり書けました
意図をコメントで残しておけば混乱もないでしょうし助かりましたm(_ _)m

863 :デフォルトの名無しさん:2017/06/21(水) 13:05:10.78 ID:bqAd0GFb.net
>>860
信頼性の高いプログラム作れるんだから変じゃない
優れた設計と言っていただきたい

864 :デフォルトの名無しさん:2017/06/21(水) 13:08:10.05 ID:bqAd0GFb.net
>>861
そんなこと言っとったら話題が広がらんだろうが
誰も話してなかったら話をしちゃいけないんだもんなあ
ああ辛いわあ
すごい話があるんだけどいわないから!

865 :デフォルトの名無しさん:2017/06/21(水) 15:18:14.32 ID:K52r2H7q.net
>>863
Javaで一万行は普通は何か変だろ。
それそのものが信頼性高くても何か作りがおかしいことには変わりはない。

>>864
なに必死になってんだ?大丈夫か?
誰もおまえのこと悪く言ったりしてないぞ。

866 :デフォルトの名無しさん:2017/06/21(水) 16:09:47.19 ID:CwIOTiNS.net
>>865
人を刺してる人が居たら
刺されてるのが自分じゃなくても嫌な気持ちになるだろ
俺はお前の犯罪を止めたい

867 :デフォルトの名無しさん:2017/06/21(水) 16:10:28.28 ID:CwIOTiNS.net
1万行は何も変じゃない

868 :デフォルトの名無しさん:2017/06/21(水) 16:20:00.12 ID:K52r2H7q.net
あーはいはいそうですね

869 :デフォルトの名無しさん:2017/06/21(水) 17:50:01.76 ID:CwIOTiNS.net
>>868
そうです、1万行は普通です

870 :デフォルトの名無しさん:2017/06/21(水) 17:52:45.71 ID:9ByPg2Qh.net
コメント、改行のみは除いて1メソッド15行以内に収めましょう

871 :デフォルトの名無しさん:2017/06/21(水) 17:53:22.83 ID:CwIOTiNS.net
1万行が普通じゃないと言っちゃう人は
業務経験が圧倒的に不足していると言わざるを得ない
大規模開発では普通にあるし普通に書けないと仕事にならない

872 :デフォルトの名無しさん:2017/06/21(水) 17:54:52.41 ID:CwIOTiNS.net
>>870
モデルにデータ設定するだけで1000行超えるんだが

873 :デフォルトの名無しさん:2017/06/21(水) 17:56:18.16 ID:CwIOTiNS.net
保険業とか著作権管理とかザラだが

874 :デフォルトの名無しさん:2017/06/21(水) 18:21:57.13 ID:8F0mxbPm.net
1つのクラスに1万行とかもありますか?

875 :デフォルトの名無しさん:2017/06/22(木) 14:02:19.04 ID:o0ACLL8F.net
派遣で医療系で使う基幹システム作ってる会社行ったとき
2万行越えのクラスファイルが4つぐらいあったな
変数は基本全てクラス変数で、かつ密結合でクラスファイルが
別のクラスのクラス変数参照しまくってるからバグの特定が困難で
最適な改修方法を精査するのにソースの条件分岐をメモってるだけで
何百行にもなるほどクソなソースで後にも先にもここが最凶最悪だったな

876 :デフォルトの名無しさん:2017/06/22(木) 17:07:27.66 ID:TWN3+XGD.net
でかいクラスの中身がほとんどC言語ってやつか・・・

877 :デフォルトの名無しさん:2017/06/22(木) 18:35:08.32 ID:06KMQ0Mv.net
>>875
保守のたいへんさが分かってよかったじゃないか。

世の中、そんなのばかりだよ。

878 :デフォルトの名無しさん:2017/06/22(木) 18:35:50.75 ID:06KMQ0Mv.net
オープンソースの有名な製品もコードを見るとかなりクソだったりする、

879 :デフォルトの名無しさん:2017/06/22(木) 19:30:31.61 ID:lxRnk/Ky.net
1万行にしないためのJAVA

それが1万行になるという事はJAVAを書いてるコボラ

880 :デフォルトの名無しさん:2017/06/22(木) 19:32:03.01 ID:lxRnk/Ky.net
構造化プログラムをJAVAで書くコボラがIT業界名物デスマの元凶

881 :デフォルトの名無しさん:2017/06/22(木) 21:12:35.00 ID:p66dP4Lb.net
まともな設計できるやつがほとんどいないってことだな

882 :デフォルトの名無しさん:2017/06/22(木) 22:09:46.81 ID:7SsgklDx.net
>>878
コードの良し悪しより、便利かどうかだからな
コードの綺麗さにこだわってるくせにろくなもん作ったことない、なのに声だけデカい奴が最近は増えたけど

883 :デフォルトの名無しさん:2017/06/22(木) 22:50:42.88 ID:yHDavZL4.net
□ がこの様に一直線に並んでいて、選択した□の幅が広くなり、それによって残りの□の座標を変化させたいです。
□ □ □ □
↓左から2番目を選択([ ]は幅が広くなっていることを示している)
□ [ ] □ □
に表示したい。
どう書けばいいでしょうか?
for (int i = 0; i < 4; i++) {
if (i == cnt) {

} else {

}
g.fillRect(20 + (80 * i), 300, 40, 40);
}

884 :デフォルトの名無しさん:2017/06/22(木) 23:13:46.79 ID:Wf/TPVDN.net
public static void sysprif(String s, Object... args) {
System.out.printf(s, args);
}
とか書くのは邪悪なんでしょうか?(いや、邪悪だろうけど、何か後で酷い目にあったりするんだろうか)

885 :デフォルトの名無しさん:2017/06/22(木) 23:58:20.46 ID:5ZvG5KR4.net
>>884
そのsyspritfの存在意義ってなんなん
printfを直接呼び出すのと比べてなんのメリットがあんの?

886 :デフォルトの名無しさん:2017/06/22(木) 23:59:06.30 ID:06KMQ0Mv.net
>>884
そもそもメソッド名の短縮化あたりで年配に見えてしまうが?

887 :デフォルトの名無しさん:2017/06/23(金) 00:00:33.41 ID:BC3U1Ap1.net
>>885
いや彼はObject型の可変引数でいいのか聞いているのではないのか?

888 :デフォルトの名無しさん:2017/06/23(金) 01:55:15.43 ID:eMJoExoD.net
※882
ttps://www.axfc.net/u/3818221
とりあえず作ってみた。
こんな感じ?

889 :デフォルトの名無しさん:2017/06/23(金) 01:56:56.84 ID:eMJoExoD.net
※882じゃなくて>>883だな

890 :デフォルトの名無しさん:2017/06/23(金) 16:59:14.45 ID:4xTfYoSZ.net
すごいどうでもいい質問かも知れないけど
メソッドの引数の括弧とバケットの間ってスペース入るのがデフォなの?

891 :デフォルトの名無しさん:2017/06/23(金) 17:06:08.69 ID:zs9t5glj.net
>>890
C言語のスタイルを受け継いでいるからスペースを入れないのが普通。

if文等なら入れる。

892 :デフォルトの名無しさん:2017/06/23(金) 17:15:16.13 ID:zs9t5glj.net
>>890
") {"の話か。これならスペースを入れるのが主流だろうな。これがC言語だとここで改行するスタイルもある。

Javaはクラスの場合は改行、メソッドの場合は改行しないのが普通。

893 :デフォルトの名無しさん:2017/06/23(金) 18:28:39.19 ID:0SAurMDI.net
基本的にeclipseのフォーマッターに従っときゃいいよそんなもん
改行なんかは見やすく調整が必要だったりするけど、スペースなんて好みの入る余地はない

894 :デフォルトの名無しさん:2017/06/23(金) 20:39:04.90 ID:4xTfYoSZ.net
>>892,893
なるほど!ありがとうございました!

895 :デフォルトの名無しさん:2017/06/23(金) 22:18:29.83 ID:+oxSuAhB.net
>>892
クラスも改行しないだろ
まあ好みの問題か

896 :デフォルトの名無しさん:2017/06/24(土) 00:30:40.20 ID:zN8wjmA4.net
一万行ドヤ顔ワロス、初心者スレだから良いのかw

897 :デフォルトの名無しさん:2017/06/24(土) 00:43:48.32 ID:EAyBYnWy.net
どうなんだろうねえ。たまに真に受ける純真な人が居たりするから初心者スレではなるべくならない方が良いとは思うが。

898 :デフォルトの名無しさん:2017/06/24(土) 05:42:16.85 ID:AiSsJYjg.net
>>895
クラスは改行するのがJava本来のスタイル。

899 :デフォルトの名無しさん:2017/06/24(土) 05:43:14.11 ID:AiSsJYjg.net
>>893
はあ?

900 :デフォルトの名無しさん:2017/06/24(土) 08:15:02.93 ID:pwzMZ27W.net
>>888

そんな感じです。ちょっと説明しずらいので描いてみました。
ttps://www.axfc.net/u/3818541.png

□同士の間隔は変わらないのですが、選択したものの幅が広がり、
他の位置を広がった幅分だけ設定するのが難しいと感じています。

901 :デフォルトの名無しさん:2017/06/24(土) 18:01:58.54 ID:Gf6BkFv4.net
>>900
文字じゃ無くて四角を描画するのかな?
こんな感じ?
ttps://www.axfc.net/u/3818669

902 :デフォルトの名無しさん:2017/06/24(土) 18:46:51.81 ID:pwzMZ27W.net
>>901

おおお!ありがとうございます。まさにこれです!
しかも、クリックで選択できるとは。

ありがとうございます。

903 :デフォルトの名無しさん:2017/06/24(土) 22:36:11.32 ID:EAyBYnWy.net
>>898
おまえの言ってるのは

class X
{
}

みたいなことか?

class X {
}

ではなくて。

しかし後者のソースの方が圧倒的に多いように思うんだがなあ。

まあでも Java の場合は文法的にはどちらでもよく完全に好みの問題でしかないからどうでもいいことだが。

904 :デフォルトの名無しさん:2017/06/24(土) 22:39:41.70 ID:jG1C/Elt.net
ナムナムシテルゥ??

905 :デフォルトの名無しさん:2017/06/24(土) 22:43:45.10 ID:EAyBYnWy.net
>>900
できればエロ広告満載のアップローダを使うのは控えて欲しかった。
隠す必要のない画像ならimgurとかもあるしな。
http://blog.livedoor.jp/easy2ch/archives/256381.html

906 :デフォルトの名無しさん:2017/06/24(土) 22:45:51.41 ID:9mpJ1WGD.net
>>905
登録しないといけないのは怖いです

907 :デフォルトの名無しさん:2017/06/24(土) 22:55:35.56 ID:AiSsJYjg.net
>>903
Javaはクラスの場合は後者が伝統的な書き方だよ。

908 :デフォルトの名無しさん:2017/06/24(土) 22:57:34.71 ID:AiSsJYjg.net
>>903
前者の間違いだった。Javaはわざわざこれはクラスだとわかるように改行するのがもともとのJavaのスタイル。

909 :デフォルトの名無しさん:2017/06/24(土) 23:00:09.67 ID:pSkV4PMO.net
全部eclipseのフォーマッターが標準でいいよ

910 :デフォルトの名無しさん:2017/06/24(土) 23:03:14.36 ID:AiSsJYjg.net
>>909
そもそもエクリプスは反Java側が作ったものだから。

911 :デフォルトの名無しさん:2017/06/24(土) 23:09:57.15 ID:pSkV4PMO.net
だからどうしたと言うのか
Javaの一般的IDEであるeclipseのフォーマッターによるフォーマットでは後者が採用されているし
各種書籍やネット上のソースでも後者が絶対的多数
伝統的と言えば聞こえはいいが結局は絶滅危惧種の古文書的フォーマット

912 :デフォルトの名無しさん:2017/06/24(土) 23:17:17.99 ID:84AJXWJ9.net
フォーマットなんて所詮言語と同じでナマモノだから
使われなくなればどれだけの伝統があろうが淘汰される、それだけ

913 :デフォルトの名無しさん:2017/06/24(土) 23:28:24.44 ID:AiSsJYjg.net
>>911
ちなみにJavaはNetBeansが本家だぞ。

914 :デフォルトの名無しさん:2017/06/24(土) 23:35:25.45 ID:pSkV4PMO.net
>>913
悪いけどちゃんと読んでからレスしてくれるか
「一般的IDE」と言っただけで誰も本家の話はしていない

915 :デフォルトの名無しさん:2017/06/24(土) 23:51:16.05 ID:EAyBYnWy.net
>>910
そうだったの?じゃあなんで全部Javaで作ったんだ?

916 :デフォルトの名無しさん:2017/06/25(日) 03:06:45.87 ID:gnvvT/jN.net
予告犯の主人公は変なとこで改行入れんなとか言われてたな
派遣切りでそのままネカフェ難民になってたけど、
一応java使えてれば仕事くらいはあるもんなんちゃうの?

917 :デフォルトの名無しさん:2017/06/25(日) 06:20:33.73 ID:wnVI7vr5.net
>>915
もうどうでもいいことだけど、eclipseは日蝕という言葉だから、サンマイクロシステムズの太陽へのあてつけだったんだけどな。もうそういう話も話題にならない時代になったわけか。

918 :デフォルトの名無しさん:2017/06/25(日) 11:14:41.58 ID:KhSXYTyi.net
使えるっていうのがどのレベルか知らんけど
ちゃんと全部のデザパタ理解してソースコード書けて
オラクルゴールド取れるぐらいにSQL理解してて
メジャーなORMの仕組みを理解してちゃんと使えて
Javaのフレームワークは最低限Strutsの頃から出て物全て把握してるなら
仕事なんて吐いて捨てるほど選び放題だ

javaの言語覚えました! レベルの奴は知らん

919 :デフォルトの名無しさん:2017/06/25(日) 11:29:00.70 ID:wnVI7vr5.net
>>918
オラクルマスターのゴールドはSQLを問う資格ではない。

920 :デフォルトの名無しさん:2017/06/25(日) 11:30:51.12 ID:wnVI7vr5.net
>>918
Java EEの定義からはずれることも言ってるけど頭は大丈夫か?

921 :デフォルトの名無しさん:2017/06/25(日) 11:33:30.39 ID:KhSXYTyi.net
いちいちスレあげんな阿呆

922 :デフォルトの名無しさん:2017/06/25(日) 11:37:15.80 ID:KhSXYTyi.net
>ID:wnVI7vr5
馬鹿乙

実際に仕事で使われることについてしか書いてないのに
なんでJavaEEの定義がどうとか出てくるのか

923 :デフォルトの名無しさん:2017/06/25(日) 11:40:07.72 ID:T3UbVkML.net
>>921
上げて損する人間などいない!

924 :デフォルトの名無しさん:2017/06/25(日) 11:45:17.88 ID:KhSXYTyi.net
まぁ揚げ足取ってるつもりで全然取れてない馬鹿みたいに
javaだけしか知らない阿呆だけでシステム作れたら誰も苦労しねぇ罠

925 :デフォルトの名無しさん:2017/06/25(日) 11:49:05.79 ID:T3UbVkML.net
なにを言っとるんだ

926 :デフォルトの名無しさん:2017/06/25(日) 11:49:38.20 ID:T3UbVkML.net
システムはjavaだけしか知らない阿呆だけで作れます

927 :デフォルトの名無しさん:2017/06/25(日) 11:53:44.21 ID:KhSXYTyi.net
あのなぁ
俺は仕事したことなさそうな初心者に
親切心でJava、SQL、ORM、フレームワークってキーワード出してやってんのに
定義から外れてるだのjavaだけで作れますだの低次元のゴミは消えろ阿呆
馬鹿の言葉遊びはチラシの裏で一人でやってろ

928 :デフォルトの名無しさん:2017/06/25(日) 12:00:01.54 ID:T3UbVkML.net
>>927
その親切心が皆の足かせになってることに気付こうよ

929 :デフォルトの名無しさん:2017/06/25(日) 12:01:56.65 ID:QPpmeE/J.net
めちゃくちゃ的外れな上に
知りもしないこと知ったげに言われると
初心者が混乱するから迷惑なんですが

930 :デフォルトの名無しさん:2017/06/25(日) 12:10:07.76 ID:wnVI7vr5.net
>>927
このスレッドのタイトルを見てますか?

931 :デフォルトの名無しさん:2017/06/25(日) 12:12:23.99 ID:NO+bhPJd.net
>>930
見えてないんでしょ

932 :デフォルトの名無しさん:2017/06/25(日) 12:13:45.70 ID:KhSXYTyi.net
キーワードすら聞いたことない馬鹿がゴキブリのように沸いてくるよな阿呆
俺を除いてここにいるようなjavaだけしか知らない馬鹿どもには仕事はできない
これが現実だ
現実は馬鹿に合わせてレベルを下げてなんかくれないぞ?
一つ勉強になったなアホども

933 :デフォルトの名無しさん:2017/06/25(日) 12:17:45.64 ID:KhSXYTyi.net
タイトルも糞も俺は>916の疑問に回答しただけだアホ

934 :デフォルトの名無しさん:2017/06/25(日) 12:26:32.31 ID:T3UbVkML.net
チームの人間をアホ・バカと罵ることで自らの力を誇示する人がいる
彼らはそれと引き換えにチームの人間を萎縮させチームの力を低下させる
個人の力よりもチームの力を優先できることをコミュニケーション能力と呼ぶならば
会社がコミュニケーション能力を重視するのは当然のことかも知れない

935 :デフォルトの名無しさん:2017/06/25(日) 12:27:12.25 ID:T3UbVkML.net
僕らはチームなんだよ!
チームプレイに徹して欲しい

936 :デフォルトの名無しさん:2017/06/25(日) 12:28:04.52 ID:T3UbVkML.net
2ch株式会社Java入門チーム

937 :デフォルトの名無しさん:2017/06/25(日) 12:39:18.47 ID:NO+bhPJd.net
自分だけはバカじゃないという前提

938 :デフォルトの名無しさん:2017/06/25(日) 12:51:17.04 ID:T3UbVkML.net
認知心理学の研究で大学の教授にアンケートを取ったところ
自分が他の教授よりも頭が良いと思っている人は9割だった

知的活動では自信過剰なことがプラスに働くんじゃないか
という研究結果があるので他人の批判ではなくて自己の思考や
行動を活発化させる方向にそれを活かせればよいのだろうけどね

939 :デフォルトの名無しさん:2017/06/25(日) 18:58:05.05 ID:/dywZQtk.net
>>905

すみませんでした。以後、imgurを使用います。

----

indexが増えた際のx座標計算がうまくできません。
IntStream.range(0,itemCount)
.filter( i -> getItemX(i) <= e.getX() && e.getX() < getItemX(i)+getItemWidth(i) ).limit(1)
の制限も考慮しなくてはならないのでしょうか?

参考ソース (ttps://www.axfc.net/u/3818669)
作成ソース (ttps://pastebin.com/i84ws4zH)

940 :デフォルトの名無しさん:2017/06/25(日) 19:43:27.29 ID:PbhQLBTm.net
>>917
ならばなおのこと全部Javaで作った理由がわからんな。Javaでこんなものまで作れますよって実績作ることにしかならないじゃない。

941 :デフォルトの名無しさん:2017/06/25(日) 20:14:59.02 ID:L2u2Exq8.net
Javaの話じゃなくてすまんがIronPythonを.NETをdisるために作ろうとしたら想像以上によく動くものができたから自分の論文を撤回せざるを得なくなったって話思い出した

942 :デフォルトの名無しさん:2017/06/25(日) 21:15:23.43 ID:Fdc708fK.net
業務システムでプロジェクト分割をしようと思った時、
1. Controller + Form
2. Repository + Service + Dto
3. システム共通

の3つに別けようと思う。
このプロジェクト分割方法は馬鹿かな?

943 :デフォルトの名無しさん:2017/06/25(日) 21:42:01.98 ID:NUJBMJ8x.net
>>932
現実はお前に合わせてレベルを下げてなんかくれないぞ?

944 :デフォルトの名無しさん:2017/06/25(日) 21:43:09.30 ID:Mv46Kpif.net
>>943
おじいちゃんその話52回目ですよ

945 :デフォルトの名無しさん:2017/06/25(日) 21:43:24.48 ID:wnVI7vr5.net
>>940
全部Javaなんて誰が言っているのか?

946 :デフォルトの名無しさん:2017/06/25(日) 22:14:49.01 ID:biukWTID.net
>>905
すまん。899は俺に合わせたんだと思う。

>>939
79行目
 誤: if (i == index) {
 正:if (i == this.index) {
13行目のint index;と71行目の getItemX(int index) 、どちらもindexなんだけど、79行目では13行目の方を使う。

86行目のtmpX += interval;を83行目と84行目の間に移動。
forの外にあったらintervalは1回しか使われない。

>IntStream.range(0,itemCount)
>.filter( i -> getItemX(i) <= e.getX() && e.getX() < getItemX(i)+getItemWidth(i) ).limit(1)
>の制限も考慮しなくてはならないのでしょうか?
そっちはマウスのボタンを押した際のX座標からどの四角かを判別してる所だから関係ないよ。

947 :デフォルトの名無しさん:2017/06/25(日) 23:19:36.03 ID:/dywZQtk.net
>> 945

ありがとうございます。なんとか出来ました。

>>そっちはマウスのボタンを押した際のX座標からどの四角かを判別してる所だから関係ないよ。
なるほど。まだよくラムダが分かっておらずfilterとlimit(1)があったので、座標計算の一部をしているのかと思いました。

親切にどうもありがとうございました。

948 :デフォルトの名無しさん:2017/06/26(月) 01:41:16.14 ID:dBcxZn43.net
>>945
Java ではないのか? じゃあこれ間違ってるから書き直しておいてくれ。

https://ja.wikipedia.org/wiki/Eclipse_(%E7%B5%B1%E5%90%88%E9%96%8B%E7%99%BA%E7%92%B0%E5%A2%83)
> Eclipse自体はJavaで記述されている。

949 :デフォルトの名無しさん:2017/06/26(月) 07:38:34.42 ID:WsPLfBZ0.net
EclipseはすべてJavaで作られた,と,言いたかったのか

950 :デフォルトの名無しさん:2017/06/26(月) 07:39:54.73 ID:WsPLfBZ0.net
Wikipediaの編集はそうするべきと思った人が自分でやりましょう,そのためのWikipedia

951 :デフォルトの名無しさん:2017/06/26(月) 20:29:48.22 ID:Zn9ql8N4.net
初歩的な質問ですみません
例外処理について勉強しているところなのですが
以下のコードでobjメソッド内で例外エラーが発生したとして、
"throws Exception"を記述する理由が良く分かりません
その記述が無くても、tryブロックでobjメソッドを呼び出した時に例外エラーが起こるので
catchブロックに移動し問題なく例外処理されると思うのですが・・・

class Sample{
public static void main(String args[]){
try{

obj();

}catch(Exception e){ //obj()からパスされた例外をキャッチ

   //例外処理

}


}

static void obj() throws Exception{

処理

}

}

952 :デフォルトの名無しさん:2017/06/26(月) 21:13:23.21 ID:L0ltnIDu.net
>>951
それがないとコンパイラも人も中身を全部読まなきゃ何の例外返す可能性があるメソッドなのかわからないからだろう。

953 :デフォルトの名無しさん:2017/06/26(月) 21:27:09.37 ID:Zn9ql8N4.net
>>952
ありがとうございます!

954 :デフォルトの名無しさん:2017/06/27(火) 07:26:37.90 ID:JOEM7gLE.net
javaってc++のシンタックスシュガーという認識で良いでしょうか

955 :デフォルトの名無しさん:2017/06/27(火) 07:56:12.40 ID:ngSbFuUq.net
>>954
何言ってんだお前、全然違う
シンタックスシュガーじゃない
センタックスシュガーだ
それ以外は合ってる

956 :デフォルトの名無しさん:2017/06/27(火) 09:23:49.77 ID:iWisgjb4.net
>>954
似ている所はあるがかなり違うと思ってた方が良いと思うよ。

957 :デフォルトの名無しさん:2017/06/27(火) 12:51:55.54 ID:24FbyWo4.net
>>954
まずシンタックスシュガーって言葉の認識がおかしいわw

958 :デフォルトの名無しさん:2017/06/27(火) 14:24:50.21 ID:UG1947Jf.net
>>955
えっ

959 :デフォルトの名無しさん:2017/06/27(火) 17:56:39.93 ID:WJOzEeQP.net
かんたまがきゆい

960 :デフォルトの名無しさん:2017/06/27(火) 19:12:17.19 ID:emYml4i8.net
C++はC言語、手続き型プログラミング言語に抽象データ型を実現し、
静的型付けオブジェクト指向プログラミングを書きやすくするために作られ、
C言語を継承し機械語の効率的な実行のための設計を維持しようとしている。

Javaは当初、組み込みシステム上でネットワークコンピューティングに対応(support)するために作られた。
Javaは移植性があり、セキュアであり、マルチスレッド対応であり、分散であり、そして
C++よりも単純(simple)になるように設計された。
Javaの文法はCプログラマに馴染みやすいものが選ばれたが、Cとの直接的な互換性は維持されていない。

JavaとC++の比較
-Wikipedia

961 :デフォルトの名無しさん:2017/06/27(火) 19:15:14.99 ID:emYml4i8.net
C++
プログラマを当てにする
明示的な型破壊
マルチパラダイム
演算子多重定義

Java
プログラマを守る
型安全性
オブジェクト指向
演算子の効果は不変

JavaとC++の比較
-Wikipedia

962 :デフォルトの名無しさん:2017/06/27(火) 19:15:21.15 ID:XD0WiN5V.net
java初心者の素人ですが、C言語は難解で難しいんやろなあと思っている

963 :デフォルトの名無しさん:2017/06/27(火) 19:22:49.43 ID:01l/tej4.net
初心者、入門の話だとJavaの方が10倍難しいよ

964 :デフォルトの名無しさん:2017/06/27(火) 19:24:55.69 ID:BFJFfjlP.net
>>963
それはオブジェクト指向だけ切り取った場合だろw

965 : ◆QZaw55cn4c :2017/06/27(火) 19:27:03.80 ID:kIT2/xtQ.net
>>962
難解というのなら Java の generics の方が難解だ
C++ のそれは instanctiate に端的に表されるとおり、至極素直だと思う

966 :デフォルトの名無しさん:2017/06/27(火) 19:27:49.98 ID:XD0WiN5V.net
え、まじですか?
Cの方がメモリ管理とかポインタとかあって難しいという噂ですよ。
その代わり、早いのだとか。

javaは、私でも初歩だけは楽しく学べました。
どんな言語にしろ、プログラムって素晴らしいですね!

967 :デフォルトの名無しさん:2017/06/27(火) 19:27:53.77 ID:emYml4i8.net
「メモリ管理は、Java仮想マシンに統合されたガベージコレクションの機能によって行われる(中略)
Javaには、C/C++のような、整数とポインタの相互変換、
配列の要素へのポインタによるアクセス、ポインタ演算といった機能は、基本機能としては提供していない」

Java
-Wikipedia

968 :デフォルトの名無しさん:2017/06/27(火) 19:29:43.95 ID:XD0WiN5V.net
でも楽しくて素晴らしいなんて思えてるのは最初だからかも。
開発となれば納期とか派遣とか人間関係とかあって、つらいという噂です。
やはりプログラム言語は恐ろしいですね…

969 : ◆QZaw55cn4c :2017/06/27(火) 19:31:16.57 ID:kIT2/xtQ.net
趣味でやればいい、誰にも支配されることはない

970 :デフォルトの名無しさん:2017/06/27(火) 19:31:29.26 ID:01l/tej4.net
>>966
ポインタってぶっちゃけかなり単純な話だよ

971 : ◆QZaw55cn4c :2017/06/27(火) 19:32:18.24 ID:kIT2/xtQ.net
>>970
でも void * 型を適正に使うのはむずかしい

972 :デフォルトの名無しさん:2017/06/27(火) 19:41:34.06 ID:i1YH3/OV.net
C/C++はGCがないからなぁ、まあBoehm使えば済むけど

973 :デフォルトの名無しさん:2017/06/27(火) 19:42:59.14 ID:GZ1TXcZe.net
Cはアセンブリ言語がわりに使うのが丁度いい感じがする。
OS書くとか、デバイスドライバ書くとか、組み込み用マイコンの数KBのROMエリア用のプログラム書くとかな。
ああ。でもこの頃は物凄く小さいマイコンボードでもLinux乗ってたりするからあまり小さくする必要はないかな。

974 :デフォルトの名無しさん:2017/06/27(火) 21:59:25.71 ID:i+35CN1y.net
**
Cには、ダブルポインタ、ポインタのポインタもあるから面倒

可読性が低いし、メモリ管理が厄介なので、
生産性が低く、開発費がかかる

固定配列だから、配列.add のように、配列に要素を追加できない

漏れは、1冊丸ごと、ポインタの本も買ったけど、
まともにプログラミングするだけでも、数年以上かかるし、
生産性が低いから、どんどん自分の給料・時給が下がっていくのが、Cのおそろしさw

あの人、ずっと製品を作れないって、影口を叩かれるのに、君は耐えられるか?w

975 :デフォルトの名無しさん:2017/06/27(火) 22:13:18.16 ID:Dbg4icUk.net
ただ、アセンブラもそうだけど、生産性以前にC言語のプログラミングは楽しいよ

976 :デフォルトの名無しさん:2017/06/27(火) 22:19:59.43 ID:FoyQGDtV.net
プログラミング初心者の話でしょ?
仕事に使うかって話なの?

977 :デフォルトの名無しさん:2017/06/28(水) 00:34:04.24 ID:na5KYPAC.net
>>974
reallocぇ。。。
GUIはMFCなりに任せて、中身はCで書くとか、新人の頃はそんなだったから、開発自体は数年もかからんよ。
バグった時のメンテが大変なだけ。

978 :デフォルトの名無しさん:2017/06/28(水) 00:58:22.89 ID:CBwCtPCV.net
>>974
てか、Cの配列はシンタックスシュガーでありポインタ操作を分かり易く表現しているだけだ。
*(p + i) を p[i] と書けるようになっているだけ。だから添え字がオーバーしようがマイナスだろうがお構いなしにアクセスできる。
そして malloc() 等でヒープにメモリ確保してそこを配列として使うのであれば realloc() で配列の伸縮は可能。
ていうか使っていいメモリ領域を伸縮できるだけのことでそこを配列として使うかどうかはプログラマの自由。

979 :デフォルトの名無しさん:2017/06/28(水) 08:04:30.05 ID:S5X3XZyd.net
Cの配列の重要な点として、確保した領域が本当に連続しているらしいというのがある
他の言語は、その辺がどうなってるのかわからない

980 :デフォルトの名無しさん:2017/06/28(水) 08:15:41.53 ID:na5KYPAC.net
>>979
連続してるから配列と言う。
だから二次元配列は二次元分が一次元のメモリアドレスに並ぶが、配列の配列は中の配列は連続してて、外の配列は各配列のポインタを配列として保持する。

この辺はデータ構造だから他の言語でも実装方法に違いはあっても意味的には同じはず。
(だからPythonはわざわざリストって言ってるんじゃなかろうか)

981 :デフォルトの名無しさん:2017/06/28(水) 08:52:01.64 ID:yOCmX8s5.net
Javaは文系科目、Cは理系科目

982 :デフォルトの名無しさん:2017/06/28(水) 09:04:21.96 ID:na5KYPAC.net
プログラミングそのものが理系って気はするけどな。
その中じゃCはハード寄りなので工学系か。

983 :デフォルトの名無しさん:2017/06/28(水) 11:33:29.30 ID:mVs/LpbZ.net
プログラム自体が理系という間違った認識
経済学部や文学部もJavaくらい必修にすればいいのに

984 :デフォルトの名無しさん:2017/06/28(水) 12:43:23.69 ID:XcVisUao.net
C、C++は自由度が高すぎる。C、C++を使わないといけないようなところ以外では使わないのが普通。

使う場合はコーディング規約なり、なんらかのルール、制限をかけないとたいへんなことになる。

985 :デフォルトの名無しさん:2017/06/28(水) 13:26:41.42 ID:d3x3J7jp.net
>>980
多次元配列の時にポインタ(Javaなら参照)使うかどうかは言語によって違うが、Cはポインタ使わないで塊にした配列というのも作れる。これはメモリ上で連続している。
例えば char s[3][10]; と宣言した場合、 char型10要素の配列が3要素連続している。char[10] という型が新たに作られて、それの配列になっているからだ。
なのでこれは char *s[3]; と宣言してから各要素にメモリを割り当てた時と同じように s[2][3] みたいにしてアクセスできるが、その場合は char * の配列なので扱いが違っている。

986 :デフォルトの名無しさん:2017/06/28(水) 13:29:55.62 ID:d3x3J7jp.net
>>984
そうそう。言語でサポートされていないことを人間が工夫するなりツール使うなりして補わないと中々うまく行かない。

987 :デフォルトの名無しさん:2017/06/29(木) 17:10:53.86 ID:wGgfLCtF.net
***SLAMO***

}

000-"F","TAP","0","1M","L","E-07"/0B"[9BA%]"^"2*73B"="0"/"9GA"
001-"Do"[[[%9DE=HUF%%!%$0B1OTU"NE"]]]<\b>
002-<<%!!!HNDEL%!0DAI@$7[1B]!0#!@>>
3000-{{1\B%HUF!0$$\%6/0Q\%6/GA[[7BU]]%9TE!%$en$}}


---

[[[C%%]]]
}

000-"5802"/"α"="0.1888412376155482"%en{

988 :デフォルトの名無しさん:2017/06/30(金) 07:57:33.97 ID:eG/sXpk5.net
>>871
全部で10000ならあるよ。
1ファイル1000行は役員に呼び出される。

989 :デフォルトの名無しさん:2017/06/30(金) 08:44:51.69 ID:TS0G3Eok.net
役員だと?!

990 :デフォルトの名無しさん:2017/06/30(金) 14:24:23.98 ID:9wiTcCe3.net
確かに1000行でも一体何故そうなったのか気になるレベルだな。
データを中に含めたりすれば行くだろうが、外出ししなかったのは何故かとかね。
データ含んでないのになったのならそれはそれで不思議ではある。基本的な何かを間違えてたりはしないかとかな。

991 :デフォルトの名無しさん:2017/06/30(金) 16:38:58.27 ID:47Hf59hn.net
外出っていやらしいよね

992 :デフォルトの名無しさん:2017/06/30(金) 16:40:17.80 ID:ZsngkGDU.net
プロジェクトの人間が入門書レベルのソースコードしか書けない奴等ばっかだと
関数分割してるだけで不満垂れ出す
そしてそういうプロジェクトのリーダーはただ管理してるだけの上辺だけのリーダー
コネで仕事取ってるそこそこデカい会社によくあるパティーン

993 :デフォルトの名無しさん:2017/06/30(金) 17:45:07.04 ID:cIeri8pZ.net
>>991
中に入れた方がいやらしくないね

994 :デフォルトの名無しさん:2017/06/30(金) 21:24:54.98 ID:k0YageAz.net
こんばんは、別言語を嗜んでいますがjavaは初心者です
とある勉強会に参加しようか迷っているのですが理由としてはIDEを使わずjavacコマンドでのコンパイルになるためです
勿論セッション内容はjavaについてですが、IDEを使わずの原始的な(失礼だったらすみません)方法でも勉強になるでしょうか?
アドバイス頂けると助かります

995 :デフォルトの名無しさん:2017/06/30(金) 21:40:12.36 ID:f3bJ3XCJ.net
>>994
なるなる
むしろ最初はIDE使わないで勉強したほうが本質的に理解できると思う

996 :デフォルトの名無しさん:2017/06/30(金) 21:52:29.18 ID:OVPH3JJ6.net
spring bootを使うことになったのですが、本買って勉強した方がいいでしょうか?
Javaのオブジェクト指向が分かるレベルです
どうやって勉強した方がいいでしょうか?

997 :デフォルトの名無しさん:2017/06/30(金) 21:58:30.29 ID:QKAjGyYK.net
>>994
IDEのような開発のためのツールの勉強にはならないだろうが言語そのものの勉強にはなるのではないかな。

998 :デフォルトの名無しさん:2017/06/30(金) 22:04:05.44 ID:m1s+AXNT.net
javaの関数が戻ってこなくてタイムアウトになる
デバッグ実行で追うと関数の最後まで行くのに、呼び出し元に戻らない
何か心当たりありませんか

999 :デフォルトの名無しさん:2017/06/30(金) 22:08:58.24 ID:S0i2W9e4.net
>>996
掌田津耶乃が書いていたかな?

1000 :デフォルトの名無しさん:2017/06/30(金) 22:12:52.28 ID:W0OUnv8/.net
>>998
関数の最後に原因があるんじゃないのか?

1001 :デフォルトの名無しさん:2017/06/30(金) 22:14:44.85 ID:W0OUnv8/.net
はいよっと
Java入門・初心者質問スレ Part.4 [無断転載禁止]©2ch.net
http://mevius.2ch.net/test/read.cgi/tech/1498828456/

1002 :2ch.net投稿限界:Over 1000 Thread
2ch.netからのレス数が1000に到達しました。

総レス数 1002
278 KB
掲示板に戻る 全部 前100 次100 最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★