0001デフォルトの名無しさん2017/04/04(火) 20:41:11.59 ID:y0EcmGB0
0002デフォルトの名無しさん2017/04/05(水) 09:51:39.56 ID:nC3E9c0D
前スレ >>997
onCreateってのはAndroidでそのActivityが作られたときに走る処理だからそこでgetTextしてもEditTextの中が空だから怒られてる。
確定ボタンをButtonで作ったりキーイベントReturnを捉えるイベントリスナーの中でやるべき。 0003デフォルトの名無しさん2017/04/05(水) 18:26:37.85 ID:XSIU9b3V
JHoshu
0004デフォルトの名無しさん2017/04/05(水) 19:49:27.33 ID:xPaGCN9C
0005デフォルトの名無しさん2017/04/05(水) 20:16:36.85 ID:p+fIavz2
>>2
わざわざありがとうございます。
ようやく思い通り動くようになりました。
まだ細かい改善点はあるのでもう少し勉強してみます。 0006デフォルトの名無しさん2017/04/05(水) 23:22:35.35 ID:Ansd+i4M
>>999
なるほど。ポインタみたいなものでしたか。ご教授ありがとうございます。
>>1000
やはりitemにそれぞれの値を格納するほうがOOらしいですね。参考にします。
ありがとうございました。 0007デフォルトの名無しさん2017/04/06(木) 00:09:53.06 ID:b0BXYKSq
あるクラス内の2つのメソッドの中身を途中で何度も書き換えたいんだけどどう実装したらいい?
関数ポインタを扱うのように、途中で関数を書き換えたい。
抽象クラスを継承することで、メソッドの書き換えは出来るものの、継承したクラスの宣言時の一度しか
メソッドを書き換えられないと思うんだけど、他に方法はある?
0008デフォルトの名無しさん2017/04/06(木) 01:36:02.66 ID:iHw/QSTR
>>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 を通して使う。 0009デフォルトの名無しさん2017/04/06(木) 02:01:39.25 ID:FGV9lFi+
>>7
なんでそんなことしたいのか説明して
実装の話はそれから 0010デフォルトの名無しさん2017/04/06(木) 10:42:30.59 ID:wo+kdFBC
>>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));
これでどうだ
使えるかどうかは知らん 0011デフォルトの名無しさん2017/04/06(木) 16:06:42.01 ID:8OEcGMYc
>>7
Javaは静的に定義してコンパイルする言語だから実行中の動的書き換えは無理
9が言ってるように目的は何なのかを書け 0012デフォルトの名無しさん2017/04/06(木) 20:32:34.33 ID:vtBceFIS
>>11
関数ポインタのように差し替えたいって言ってるからinterfaceの差し替えでいいんしゃないの
リフレクションでもいいけど 0013デフォルトの名無しさん2017/04/06(木) 21:14:24.31 ID:O3QBzUs3
0014デフォルトの名無しさん2017/04/06(木) 21:39:53.20 ID:vtBceFIS
結局波平か
0015デフォルトの名無しさん2017/04/06(木) 23:04:04.80 ID:Lft96QhP
>>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に合った構造がある。
短いサンプル書いて意見を聞いた方が良いと思うな。 0016デフォルトの名無しさん2017/04/07(金) 00:39:47.52 ID:g05Ok9Aj
0017デフォルトの名無しさん2017/04/07(金) 01:02:07.87 ID:E+iT9RU9
0018デフォルトの名無しさん2017/04/07(金) 01:02:48.90 ID:KCHCaqUQ
>>16
何故IDEとか使わずにコード張るサイト使うのか分からん
とりあえず普通に実行したら実行時にエラー吐かなかったから
idone使う時の入力方法を自分で調べるしかないだろ 0019162017/04/07(金) 03:02:40.52 ID:g05Ok9Aj
>>17 >>18
ありがとうございます。
実は前スレでも似たようなことを質問させて頂きました…。
>>18
自分のパソコンに入っているエクリプスでは普通に出力されます。
ここにソースコードを貼るためにイデオンを使ってます。
String name1 = new java.util.Scanner(System.in).nextLine();
という表記法にはどんな問題があるのでしょうか?
スッキリわかるJavaに載っていたのですが。
どなたか教えてくれませんか?
ググってもこの表記法は見つかりません…。 0020デフォルトの名無しさん2017/04/07(金) 04:15:47.44 ID:E9+XPTIr
アイディーイーワン
1つのストリームに対して2つのScannerを使ってるのがいけない
俺の環境(1.8系)だとエラーになるよ
0021デフォルトの名無しさん2017/04/07(金) 04:20:28.04 ID:E9+XPTIr
0022デフォルトの名無しさん2017/04/07(金) 13:21:40.10 ID:Q8YZksVL
0023デフォルトの名無しさん2017/04/07(金) 15:10:53.06 ID:440JjrFN
Androidウェアラブル端末のBluetoothを用いて、端末所持者同士のすれ違いを検知するアプリケーションを製作しています。
APIレベルは19、4.4のKitKatです。
プログラムでは検知したBLEMACアドレスをテキストファイルに書き込む動作をおこなっています。
端末情報の項目などで確認できるBluetooth Device Address(BDA)を取得したいのですが現在は
*Random Addressを取得している
*GATTサーバのMACアドレスを取得している
のどちらかが発生しています。
こう考えた理由は生成したログファイルを確認すると一定時間ごとに同じ端末から得られるMACアドレスが変化している為です。
具体的には、作成したプログラムを稼働させた探知機でBeacon発信機を検出しそのMACアドレスと検出時刻をログファイルに書き込んでいます。
一日の稼働でおよそ100件ほど得られたデータのおいてすべてのMACアドレスが重複しない状態となっているからです。
相手方のBDAを取得する関数またはUUIDなど固有の番号をBluetoothの”検知”段階で入手する手段を教えて頂きたいです。
ご助言宜しくお願いします。
0024デフォルトの名無しさん2017/04/07(金) 16:38:24.04 ID:10W/Ra3M
もうイデオンでいいわw
0025デフォルトの名無しさん2017/04/07(金) 17:25:04.53 ID:am4C8gz9
0026162017/04/07(金) 20:57:30.40 ID:g05Ok9Aj
>>20 >>21 >>22
ありがとうございます。
アイディーイーワンって読むんですね。
ちょっと調べてみて、またレスしたいと思います。 0027デフォルトの名無しさん2017/04/07(金) 21:24:00.28 ID:a6ogP8yx
井出椀
0028222017/04/08(土) 12:16:45.55 ID:OP2gpsJ+
16氏のレスは何か学生が先生に質問してるような雰囲気で若さを感じるんだが、
残念な事にIDEをイデオンと読むもんだから40歳以上とバレてしまっている。
0029デフォルトの名無しさん2017/04/08(土) 12:25:43.95 ID:TxXYCj/0
(20代だけどずっとイデオンって読んでた……)
0030デフォルトの名無しさん2017/04/08(土) 12:35:44.62 ID:4NiiBXjv
意外と有名
またはアニヲタ
0031デフォルトの名無しさん2017/04/08(土) 12:35:48.36 ID:CqR65F9s
0032デフォルトの名無しさん2017/04/08(土) 12:44:33.10 ID:ryFntO7G
一行辺りは半角26文字で600万行あるテキストファイルの中身を
要素の数600万として一行づつ配列にいれていこうと思うのですが大丈夫でしょうか?
0033デフォルトの名無しさん2017/04/08(土) 12:45:57.94 ID:DTMJtpt4
0034デフォルトの名無しさん2017/04/08(土) 12:46:36.51 ID:DTMJtpt4
312MB、余裕です
0035デフォルトの名無しさん2017/04/08(土) 12:52:36.33 ID:ryFntO7G
このテキストファイルもjavaで入力しましたが、全部書き込み終わるのに8時間から半日くらいかかってたと思います。
0036デフォルトの名無しさん2017/04/08(土) 12:55:54.81 ID:ryFntO7G
>>33
ありがとうございます
メモ帳でこのテキストファイル開いてもパッとは開かないので不安ですがやるだけやってみます 0037デフォルトの名無しさん2017/04/08(土) 12:57:12.51 ID:DTMJtpt4
0038デフォルトの名無しさん2017/04/08(土) 13:00:01.26 ID:DTMJtpt4
>>36
メモ帳はね、uniscribeっていうリガチャやカーニングに対応した
高度なテキストレンダラを使ってるからもっさりしても仕方がない 0039デフォルトの名無しさん2017/04/08(土) 14:24:59.52 ID:QfXapNKS
余裕かどうかは動かすマシンによるのでは?
0040デフォルトの名無しさん2017/04/08(土) 14:33:44.07 ID:DTMJtpt4
その発想はなかったわ
0041デフォルトの名無しさん2017/04/08(土) 14:38:51.91 ID:YTkzg0Hn
ランダムな26文字の文字列600万行のファイルを作ってみたが3秒くらいだった
8時間〜半日かけてどういうデータを作ったのかが気になる
0042デフォルトの名無しさん2017/04/08(土) 14:39:55.19 ID:TxXYCj/0
その内一般家庭のPCスペックが「京」並になる時代がくるからへーきへーき
0043デフォルトの名無しさん2017/04/08(土) 17:01:59.34 ID:MZUufgxp
そういやJavaVMが使うメモリのデフォルトって今は多くなってんのかな?
これが小さい場合は自分で大きくなるようにオプション付けてVM動かさないとメモリオーバーフローになるよな。
0044デフォルトの名無しさん2017/04/08(土) 19:29:50.65 ID:FurKv1hb
vmが入ってる電子計算機でしか動かないjavaに深入りする価値あるんですか。
0045デフォルトの名無しさん2017/04/08(土) 20:17:39.84 ID:MZUufgxp
>>44
価値か。価値ねえ。それはあなたが何を求めているかで変わるんじゃないかな。
例えばAndroid用アプリを作って売るとか、無料ゲーム作ってサイト内課金で稼ぐとか、そういう商売してるなら少し遠回しではあるけどJavaに価値があるということになると思う。
実際に金稼げるわけだしね。Androidの端末は沢山出回っててユーザも多い。 0046222017/04/09(日) 04:05:43.60 ID:o//fitNy
>>44
私もつい最近まで貴方と同じ考えで、javaを使い始めたのは今年からです。
ホームページでの説明にApplet版CADを使い、商品はC言語みたいな事をするつもりで
まずオールJavaでAppletのCADを作ってみたんですが、想像以上に動作が軽かったです。
巨大なデータを扱うつもりで無ければAppletで充分だと思いました。
それより何より、Javaはプログラミングが物凄く楽です。
C言語ですとイベントの順序とか挙動で思い通り行かずグチャグチャになりますけど、
javaだと問題そのものが存在しないというか対策済みという感じですね。
それと、私は未だ弄ってないですが、データベースを触るのが簡単そうです。
あと、Windowsで例えば動画再生なんかはCOMコンポーネントだのDirectShowだの
数々の山を乗り越える必要が出てくる事が非常に多いのですが、
Javaだと専用ライブラリを使ってチョチョイのチョイで済む事が多いようです。
そんな感じで、私はなるべくjavaでやりたいと思うようになりましたよ。 0047162017/04/09(日) 23:24:51.53 ID:ySXi9r1b
>>28
若くはないですが、40まではいってませんよ。
あれは最初イデワンって読むと思ってましたが、Google検索の予測変換でイデオンってのが多かったから、ついそう読むのかなって勘違いしてしまったんです。 0048デフォルトの名無しさん2017/04/10(月) 03:52:41.97 ID:NTVTXuq3
0049デフォルトの名無しさん2017/04/10(月) 20:57:16.98 ID:AyjhZMz0
Air wife
0050デフォルトの名無しさん2017/04/11(火) 19:46:28.08 ID:R28Sl2m+
= new Air();
0051デフォルトの名無しさん2017/04/11(火) 21:28:46.27 ID:A5AwerKU
String a = new String("hello world") ;
String a = "hello world" ;
これは略し方の違いなだけで同じ意味なんでしょうか?
0052デフォルトの名無しさん2017/04/11(火) 21:37:35.09 ID:UT2aAcJz
うん。
手続き型言語では文字列を簡単に宣言できて、オブジェクト指向になったらいちいちnewするとか劣化のイメージだから、特別な記法としてC++とかからの伝統的な記法。
0053デフォルトの名無しさん2017/04/11(火) 22:44:52.71 ID:XRUbE8gX
別じゃね?
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になる
0054デフォルトの名無しさん2017/04/11(火) 23:36:39.85 ID:ZPaqNK/Y
String の場合は intern() が返す参照を使うと同じ文字列が既にあったら同じ参照になるけどな。
同じ内容の内容の文字列が何度も new される可能性がある場合は使うとメモリの節約になる。
0055デフォルトの名無しさん2017/04/12(水) 03:26:16.05 ID:b48e4NDE
>>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);
}
} 0056デフォルトの名無しさん2017/04/12(水) 23:55:55.72 ID:NTW6AtnI
>>55
Javaなら環境依存はないことになってるんだから実行結果も貼ってみなされ。 0057デフォルトの名無しさん2017/04/13(木) 00:01:26.42 ID:oGpC5FIZ
0058デフォルトの名無しさん2017/04/13(木) 01:22:32.11 ID:GDsbQNSJ
動かして理解しろってことでしょ……
0059デフォルトの名無しさん2017/04/14(金) 09:52:16.30 ID:umFkfZJf
FileReaderオブジェクト作ってread、readLineでファイル読み込んだあとにcloseメソッドで閉じることになっていますが、最後まで行ってない場合、closeしなくても良いのでしょうか
そしてそもそもcloseしないでプログラム終了するとどうなるのでしょうか
0060デフォルトの名無しさん2017/04/14(金) 12:10:52.91 ID:/1nusgkY
>>59
ファイルクローズは普通はそのファイルへの読み書きが不要になったらするものだ。どこまで読んだかなんてことは関係ない。 0061デフォルトの名無しさん2017/04/14(金) 12:23:50.00 ID:/1nusgkY
クローズしなかった場合はインスタンス消滅前にファイナライザでグロースされるだろうが、そんなもんあてにしてはいけない。
特別な事情がない限りプログラムは必ず自分でファイルクローズするように書くべき。
0062デフォルトの名無しさん2017/04/14(金) 12:27:55.91 ID:sfy7Edim
try-with-resource構文が便利すぎて気にしづらくなった感はある
0063デフォルトの名無しさん2017/04/14(金) 12:37:26.12 ID:/1nusgkY
>>62
一応それも自分でクローズするように書いてる事にはなる。何が起きるかわかって書いてるわけだし。 0064デフォルトの名無しさん2017/04/15(土) 07:07:28.68 ID:Q1oPXQ4H
エラーの原因の9割はメモリ問題っていうけど
これって解放すればいいだけじゃね?
つまり全ての作業の最後に解放するコードを常に入れてたら
エラーなんて出ようがないのでは?
0065デフォルトの名無しさん2017/04/15(土) 08:37:16.98 ID:mBBzgc7U
かってに削除しては、こまる。まだだれかが参照してるかとか…
0066デフォルトの名無しさん2017/04/15(土) 10:35:03.58 ID:IUu2MviJ
>>64
めんどくさいんだよ。
Cである程度の規模のアプリ作ってみろよ 0067デフォルトの名無しさん2017/04/15(土) 18:50:27.07 ID:ONyyaIO2
解放し過ぎて二重にfree()して落ちたりしてなw
0068デフォルトの名無しさん2017/04/15(土) 23:48:14.07 ID:+FDoqV6E
質問させてください。
今日パソコンにeqlipseを入れて文字の表示をしていたのですが
出先から帰って再度起動させてから他のクラスを作って実行しても
「現在、表示するコンソールがありません」というメッセージが出て反映させられません。
どちらも新規クラス作成でメソッド・スタブのmainメソッドにチェックを入れて作成しましたし、
コピペして中身が全く同じなのでどこに原因があるのかわからず困っています。
どなたかお知恵を貸していただきたいです!
0069デフォルトの名無しさん2017/04/16(日) 00:14:26.19 ID:m1EJuj8m
0070デフォルトの名無しさん2017/04/16(日) 00:35:15.16 ID:qsila/iw
>>69
package jp.winschool.java.chapter1;
public class Sample01_03 {
public static void main(String[] args) {
// Hello worldと表示する
System.out.println("Hello world");
}
}
ソースコードこちらです! 0071デフォルトの名無しさん2017/04/16(日) 07:35:13.11 ID:Ey1n1KGC
よくお互いをロックして制御不能みたいな実行時エラーって
あれどういう原理なんですか?
そういうプログラム逆に組んでみたいんですが…
0072デフォルトの名無しさん2017/04/16(日) 09:48:34.56 ID:0couv4LD
0073デフォルトの名無しさん2017/04/16(日) 19:57:09.57 ID:1+YnjkjO
>>71
いやほら A と B の二つロックする変数があって、それを2つのスレッドで、一方のスレッドは A, B の順でロックするようになっていて、もう一方は逆順に B, A の順でロック掛けるようになっているとタイミングによってデッドロックになる事がある。 0074デフォルトの名無しさん2017/04/16(日) 20:02:31.84 ID:jgmTryYz
0075デフォルトの名無しさん2017/04/16(日) 20:47:52.41 ID:rpbl7PtZ
それはnullっていう文字列だからnullではない
nullの入力で終わらせたいなら "null".equals(sc.next())とかにしないと
0076デフォルトの名無しさん2017/04/16(日) 21:14:34.70 ID:A/UzF3XD
>>74
入力が終わってるかどうかをhasNextLine()で調べてから読めばいいと思うが。
あとは>>76の言う通り。 0077デフォルトの名無しさん2017/04/16(日) 21:15:04.00 ID:A/UzF3XD
0078デフォルトの名無しさん2017/04/16(日) 23:39:22.02 ID:7oLLQxXY
0079デフォルトの名無しさん2017/04/17(月) 01:03:35.01 ID:70+t1EMT
Cをちょこちょこ勉強してたんですが並行でJavaの勉強も始めました
Cそっくりなのに無駄に文字数多くてめんどくせぇなとか思いながらテキスト眺めてたんですがこれメソッドってCで言うところの関数でいいんですか?
呼び方が違うだけ?
0080742017/04/17(月) 01:14:04.66 ID:WPG7SQ/C
0081742017/04/17(月) 02:05:39.73 ID:WPG7SQ/C
0082デフォルトの名無しさん2017/04/17(月) 03:13:19.95 ID:H+Zq8CGz
0083デフォルトの名無しさん2017/04/17(月) 06:19:26.55 ID:ReyyQyZQ
>>79
関数にはレシーバー(主体)が無いけど、メソッドにはある
インスタンス(レシーバー).メソッド名()
関数名()
スッキリわかる Java入門 第2版、2014
この本を3回読んで、みっちりとオブジェクト指向を学ぶのが、
プログラミングとすべての言語の基本 0084デフォルトの名無しさん2017/04/17(月) 08:52:54.56 ID:jxYq0SCN
>>79
ほぼ同じ いちいち使い分けるやつは見たことない
ただし C Java を混ぜこぜにやるのはNG
「見た目は似てるけど根本的に違う」という部分を見逃すとどっちも使い物にならんよ 0085デフォルトの名無しさん2017/04/17(月) 10:19:19.48 ID:0jhtVsWG
String型変数 の5〜6字目(半角の数字)を2桁のint 型変数として取得したいと思っています。
substring(5,7)で一回別のString型変数に入れてから、Integer.parseIntでint型に変換するんじゃなくて、
直接int型としてsubstring(5,7)で抜き出す書き方はあるでしょうか?
0086デフォルトの名無しさん2017/04/17(月) 10:31:11.72 ID:SOQF/fhS
>>85
そういうメソッド書けばええやん
1行節約するためにそんなことする意味があるのかわからんけどね 0087デフォルトの名無しさん2017/04/17(月) 11:52:34.85 ID:KDQg4XsN
>>85
int i = Integer.parseInt(s.substring(5,7));
これでええんとちゃうん? 0088デフォルトの名無しさん2017/04/17(月) 20:31:37.19 ID:oBr7cjxV
>>79
関数はクラスと無関係なのがメソッドと違うとこ 0089デフォルトの名無しさん2017/04/17(月) 21:09:17.98 ID:70+t1EMT
>>82-84 >>88
ご丁寧にありがとうございました。
あと>>84さんのアドバイスですが、類似するもの関連するものを2つ以上学ぶ際は同時並行の方が学習効率が高いという研究がありましてそれに従っております 0090デフォルトの名無しさん2017/04/18(火) 07:59:43.48 ID:6G1kXLTk
Cは、まだJavaが無かった頃の、手続き型言語の代表
Javaは、オブジェクト指向の代表で、
Java以後は、ほとんどすべての言語がオブジェクト指向になった
C・Javaは、考え方が大きく異なるので、一緒に勉強できない
スッキリわかる Java入門 第2版、2014
まずこの本を3回読んで、オブジェクト指向をみっちりと学ぶ
その後、この2冊をこの順に読む
たのしいRuby 第5版、2016
みんなのPython 第4版、2017
この2冊は表裏一体だから、たのしいで苦しむと、
みんなのはスラスラと読めるようになる
その後、Groovy, Kotlin を勉強すればいい
0091デフォルトの名無しさん2017/04/18(火) 09:26:09.77 ID:dYgbMCUy
Perlも仲間に入れてあげてください
0092デフォルトの名無しさん2017/04/18(火) 10:42:45.58 ID:O7sr+UR8
>>89
そうじゃねえ、関連度が低いから無茶だって言ってるんだよ
俺音楽やってんだよねーって弦楽とDTM同時並行とか無理だろ?
せめてバイオリンとビオラくらいに関連してないと厳しい 0093デフォルトの名無しさん2017/04/18(火) 22:47:06.26 ID:/+d1udbI
>>89
表面は似ているが根本的に違うから
学習効果はゼロだと言った 0094デフォルトの名無しさん2017/04/19(水) 01:07:23.00 ID:3iqNnA3g
>>85
String.getChars()もしくはcharAt()で取り出して自作でa2iすればいい 0095デフォルトの名無しさん2017/04/19(水) 10:26:46.95 ID:9vZd9y2Y
おすすめの参考書ってありますか?
0096デフォルトの名無しさん2017/04/19(水) 13:12:44.81 ID:bjTcFC7K
>>95
何に対する参考書なんだ?
入門なのか試験対策なのか何かしらの技術についてなのか設計技法なのかはっきりしやがれ 0097デフォルトの名無しさん2017/04/19(水) 14:01:34.36 ID:lhJ18puQ
0098デフォルトの名無しさん2017/04/19(水) 14:05:53.58 ID:OqLveeZp
ここは入門・初心者質問スレですよ
このスレで質問する人はどんな人なのかそしてどんな本を勧めればいいのか
ある程度予測できないようじゃ立派なプログラマーにはなれませんよ!
0099デフォルトの名無しさん2017/04/19(水) 15:00:06.31 ID:lhJ18puQ
>>98
すぐに読めとは言わないけど読んだほうがいいのは間違いないと思ってるよ
もちろん趣味プログラマじゃなく職業プログラマになるならの前提だけど 0100デフォルトの名無しさん2017/04/19(水) 19:14:26.52 ID:yJEVgkwQ
黒い表紙のjava SE8 Gold問題集買って完璧になればJava限定ならどこでもやっていける
0101デフォルトの名無しさん2017/04/19(水) 23:07:06.82 ID:CBlBPUu/
95氏は勉強と技術の習得が全く別物だという認識が無いんじゃないかな?
テストで良い点取りたいなら勉強するしか無いけども、
ソフトを作れるようになりたいなら、覚えるより先に何を作るか決めないとダメだよ。
中学校の英語の勉強と同じだね。仮に英語の単語と文法を全て覚えたとしても
テストで良い点数取れるだけで、英語の映画も英文の小説も楽しめないだろ?
プログラミングも同じ事で、勉強したって本に書いてある通りの事しか出来ないよ。
海外旅行する為に日常会話程度の英会話を覚えるって良くある話だけども、
そんな感じで作りたいソフトに必要な事だけを覚えていく感じでやるといい。
私はCADのプログラマなのでCADの事でないと上手く言えないんだけども、
CADなら画面が出て線が引けてマウスとキーボードとファイルの読み書き出来れば充分。
javaは初めて3ヵ月くらいで勉強と呼べるレベルの事はしていないが、
基本的な作業なら出来る程度のCADがもう出来ている。
未だjavaのシステムの構造を理解してない故の不具合は多いし、
クラスだの継承だのpublicとprivateの違いだの、余り深く理解してないけど、
売り物になる程度にまで完成させるのには大して時間はかからないと思う。
たぶんJavaの試験やったら落第レベルだけど商品レベルの物は作れるに?
0102デフォルトの名無しさん2017/04/19(水) 23:30:19.49 ID:hZKuXyWE
よく「何を作りたいかが大事」って言われるけどそうじゃないこともあるよね
俺なんか最初は「スーパーハカーかっけえ」くらいしか考えてなかったけどなぜかいまやWeb開発だ
みんながみんな最初から明確な目的持ってるわけじゃない
0103デフォルトの名無しさん2017/04/19(水) 23:46:23.05 ID:ekj+eUll
ExcelVBAで作ってるアプリケーションをウィンドウアプリケーションとして作りたくてあれこれ勉強してるけど、Java
のGUIがこれまた判らんというか^^;
目標はまだまだ遥か彼方ってな感じ
0104デフォルトの名無しさん2017/04/19(水) 23:50:56.30 ID:KzpInSVx
VBAだったらVBで作ればええやん。。。
C#でも良いけどさ。
0105デフォルトの名無しさん2017/04/20(木) 00:48:47.76 ID:l7lpSiQF
0106デフォルトの名無しさん2017/04/20(木) 01:07:36.44 ID:FIxvesm0
勉強するにしても何か作るにしても情報は漁るんだし
今は情報過多な時代だし、質の良い情報を得るのはそれなりのスキルがいる状況になってる
その時に一番簡単に信ぴょう性の高い情報を得られるのが公式ドキュメントとリファレンス実装
ただこの辺の情報は文章が硬い事が多いから原典を多く参照している二次情報を探せばいいんじゃないかな
01071012017/04/20(木) 05:46:25.48 ID:Lb1IHRyj
>>102
あぁ、ごめん。大きな目標を作れって話じゃない。
画面にボタンを配置する方法を学ぼうとするなら例えば電卓を作るとか、
ボタンを使ったソフトを何か考えろって事。覚えるだけじゃ何も作れるようにはならんのよ。
よく入門書とかで「ボタンを押すと表示が変わります」とかあるでしょ?
それを覚えたとして、それをどう使って何を作れる?
1つづつ順番に覚える学校の勉強みたいな事じゃ何も作れるようにはならんのよ。
君もそうだったはずだよ。上司から「コレ作れ」と言われて本読んだりしたろ?
その「コレ作れ」ってのが私の言う目的が先って事なのな。
何か無いかって聞いてる95氏は指導者が居ないか学生なんだろう。
何を覚えたらどんな事が出来るようになるのか、何から始めてどう進むべきか
そういう事が解らないはずだよ。指導者が居ないから自分で考える必要がある。
それに対して君は仕事の依頼という形で上司に上手く誘導してもらって
あんまり余計な事を覚えずともプログラミングが習得出来たんじゃないか? 0108デフォルトの名無しさん2017/04/20(木) 08:32:15.40 ID:ULVYgiZE
>>107
それこそ仕事で課題を振られた俺みたいに、>>95が何をしていいかわからないなら
適切な課題を振ってあげるのが指導者の努めだと思うけどね
(そもそも当時の上司の仕事の振り方は今考えても言語仕様も覚束ない初心者に
ノーヒントでやらせるものではなかったが…あのクソ野郎)
初心者に「自分で考えろ」はちと突き放しすきな気はするが、まぁここは初心者スレとはいえ所詮2ちゃんだからな
教師や上司レベルで親切にする必要もないか 0109デフォルトの名無しさん2017/04/20(木) 09:11:53.90 ID:5+bMAsvE
答えたい人が答えればいいだけだな
0110デフォルトの名無しさん2017/04/20(木) 19:35:53.47 ID:zzqpI3yw
わかりません教えてくださいじゃ仕事まわらないからな
独学する能力は必須と言ってもいい
最初から独学できないやつをスパッと切り捨てるのはありだよ
企業だってボランティアで素人を飼ってるわけじゃないんだからさ
0111デフォルトの名無しさん2017/04/20(木) 19:48:04.79 ID:14arbxYB
0112デフォルトの名無しさん2017/04/20(木) 21:09:01.70 ID:you9TgiF
ここは質問スレなのに脱線し過ぎ
ちゃんと仕事できる人はわきまえてるはずだよね
0113デフォルトの名無しさん2017/04/21(金) 00:27:15.95 ID:W9vJ1k1y
0114デフォルトの名無しさん2017/04/21(金) 12:31:39.63 ID:O9u1h7rs
目的を書く
0115デフォルトの名無しさん2017/04/22(土) 20:11:13.16 ID:OyJbeS9D
開いているページ内で一度実行してからでないとCtrl+F11で実行のショットカットがうまく動作しません。
ショットカットキーは何か設定する必要があるんですか?
0116デフォルトの名無しさん2017/04/23(日) 12:59:19.13 ID:8bLn4k+p
プログラミングの勉強初めて数日
何か簡単なツールとか作ってみたいけど
題材として良いものありますか?
0117デフォルトの名無しさん2017/04/23(日) 16:25:01.37 ID:q6MqXCrn
>>116
まず、GUIにするかCUIにするか?
CUIは普通は画面についてあまり考えなくても良いので楽だ。 0118デフォルトの名無しさん2017/04/23(日) 18:34:09.06 ID:qqjyZhzJ
>>116
テキストに行番号つけて表示するコマンド作る。
自分のコード表示させてはニヨニヨ出来るのでオススメ。 0119デフォルトの名無しさん2017/04/23(日) 18:36:38.57 ID:ncn10vA7
>>116
自分でこんなのがあったらいいなって小物を幾つも作ると取っ掛かりやすいよ 0120デフォルトの名無しさん2017/04/23(日) 20:36:09.42 ID:7bZTt8wr
自分の場合はwikipediaのアルゴリズムで素数判定や素因数分解とか作ったなあ
bashのfactorよりかなり早いから普段から使えるし
0121デフォルトの名無しさん2017/04/24(月) 21:38:18.35 ID:b7o+AYSX
オーバーロードのメソッドで
/** method1 */
public static String hoge(String str) {
hoge(str, "hage");
}
/** method2 */
public static String hoge(String str, String hige) {
return hige + str;
}
というようなメソッドがあったとして
mehod1はmethod2を呼び出しているわけだが
こういう関係を表現するような日本語ってなんかないのかな
親とか兄弟とかそういう
0122デフォルトの名無しさん2017/04/24(月) 21:56:16.91 ID:LwZqUTHo
部分適用
0123デフォルトの名無しさん2017/04/26(水) 01:00:33.67 ID:DJoflXur
Java初心者なのですが
オラクルのJavaシルバー?の資格取得を目指そうと思ったら、どのぐらい勉強したらいけるのでしょうか
プログラミングの経験はPHPとRubyを齧ったぐらいです
0124デフォルトの名無しさん2017/04/26(水) 05:11:15.63 ID:fNfh3ik4
>>0121 たぶん貴方には気に入らない解答だと思うけど、
そのメソッドをC言語の関数に書き変えるなら可変長引数の関数になるよね。
int printf(const char *format,,,); こんな感じの。
何の為に言葉を必要としてるのか解らないけども、
要はオーバーロードの仕組みの説明を省こうとしてるのでは?
C言語にはオーバーロードが無くてぇ…という具合に説明するとか、
なにしろ話を聞く方からしたら解り辛い話をしようとしていそう。
0125ich12017/04/26(水) 07:18:55.25 ID:KcpaNie5
0126デフォルトの名無しさん2017/04/26(水) 08:46:31.56 ID:vzc1hE4D
>>123
人によるとしか…
参考書や問題集が売られているので読んで自分で考えよう 0127デフォルトの名無しさん2017/04/26(水) 16:36:59.72 ID:vjkzFaZx
0128デフォルトの名無しさん2017/04/26(水) 16:51:30.93 ID:/ZfpN6QH
イデワンに複数のクラスを書くことは可能でしょうか?
publicを外すことによって。
0129デフォルトの名無しさん2017/04/26(水) 17:46:51.25 ID:HrCTO57d
>>128
知らねえ。
てか、やってみればいいじゃねえか。 0130デフォルトの名無しさん2017/04/26(水) 18:04:36.33 ID:C1JG3n6h
>>128
ID:/ZfpN6QHはム板/マ板に住み着いている荒らしなのでスルーで
自分で調べりゃいいことを他人に丸投げして調べさせる、悪意ある質問を繰り返しています 01311282017/04/26(水) 18:22:25.64 ID:/ZfpN6QH
>>130
荒らしではない。
悪意ある質問などしてない。 0132デフォルトの名無しさん2017/04/26(水) 19:08:26.13 ID:aOOyj4L0
>>131
まあとにかくやってみればわかるからやってみな。 0133デフォルトの名無しさん2017/04/26(水) 19:46:51.92 ID:VGUvgo7C
Ideoneの話だからここだとスレチじゃないかね
2chだと専門で扱ってる所無いかもしれんが、他で聞いた方が良いだろうな
01341282017/04/26(水) 19:54:48.55 ID:/ZfpN6QH
01351282017/04/26(水) 20:17:14.84 ID:/ZfpN6QH
0136デフォルトの名無しさん2017/04/26(水) 20:23:09.70 ID:C1JG3n6h
0137デフォルトの名無しさん2017/04/27(木) 12:34:34.72 ID:11f5ZnzK
テーブルでA1はHTML内で5に指定、A2に<input type ="number" value ="0">があって、A1セルとA2セルを足したい場合
rowsとcellsで指定するとA2がNaNになり結果が5NaNになるんですがどうしたらいいですか?
この場合inputの初期値0は効かないのでしょうか?A2をparseIntで囲ってもだめでした
0138デフォルトの名無しさん2017/04/27(木) 12:35:09.09 ID:11f5ZnzK
誤爆しましたすみません
0139デフォルトの名無しさん2017/04/27(木) 16:27:12.96 ID:KUrn7ZtR
Javaで、char型の変数に文字を(キーボードから)入力したいのですが、
Scannerクラスを使うとnextChar()が無いためうまくいきません。
next()やnextLine()だとコンパイルエラーになってしまいます。
どのようにすればよいでしょうか?
0140デフォルトの名無しさん2017/04/27(木) 17:06:15.78 ID:Zbny+f2I
>>139
今のJavaで積極的にcharを使う理由は全然ないんだけど、何か理由があるのかな
まあそれはともかくScannerから一度Stringで受けてからcharAt()すればいいんじゃね? 01411392017/04/27(木) 18:34:31.17 ID:KUrn7ZtR
0142デフォルトの名無しさん2017/04/28(金) 03:06:25.55 ID:v9V+NcAE
01431392017/04/28(金) 16:13:12.31 ID:OeyLlymU
>>142
ありがとうございます。
Scannerクラスより利用頻度は低くなると思いますが、
参考にしたいと思います。 0144デフォルトの名無しさん2017/04/28(金) 16:19:37.25 ID:pIHGdJ8Z
>>143
逆逆、Scannerの方が頻度低くなる 01451392017/04/28(金) 16:52:55.66 ID:OeyLlymU
>>144
まだ詳しく理解してないですが、
char型を使う場合に、という意味ですかね。
今はScannerしか使ったことないので…。 0146デフォルトの名無しさん2017/04/28(金) 17:26:10.18 ID:pIHGdJ8Z
>>145
汎用性の高さって意味
ScannerよりもIOStreamの方がやってる内容が低レベル(機械に近い)ので見る機会も使う機会も多いよ 01471392017/04/28(金) 17:53:15.48 ID:OeyLlymU
>>146
分かりました。覚えておきます。
ありがとうございます。 0148デフォルトの名無しさん2017/04/29(土) 15:38:04.47 ID:JW7PzOlh
cvsファイルで
1 田中 りんご
3 鈴木 みかん
6 齋藤 ヨーグルト
2 根元 パン
5 根岸 サラダ
4 佐藤 ご飯
こんな感じのやつをソートしたいです。
数字の列が 配列0
名前が 配列1
食べ物系が配列2に入ってます
cvsを読み込んで数字の列を新しい配列0〜5にいれてソートして表示するとこまではできたのですが
後ろの名前と食べ物が同時にソートされません。
やり方教えてください
0149デフォルトの名無しさん2017/04/29(土) 15:38:07.81 ID:hP9HIxoy
JavaFXでゲーム作りたいけど全然解説してる所ない…・・・
そんなに見放されてるもんなのか
0150デフォルトの名無しさん2017/04/29(土) 15:39:33.67 ID:JW7PzOlh
なんどもすみません
今は
1 田中 りんご
2 鈴木 みかん
3 齋藤 ヨーグルト
4 根元 パン
5 根岸 サラダ
6 佐藤 ご飯
みたいになってます。
0151デフォルトの名無しさん2017/04/29(土) 15:48:07.67 ID:nyANDfpK
別々の配列じゃ連動とか複雑過ぎ。
クラス作って、クラスの配列で読込やソートすれ。
0152デフォルトの名無しさん2017/04/29(土) 17:15:02.95 ID:HCCTcSxI
JavatrてCでいうとこの構造体って無いんすか?
0153デフォルトの名無しさん2017/04/29(土) 17:16:52.09 ID:6B/XobRt
0154デフォルトの名無しさん2017/04/29(土) 21:02:24.15 ID:y1rMzUYG
そもそも構造体を拡張したのがクラスじゃないの?
0155デフォルトの名無しさん2017/04/29(土) 23:13:29.81 ID:nyANDfpK
C#には構造体在るけど、Javaは無い。
メソッド無いクラス作れば、事実上の構造体。
0156デフォルトの名無しさん2017/04/30(日) 02:15:39.83 ID:Dc5Ny+RF
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}"); }
0157デフォルトの名無しさん2017/04/30(日) 03:12:27.12 ID:Pd/tmEqA
>>150
それぞれの列を別々の配列に詰めたら行ごとの関連付けが面倒くさいから行単位で関連付けてから配列に突っ込むイメージの方が楽
具体的にはもう出てるけど各行を表すEntityクラス作って各行のデータ突っ込んだインスタンスを配列化する 0158デフォルトの名無しさん2017/04/30(日) 05:33:25.51 ID:0NS9QiRt
一括りのデータを扱う時はレコードというもので扱うんだよ
レコードには固定長レコードと可変長レコードがある
固定長レコードは各フィールドの長さが決まってるからランダムアクセスすることができる
対して可変長レコードはシーケンシャルアクセスしかできないという欠点がある
0159デフォルトの名無しさん2017/04/30(日) 05:34:31.46 ID:/xQtxfzV
TreeMap 使えばいいのでは?
TreeMap<Integer, String[]> のインスタンスに put な。
0160デフォルトの名無しさん2017/04/30(日) 05:36:54.83 ID:/xQtxfzV
あ、行ごと扱うならキーだけIntegerにして値はそのまんまStringで入れといてもできるな。
0161デフォルトの名無しさん2017/04/30(日) 05:50:10.68 ID:/xQtxfzV
0162デフォルトの名無しさん2017/05/01(月) 14:58:41.66 ID:F35eYYLf
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なしでよく分からない所に返しているのに動いているのが分からず……
0163デフォルトの名無しさん2017/05/01(月) 15:07:15.65 ID:UF+7Ud8a
>>162
return x + y;はx + yの値をメソッドの呼び出し元に返してる
return ans;はansの値をメソッドの呼び出し元に返してる 0164デフォルトの名無しさん2017/05/01(月) 15:36:26.65 ID:F35eYYLf
>>163
あ、どっちもメソッドの呼び出し元に返してるんですね
根本的に認識を間違えてたみたいです、ありがとうございます