Java入門・初心者質問スレ Part.3at TECH
Java入門・初心者質問スレ Part.3 - 暇つぶし2ch2:デフォルトの名無しさん
17/04/05 09:51:39.56 nC3E9c0D.net
前スレ >>997
onCreateってのはAndroidでそのActivityが作られたときに走る処理だからそこでgetTextしてもEditTextの中が空だから怒られてる。
確定ボタンをButtonで作ったりキーイベントReturnを捉えるイベントリスナーの中でやるべき。

3:デフォルトの名無しさん
17/04/05 18:26:37.85 XSIU9b3V.net
JHoshu

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


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

6:デフォルトの名無しさん
17/04/05 23:22:35.35 Ansd+i4M.net
>>999
なるほど。ポインタみたいなものでしたか。ご教授ありがとうございます。
>>1000
やはりitemにそれぞれの値を格納するほうがOOらしいですね。参考にします。
ありがとうございました。

7:デフォルトの名無しさん
17/04/06 00:09:53.06 b0BXYKSq.net
あるクラス内の2つのメソッドの中身を途中で何度も書き換えたいんだけどどう実装したらいい?
関数ポインタを扱うのように、途中で関数を書き換えたい。
抽象クラスを継承することで、メソッドの書き換えは出来るものの、継承したクラスの宣言時の一度しか
メソッドを書き換えられないと思うんだけど、他に方法はある?

8:デフォルトの名無しさん
17/04/06 01:36:02.66 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:デフォルトの名無しさん
17/04/06 02:01:39.25 FGV9lFi+.net
>>7
なんでそんなことしたいのか説明して
実装の話はそれから

10:デフォルトの名無しさん
17/04/06 10:42:30.59 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:デフォルトの名無しさん
17/04/06 16:06:42.01 8OEcGMYc.net
>>7
Javaは静的に定義してコンパイルする言語だから実行中の動的書き換えは無理
9が言ってるように目的は何なのかを書け

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

13:デフォルトの名無しさん
17/04/06 21:14:24.31 O3QBzUs3.net
じゃあFunctional Interfaceで
URLリンク(ideone.com)

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

15:デフォルトの名無しさん
17/04/06 23:04:04.80 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:デフォルトの名無しさん
17/04/07 00:39:47.52 g05Ok9Aj.net
URLリンク(ideone.com)
上のソースコードが、イデオンだと実行時エラーに
なってしまいます。原因を教えて頂けないでしょうか。

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

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

19:16
17/04/07 03:02:40.52 g05Ok9Aj.net
>>17 >>18
ありがとうございます。
実は前スレでも似たようなことを質問させて頂きました…。
>>18
自分のパソコンに入っているエクリプスでは普通に出力されます。
ここにソースコードを貼るためにイデオンを使ってます。

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

20:デフォルトの名無しさん
17/04/07 04:15:47.44 E9+XPTIr.net
アイディーイーワン
1つのストリームに対して2つのScannerを使ってるのがいけない
俺の環境(1.8系)だとエラーになるよ

21:デフォルトの名無しさん
17/04/07 04:20:28.04 E9+XPTIr.net
これ
URLリンク(www.securecoding.cert.org)

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

23:デフォルトの名無しさん
17/04/07 15:10:53.06 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:デフォルトの名無しさん
17/04/07 16:38:24.04 10W/Ra3M.net
もうイデオンでいいわw

25:デフォルトの名無しさん
17/04/07 17:25:04.53 am4C8gz9.net
>>23
ここはJavaスレなんで泥特有の質問は泥スレにどうぞ
Androidプログラミング質問スレ revision53
スレリンク(tech板)

26:16
17/04/07 20:57:30.40 g05Ok9Aj.net
>>20 >>21 >>22
ありがとうございます。
アイディーイーワンって読むんですね。
ちょっと調べてみて、またレスしたいと思います。

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

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

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

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

31:デフォルトの名無しさん
17/04/08 12:35:48.36 CqR65F9s.net
>>28
>>16は↓のスレでコテハンと遊んでる34歳の無職だよ
ねねっちと一緒にプログラムを勉強するスレ第2話 [無断転載禁止]©2ch.net
スレリンク(tech板)
34歳、発達障害の無職ですが…4 [無断転載禁止]©2ch.net
スレリンク(prog板)

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

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

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

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

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

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

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

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

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

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

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

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

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

45:デフォルトの名無しさん
17/04/08 20:17:39.84 MZUufgxp.net
>>44
価値か。価値ねえ。それはあなたが何を求めているかで変わるんじゃないかな。
例えばAndroid用アプリを作って売るとか、無料ゲーム作ってサイト内課金で稼ぐとか、そういう商売してるなら少し遠回しではあるけどJavaに価値があるということになると思う。
実際に金稼げるわけだしね。Androidの端末は沢山出回っててユーザも多い。

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

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

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

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

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

51:デフォルトの名無しさん
17/04/11 21:28:46.27 A5AwerKU.net
String a = new String("hello world") ;
String a = "hello world" ;
これは略し方の違いなだけで同じ意味なんでしょうか?

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

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

55:デフォルトの名無しさん
17/04/12 03:26:16.05 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:デフォルトの名無しさん
17/04/12 23:55:55.72 NTW6AtnI.net
>>55
Javaなら環境依存はないことになってるんだから実行結果も貼ってみなされ。

57:デフォルトの名無しさん
17/04/13 00:01:26.42 oGpC5FIZ.net
>>55
ったく
URLリンク(ideone.com)

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

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

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

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

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

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

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

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

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

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

68:デフォルトの名無しさん
17/04/15 23:48:14.07 +FDoqV6E.net
質問させてください。
今日パソコンにeqlipseを入れて文字の表示をしていたのですが
出先から帰って再度起動させてから他のクラスを作って実行しても
「現在、表示するコンソールがありません」というメッセージが出て反映させられません。
どちらも新規クラス作成でメソッド・スタブのmainメソッドにチェックを入れて作成しましたし、
コピペして中身が全く同じなのでどこに原因があるのかわからず困っています。
どなたかお知恵を貸していただきたいです!

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

70:デフォルトの名無しさん
17/04/16 00:35:15.16 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:デフォルトの名無しさん
17/04/16 07:35:13.11 Ey1n1KGC.net
よくお互いをロックして制御不能みたいな実行時エラーって
あれどういう原理なんですか?
そういうプログラム逆に組んでみたいんですが…

72:デフォルトの名無しさん
17/04/16 09:48:34.56 0couv4LD.net
>>71
URLリンク(ideone.com)
例えばこんなん

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

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

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

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

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

78:デフォルトの名無しさん
17/04/16 23:39:22.02 7oLLQxXY.net
URLリンク(www6.kaiho.mlit.go.jp)
ここのライブカメラを見たいんですがセキュリティでブロックされて見れません。
javaの例外サイトに設定すればいいらしいのですが、どのURLを入れればいいのでしょうか。
あと、これって手打ちのみ?

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

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

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

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

83:デフォルトの名無しさん
17/04/17 06:19:26.55 ReyyQyZQ.net
>>79
関数にはレシーバー(主体)が無いけど、メソッドにはある
インスタンス(レシーバー).メソッド名()
関数名()
スッキリわかる Java入門 第2版、2014
この本を3回読んで、みっちりとオブジェクト指向を学ぶのが、
プログラミングとすべての言語の基本

84:デフォルトの名無しさん
17/04/17 08:52:54.56 jxYq0SCN.net
>>79
ほぼ同じ いちいち使い分けるやつは見たことない
ただし C Java を混ぜこぜにやるのはNG
「見た目は似てるけど根本的に違う」という部分を見逃すとどっちも使い物にならんよ

85:デフォルトの名無しさん
17/04/17 10:19:19.48 0jhtVsWG.net
String型変数 の5~6字目(半角の数字)を2桁のint 型変数として取得したいと思っています。
substring(5,7)で一回別のString型変数に入れてから、Integer.parseIntでint型に変換するんじゃなくて、
直接int型としてsubstring(5,7)で抜き出す書き方はあるでしょうか?

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

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

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

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

90:デフォルトの名無しさん
17/04/18 07:59:43.48 6G1kXLTk.net
Cは、まだJavaが無かった頃の、手続き型言語の代表
Javaは、オブジェクト指向の代表で、
Java以後は、ほとんどすべての言語がオブジェクト指向になった
C・Javaは、考え方が大きく異なるので、一緒に勉強できない
スッキリわかる Java入門 第2版、2014
まずこの本を3回読んで、オブジェクト指向をみっちりと学ぶ
その後、この2冊をこの順に読む
たのしいRuby 第5版、2016
みんなのPython 第4版、2017
この2冊は表裏一体だから、たのしいで苦しむと、
みんなのはスラスラと読めるようになる
その後、Groovy, Kotlin を勉強すればいい

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

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

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

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

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

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

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

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

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

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

101:デフォルトの名無しさん
17/04/19 23:07:06.82 CBlBPUu/.net
95氏は勉強と技術の習得が全く別物だという認識が無いんじゃないかな?
テストで良い点取りたいなら勉強するしか無いけども、
ソフトを作れるようになりたいなら、覚えるより先に何を作るか決めないとダメだよ。
中学校の英語の勉強と同じだね。仮に英語の単語と文法を全て覚えたとしても
テストで良い点数取れるだけで、英語の映画も英文の小説も楽しめないだろ?
プログラミングも同じ事で、勉強したって本に書いてある通りの事しか出来ないよ。
海外旅行する為に日常会話程度の英会話を覚えるって良くある話だけども、
そんな感じで作りたいソフトに必要な事だけを覚えていく感じでやるといい。
私はCADのプログラマなのでCADの事でないと上手く言えないんだけども、
CADなら画面が出て線が引けてマウスとキーボードとファイルの読み書き出来れば充分。
javaは初めて3ヵ月くらいで勉強と呼べるレベルの事はしていないが、
基本的な作業なら出来る程度のCADがもう出来ている。
未だjavaのシステムの構造を理解してない故の不具合は多いし、
クラスだの継承だのpublicとprivateの違いだの、余り深く理解してないけど、
売り物になる程度にまで完成させるのには大して時間はかからないと思う。
たぶんJav


102:aの試験やったら落第レベルだけど商品レベルの物は作れるに?



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

104:デフォルトの名無しさん
17/04/19 23:46:23.05 ekj+eUll.net
ExcelVBAで作ってるアプリケーションをウィンドウアプリケーションとして作りたくてあれこれ勉強してるけど、Java
のGUIがこれまた判らんというか^^;
目標はまだまだ遥か彼方ってな感じ

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

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

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

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

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

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

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

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

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

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

115:デフォルトの名無しさん
17/04/21 12:31:39.63 O9u1h7rs.net
目的を書く

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

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

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

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

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

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

122:デフォルトの名無しさん
17/04/24 21:38:18.35 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を呼び出しているわけだが
こういう関係を表現するような日本語ってなんかないのかな
親とか�


123:Z弟とかそういう



124:デフォルトの名無しさん
17/04/24 21:56:16.91 LwZqUTHo.net
部分適用

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

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

127:ich1
17/04/26 07:18:55.25 KcpaNie5.net
URLリンク(goo.gl)
これは嘘でしょ?
本当なら落ち込むわ。。

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

129:デフォルトの名無しさん
17/04/26 16:36:59.72 vjkzFaZx.net
>>121
義兄弟

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

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

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

133:128
17/04/26 18:22:25.64 /ZfpN6QH.net
>>130
荒らしではない。
悪意ある質問などしてない。

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

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

136:128
17/04/26 19:54:48.55 /ZfpN6QH.net
>>129 >>132
ありがとうございました。
>>133
ソフトウェア板ですかね。

137:128
17/04/26 20:17:14.84 /ZfpN6QH.net
たびたび失礼します。
やってみたら出来ました!
URLリンク(ideone.com)
繰り返しになりますが、アドバイスをくれた方ありがとうございます。

138:デフォルトの名無しさん
17/04/26 20:23:09.70 C1JG3n6h.net
>>135
どういたしまして

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

140:デフォルトの名無しさん
17/04/27 12:35:09.09 11f5ZnzK.net
誤爆しましたすみません

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

142:デフォルトの名無しさん
17/04/27 17:06:15.78 Zbny+f2I.net
>>139
今のJava


143:で積極的にcharを使う理由は全然ないんだけど、何か理由があるのかな まあそれはともかくScannerから一度Stringで受けてからcharAt()すればいいんじゃね?



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

145:デフォルトの名無しさん
17/04/28 03:06:25.55 v9V+NcAE.net
>>141
君にこれをあげよう。
URLリンク(ideone.com)

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

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

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

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

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

151:デフォルトの名無しさん
17/04/29 15:38:04.47 JW7PzOlh.net
cvsファイルで
1 田中 りんご
3 鈴木 みかん
6 齋藤 ヨーグルト
2 根元 パン
5 根岸 サラダ
4 佐藤 ご飯
こんな感じのやつをソートしたいです。
数字の列が 配列0
名前が 配列1
食べ物系が配列2に入ってます
cvsを読み込んで数字の列を新しい配列0~5にいれてソートして表示するとこまではできたのですが
後ろの名前と食べ物が同時にソートされません。
やり方教えてください

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

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

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

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

156:デフォルトの名無しさん
17/04/29 17:16:52.09 6B/XobRt.net
>>148
インデックスをソートしちゃえばいいよ
URLリンク(paiza.io)
データは列の集合、列は行の集合になっているけれども
テーブルのようなデータ扱うときは
データは行の集合、行は列の集合
にしたがいんじゃないかな

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

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

159:デフォルトの名無しさん
17/04/30 02:15:39.83 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}"); }

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

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

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

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

164:デフォルトの名無しさん
17/04/30 05:50:10.68 /xQtxfzV.net
できた。ソートをTreeMapに任せてCSVの中身を何も考えずに突っ込んでる版。
URLリンク(paiza.io)

165:デフォルトの名無しさん
17/05/01 14:58:41.66 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なしでよく分からない所に返しているのに動いているのが分からず……

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

184:デフォルトの名無しさん
17/05/04 20:11:19.54 TB6ujr0/.net
>>177
まずは入門書1冊買ってきてそれに合わせて勉強するしかない
エラーの原因とかも正しい書き方自体がまだ分かって無い状態だし
後はエラーが出たらググるか
ソースコードどっかに置くかかここに書いて聞くか

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

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

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

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

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

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

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

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

193:デフォルトの名無しさん
17/05/04 21:40:59.09 qYtoqfij.net
>>187
C、C++、C#を勉強してJavaを勉強して到達するレベルを
基準にしたらそれはそうなると思うんだよ
Javaを勉強したいというときに
Javaだけを勉強するのとどちらが効率いいですか?ってことなので
Javaだけを基準にした場合、到達速度っていうのは変わってくるんじゃない?
いろんな言語を1年で齧って回るよりはJavaを勉強したがいんじゃないかな

194:デフォルトの名無しさん
17/05/04 21:47:21.88 qYtoqfij.net
>>177
慣れることが大事なのでサンプルコードを書きまくるのがいいと思う
おすすめは↓の2冊
10日でおぼえるJava入門教室
URLリンク(www.amazon.co.jp)
新・明解Java入門 (明解シリーズ)
URLリンク(www.amazon.co.jp)
10日でおぼえる~は1日目はこれみたいに区切りがいいので
やりやすいかと

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

196:デフォルトの名無しさん
17/05/04 21:51:14.78 4KUdSbXO.net
>>173
流れを感じるのじゃ

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

198:デフォルトの名無しさん
17/05/04 22:06:59.52 qYtoqfij.net
>>194
JavaとC#は似てるから
JavaがわかるようになればC#もわかるかと
深くJavaを知るっていうのはつまりC、C++、C#を勉強して到達するレベルの話だよね
そうでなくてJavaを勉強して到達するレベルを基準にした場合
Javaを勉強するのが近道だと思わない?

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

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

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

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

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

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

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

206:183
17/05/04 23:40:33.61 Z6thB1wv.net
>>184
ありがとうございます。
よく見てみたいと思います。

207:デフォルトの名無しさん
17/05/05 00:12:55.97 YKLEnk0e.net
>>90
ここに書いてある
スッキリわかる Java入門 第2版、2014
まずこの本を3回読んで、オブジェクト指向をみっちりと学ぶ
この本が、すべての言語の基本。
その後、好きな言語を勉強すればいい

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

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

210:デフォルトの名無しさん
17/05/05 01:24:59.61 jRdxjTk1.net
ここからJavaのほとんどを学んだ
URLリンク(www.ne.jp)

211:デフォルトの名無しさん
17/05/05 01:30:04.44 yjG7qa8A.net
>>205
>>31

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

213:スッキリ厨
17/05/05 02:04:46.46 YKLEnk0e.net
「たのしいRuby」など普通の本では、オブジェクト指向の説明は、数十ページ
でも「スッキリわかる Java入門」では、250ページもある。
つまり、Javaの本と言うよりも、オブジェクト指向の本なんだよ。
そして、すべての言語の基礎になる
だから、この本は、歴史的な本と言われるわけ。
これ以前には、オブジェクト指向を勉強する、簡単な本は無かった
未だに外国では、この本が無いから、
オブジェクト指向を勉強するのに、四苦八苦している

214:デフォルトの名無しさん
17/05/05 02:06:41.17 Pxg1OvaW.net
あと、javaを実行する時とJSPを実行する時、それぞれpublic class{とか<%とか必要だと思うんだけどこれがないとコンピュータが処理であると認識しないっていうこと?
それとprivate class とpublic class の違いもイマイチわからぬ
Privateはそのクラス内でしか呼び出せないっていうけど、そもそも呼び出すってなんぞや

215:デフォルトの名無しさん
17/05/05 02:21:57.70 Pxg1OvaW.net
>>207
もう一個質問お願いします
extends 抽象クラス
その後に具体的な処理を書くって書いてあるけど抽象クラスを定義する意味ってあるの?
具体的な内容を記述するならそもそも抽象クラスを定義する必要あるのかなって
抽象クラスとかは使い方もわからないしそもそもなんでそういう考え方をするのかも理解ができない
何が言いたいかというと例えば車っていう抽象クラスがあったとしてそれは排気量を記述しなければいけない、メソッドとして走る機能を持つって事として
後で具象化クラスでextends車で抽象クラスを呼び出した時に結局排気量=なんたら、とかを記述しないといけないじゃない
だから、そういう制約的な意味しかないんじゃないかなと
プログラミングにおいて便利にするためにそういう事をしてるはずなのに、その利便性がイマイチ掴めないのだ
今は繰り返し処理とかつかって素数を求めるプログラムを作るっていう事を書いてるレベルだから、もっとゲーム的な方に行くとその意味がはっきりするのかね?

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

217:デフォルトの名無しさん
17/05/05 02:40:44.53 iQB12R96.net
つっても、もう世に出てる言語の殆どはLL含めオブジェクト指向言語だろ。
。。。関数型言語の世界へようこそ?

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

219:デフォルトの名無しさん
17/05/05 02:50:09.25 TDjvniVu.net
>>210
>未だに外国では、この本が無いから、
>オブジェクト指向を勉強するのに、四苦八苦している
それはないww
そこまで書くとステマかと思うわ

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

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

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

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

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

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

226:デフォルトの名無しさん
17/05/05 03:50:24.78 TDjvniVu.net
>>220
たとえば共通の手順とか
テンプレートメソッドと呼ばれるパターンの例(HeadFirstデザインパターンより)
URLリンク(i.imgur.com)
コーヒーでも紅茶でも抽象化した手順は同じたし
お湯沸かしたりカップに注ぐ部分は全く同じ
今はJavaでも抽象クラスとは違う方法でも実装できるけど
こういう基礎の理解は必要

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

228:スッキリ厨
17/05/05 05:14:23.88 YKLEnk0e.net
ゲームは、オブジェクト指向の最高峰
キャラクタークラスから、勇者・魔法使いなどを、
モンスタークラスから、スライム・ゾンビなどを派生させる
is-a, has-a とか勉強すれば?
消防車は車の一種。is-a。継承
車はハンドルを持っている。has-a。部品
「スッキリわかる Java入門」では、オブジェクト指向の説明が、250ページもある。
ここ20年間、世界中の中年のCプログラマーが、皆、C++へ移行できずに撃沈している
オブジェクト指向がどれぐらい難しいか、分かるでしょ?
だから、スッキリが日本中に、革命を起こした

229:デフォルトの名無しさん
17/05/05 05:22:28.10 YKLEnk0e.net
>>224
java.awt.Shape interfaceで定義される、containsメソッドは、
指定された点が、図形の境界の内側にあるか否かを判定する
「java 図形 内側」などで検索!

230:デフォルトの名無しさん
17/05/05 12:17:52.64 Oxs8iPV6.net
超単純にやるなら
・種別(矩形、三角形、円)
・パラメータ(最大4つ)
 頂点の絶対座標もしくは円の中心座標&半径
とやって判定時などに種別に応じて処理を分ける
それと一つの部屋?を分割して単純な図形の組み合わせにする
回転が必要なら矩形を2つの三角形に変える
スクロールとか必要ならもっと面倒だけど
プロパティかパラメータを増やせばなんとかなるべ

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

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

233:デフォルトの名無しさん
17/05/05 12:50:52.07 XP+Q0OKG.net
>>229
会社にあります

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

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

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

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

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

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

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

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

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

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

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

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




246: System.out,.print ("hello"); } 実行しようとしてもエラーが出る  identifierがありません。 全く持って意味が分からない…



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

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

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

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

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

251:デフォルトの名無しさん
17/05/05 17:06:37.66 UN44kkRF.net
全てに意味があるんだから全て覚えなさい
「ファイル名 class」
「mainメソッド」
「アクセス修飾子」
「staticメソッド」
「引数」
「戻り値」
「戻り値の型」
「コマンドライン引数」
このあたりで調べなさい
全部まともに答えるには金取らんと割に合わんレベルだよそれ

252:デフォルトの名無しさん
17/05/05 17:06:41.65 SKOR9dHG.net
public
static
void
main()
String args[]
{
それぞれの意味を覚えてる
args[]は実行時の引数の格納するから
javac test.javaでコンパイルした場合
実行時にjava test aaaとするとarg[]にaaaも含まれる
コントロールはjava コントロール名とかで調べる

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

254:デフォルトの名無しさん
17/05/05 17:26:34.34 G0OfeBgr.net
個人的には最初から1から10まで理解しようとしたら
頭がパンクするだろうから、ある程度は絞ったほうが良い
①public class Tes {
② public static void main(String[] args) {
③ System.out.println("hello java");
}
}
まずは
①:ファイル名とクラス名が同じじゃないと、Javaのプログラムって動かないんだなーぐらいは覚える
②:とりあえず動かすにはこの魔法の呪文が必要なんだぐらいしておく
③:文字列出力するのはこう書くのかー
ぐらいが理解できれば次に進んで良いと思うわ
最終的にはpublic、static、void、stringとかの意味も理解する必要はあるけど
それを利用する(あるいは目的を持って変更する)場面を知ってからじゃないと、結局分からず仕舞いで終わるだろうし
上で書いたソースしか知らない段階でvoid調べて、「何も値を返さない時はvoid型を指定する」とか見ても
理解できるどころか「値を返す、返さないってなんやねん!」ってなって意味が無い

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

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

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

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

259:デフォルトの名無しさん
17/05/05 20:59:16.11 Pxg1OvaW.net
>254
netbeansでやってますよ

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

261:デフォルトの名無しさん
17/05/05 21:22:34.99 RNJ7gaAH.net
>>252
mainメソッドねーよとか、正しいmainメソッドの書き方じゃねーよって怒られてるだけ。
入門すれば何怒られてたのかも分かるから。

262:デフォルトの名無しさん
17/05/05 21:31:22.44 RNJ7gaAH.net
入門書は大抵古い面倒な書き方->新しい楽な書き方の順で紹介する。
なので長い目で見たら新しい入門書のが良い。
到達出来るレベルは楽な文法覚えてるだけで何か作れる訳じゃ無い。
どっち読んでも大差はない。
英語覚えたから英語ペラペラか?
言語ってのは使ってナンボ。
入門したら、簡単なので良いからさっさと何か作る。

263:デフォルトの名無しさん
17/05/05 21:51:52.06 Pxg1OvaW.net
>>258
なるほど
つまり作るための下地は作れると考えて大丈夫?

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

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

266:デフォルトの名無しさん
17/05/05 22:48:55.45 G0OfeBgr.net
しかしJavaで書籍というか入門書無しで勉強する人おるんだな
大体はスッキリの入門、やさしいJava、明解のどれかから手を付けて始める印象が多い
というかせっかく入門書一杯あるんだから利用しない手はないべ

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

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

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

270:デフォルトの名無しさん
17/05/05 23:16:03.94 yjG7qa8A.net
>>265
>>31

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

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

273:265
17/05/06 00:35:25.29 gDC1nU6T.net
>>268
そうなんですね。ありがとうございます。
どちらかではOKでどちらかでは駄目という場面とかありますかね?

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

275:265
17/05/06 01:34:48.70 gDC1nU6T.net
>>270
分かりました。ありがとうございました。

276:デフォルトの名無しさん
17/05/06 02:51:48.75 GtACJVEu.net
インスタンスの同一判定で違いが有るという話を見たこと有るが、
配列のインスタンスを判定する事自体がダメな事だと思ってる。
それより、int result[]=new int[10];
なんて書き方は覚えたての頃に少しした程度で、
今は、int result[]={ 0,1,2,3,4,5,6,7,8,9 };こう書くよなぁ…
C言語は知らなくても慣れてくるとみんなこうならない?

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

278:265
17/05/06 04:21:51.57 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};
と書いてあり、そう入力するとエラーは無くなります。
なのでこの二つの表記法に文法的な違いがあるのでは?
と思ったわけです。
改めて皆さんの見識を伺いたいです。
本には違いはほとんど書かれていませんでした。

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

280:デフォルトの名無しさん
17/05/06 04:34:42.43 feNHzNcv.net
>player1.hand = {2,13,26,13,48};
>とするとコンパイルエラーになるんですよね。解答には、
そのエラーメッセージで検索すべき!
それでも分からなければ、そのエラーメッセージをここに書いて、質問する

281:デフォルトの名無しさん
17/05/06 04:44:15.46 feNHzNcv.net
推測で書くけど、
型 a = {2,13,26,13,48};
これは、配列リテラル。
初期化時の、特別な書き方
たぶん実行文じゃない。この行で実行されるわけではない。
アプリの開始前に、コンパイラが置き換える。
即値、つまり、既に何もせずとも値になってる
型 a = new int[]{2,13,26,13,48};
一方、これは実行文。この行で、newが実行される

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

283:265
17/05/06 11:15:43.19 gDC1nU6T.net
多くのレスありがとうございます。
エクリプスでは「配列定数はイニシャライザにおいてのみ使用可能です」と表示されました。
皆さんの言うように{1,2,3}という表記法は初期化時のみしか使えないということみたいです。
でも>>274の場合は初期化に相当しないのかな、と思うのですが…。

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

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

286:デフォルトの名無しさん
17/05/06 13:09:11.36 3Bn/MS7d.net
x int[] a;
o int[] hand;
人のコードよく読んで無かった。。。

287:デフォルトの名無しさん
17/05/06 13:44:30.80 jYP/Wf/9.net
>>279
ありがとう。

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

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

290:265
17/05/06 17:14:44.21 gDC1nU6T.net
>>281
そうなんですね、分かりました。
繰り返しになりますが、多くのレスありがとうございました。

291:デフォルトの名無しさん
17/05/08 17:19:02.28 C0kEGIYB.net
今日からjavaの本で学習し始めたんだけど
慣れたらpublicなんたらかんたらとか長い分も自分で一からかけるようになるの

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

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

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

295:デフォルトの名無しさん
17/05/08 20:55:56.19 epGpOLAg.net
>>287
なる。
1~2秒ぐらいで打てるようになる。

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

297:デフォルトの名無しさん
17/05/09 12:44:24.36 zagaBJts.net
画像解析のソフトを使うのにJava Library Pathを追加しないといけないのですがJavaをインストールした後の最初から躓いています(;;)
URLリンク(github.com)
この真ん中あたりに書いてある
Option #2: Control MATLAB from inside QuPath
-- Add MATLAB libraries to QuPath's Java Library Path
で,JVMOptionsをどうやって作ったらいいかわかりません
下記のページの最後「パスの設定は完了」ってところまでやったんですが..
URLリンク(techfun.cc)
関係ないソフトでてきてごめんなさい

298:デフォルトの名無しさん
17/05/09 12:49:33.75 zagaBJts.net
Win7 64bitです

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

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

301:デフォルトの名無しさん
17/05/09 18:01:00.16 xhqm65zv.net
そんなあなたにpaiza.io

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

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

304:デフォルトの名無しさん
17/05/09 19:45:49.93 41He4fJz.net
>>298
そもそもそのページがMATLAB → QuPath(op #1)とQuPath → MATLAB(op #2)の両方書かれてるのは理解してるよな?
op #1はMATLAB側の環境を整えてる
同#2はQuPath側だな
んで問題の箇所は簡単に済ませるならjava.library.pathをQuPath.cfgの中に記述しろって書いてるだろ?
実際のファイル見てないからわからんが、テキストエディタで見れば最低でも[JVMOptions]の行はあるだろうから、その下に追記してやればいい
例で書かれてるのはMAC版みたいだから自分の環境に合わせて書き換えろよ

305:デフォルトの名無しさん
17/05/09 20:00:45.39 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が出ればそのあとは判定しなくていいわけだし
改良点があれば教えてほしい

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

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

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

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

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

311:デフォルトの名無しさん
17/05/09 20:51:57.55 SmlWSda1.net
Math.sqrtの結果をintキャスト

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

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

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

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

316:デフォルトの名無しさん
17/05/10 02:07:09.79 qeZ1bcfg.net
>>310
できる。

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

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

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

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

320:デフォルトの名無しさん
17/05/10 12:42:35.37 3FTnTomt.net
>>315
jarファイルのMANIFEST調べろ

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

322:デフォルトの名無しさん
17/05/10 19:54:36.55 39V1aTUU.net
>>293-300
MATLAB は、Python だろ
The Jupyter Notebook ( IPython )
ブラウザで、tmpnb

323:デフォルトの名無しさん
17/05/11 16:34:47.91 a7kjTynb.net


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

325:デフォルトの名無しさん
17/05/11 16:50:23.23 eS2L0WVj.net
>>320
いいやコンパイルされたクラスにシンボル情報が付いてるからソース無くても使える
余談だかこれのせいで逆コンパイルしやすいそうな

326:デフォルトの名無しさん
17/05/11 20:02:59.23 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();としても同じ結果でした
コンパイルの際、型情報はどういう順番でチェックされているのですか?

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

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

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

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

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

332:デフォルトの名無しさん
17/05/12 14:49:58.50 LGrn4Vkx.net
メソッドの中カッコ(インデント)は改行しないで書くのが習わし?
あと、次の処理を行うまで2秒とか時間間隔を置くコードがあれば教えて欲しい

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

334:デフォルトの名無しさん
17/05/12 15:37:25.98 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しようとしたら変数が見つかりませんってなっちゃう

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

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

337:デフォルトの名無しさん
17/05/12 18:10:13.38 80n6+mfo.net
Javaの公式リファレンスは
URLリンク(docs.oracle.com)
これしかないのでしょうか?
出来れば実際にメソッドを使った時の挙動も示してある物が見たいのですが、どこにも見当たらないもので・・・・・・

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

339:デフォルトの名無しさん
17/05/12 18:22:29.06 80n6+mfo.net
>>334
マジですか・・・・・・
プロの人はこれで動きが分かるのでしょうか
とりあえずはクラス名とメソッド名でググるようにします、ありがとうございます

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

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

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

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

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

345:326
17/05/12 19:54:24.39 Otw8y3gH.net
>>327
ありがとうございます。
この命令を使う是非についてもどなたか教えて頂けないでしょうか?

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

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

348:デフォルトの名無しさん
17/05/12 23:25:25.16 Otw8y3gH.net
>>342 >>343


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch