Java初心者のためのスレッドです。
※前スレ
Java入門・初心者質問スレ Part.2
http://echo.2ch.net/test/read.cgi/tech/1478863511/
探検
Java入門・初心者質問スレ Part.3 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
2017/04/04(火) 20:41:11.59ID:y0EcmGB0
2017/04/05(水) 09:51:39.56ID:nC3E9c0D
前スレ >>997
onCreateってのはAndroidでそのActivityが作られたときに走る処理だからそこでgetTextしてもEditTextの中が空だから怒られてる。
確定ボタンをButtonで作ったりキーイベントReturnを捉えるイベントリスナーの中でやるべき。
onCreateってのはAndroidでそのActivityが作られたときに走る処理だからそこでgetTextしてもEditTextの中が空だから怒られてる。
確定ボタンをButtonで作ったりキーイベントReturnを捉えるイベントリスナーの中でやるべき。
3デフォルトの名無しさん
2017/04/05(水) 18:26:37.85ID:XSIU9b3V JHoshu
4デフォルトの名無しさん
2017/04/05(水) 19:49:27.33ID:xPaGCN9C >>1
乙
乙
2017/04/05(水) 20:16:36.85ID:p+fIavz2
6デフォルトの名無しさん
2017/04/05(水) 23:22:35.35ID:Ansd+i4M2017/04/06(木) 00:09:53.06ID:b0BXYKSq
あるクラス内の2つのメソッドの中身を途中で何度も書き換えたいんだけどどう実装したらいい?
関数ポインタを扱うのように、途中で関数を書き換えたい。
抽象クラスを継承することで、メソッドの書き換えは出来るものの、継承したクラスの宣言時の一度しか
メソッドを書き換えられないと思うんだけど、他に方法はある?
関数ポインタを扱うのように、途中で関数を書き換えたい。
抽象クラスを継承することで、メソッドの書き換えは出来るものの、継承したクラスの宣言時の一度しか
メソッドを書き換えられないと思うんだけど、他に方法はある?
8デフォルトの名無しさん
2017/04/06(木) 01:36:02.66ID: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 を通して使う。
インスタンス入れ替えるだけじゃだめなのか?
例えばこんな風にして同一のインターフェースを実装した 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 を通して使う。
2017/04/06(木) 02:01:39.25ID:FGV9lFi+
2017/04/06(木) 10:42:30.59ID: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));
これでどうだ
使えるかどうかは知らん
スマホからだから適当だけど
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));
これでどうだ
使えるかどうかは知らん
2017/04/06(木) 16:06:42.01ID:8OEcGMYc
2017/04/06(木) 20:32:34.33ID:vtBceFIS
2017/04/06(木) 21:14:24.31ID:O3QBzUs3
じゃあFunctional Interfaceで
http://ideone.com/AghCys
http://ideone.com/AghCys
2017/04/06(木) 21:39:53.20ID:vtBceFIS
結局波平か
15デフォルトの名無しさん
2017/04/06(木) 23:04:04.80ID: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に合った構造がある。
短いサンプル書いて意見を聞いた方が良いと思うな。
君の言う「宣言」ってのは「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に合った構造がある。
短いサンプル書いて意見を聞いた方が良いと思うな。
2017/04/07(金) 00:39:47.52ID:g05Ok9Aj
2017/04/07(金) 01:02:07.87ID:E+iT9RU9
2017/04/07(金) 01:02:48.90ID:KCHCaqUQ
1916
2017/04/07(金) 03:02:40.52ID:g05Ok9Aj2017/04/07(金) 04:15:47.44ID:E9+XPTIr
アイディーイーワン
1つのストリームに対して2つのScannerを使ってるのがいけない
俺の環境(1.8系)だとエラーになるよ
1つのストリームに対して2つのScannerを使ってるのがいけない
俺の環境(1.8系)だとエラーになるよ
2017/04/07(金) 04:20:28.04ID:E9+XPTIr
22デフォルトの名無しさん
2017/04/07(金) 13:21:40.10ID:Q8YZksVL >>16
表記法の問題じゃないよ。根本的な事が解ってない。
C言語で言う所のgets()と勘違いしているでしょ。
name1に入力してエンター押したら次にname2の入力待ちになると思ってない?
20氏が書いてる事の意味わかる?それだとname1とneme2が同時に開く。
間に「入力待ち」を入れないといけない。
ttp://tkykhk.hatenablog.com/entry/2013/08/15/172825
これで言うとhasNextInt()の事ね。
表記法の問題じゃないよ。根本的な事が解ってない。
C言語で言う所のgets()と勘違いしているでしょ。
name1に入力してエンター押したら次にname2の入力待ちになると思ってない?
20氏が書いてる事の意味わかる?それだとname1とneme2が同時に開く。
間に「入力待ち」を入れないといけない。
ttp://tkykhk.hatenablog.com/entry/2013/08/15/172825
これで言うとhasNextInt()の事ね。
23デフォルトの名無しさん
2017/04/07(金) 15:10:53.06ID: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の”検知”段階で入手する手段を教えて頂きたいです。
ご助言宜しくお願いします。
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.04ID:10W/Ra3M もうイデオンでいいわw
2017/04/07(金) 17:25:04.53ID:am4C8gz9
>>23
ここはJavaスレなんで泥特有の質問は泥スレにどうぞ
Androidプログラミング質問スレ revision53
ttp://echo.2ch.net/test/read.cgi/tech/1488052551/
ここはJavaスレなんで泥特有の質問は泥スレにどうぞ
Androidプログラミング質問スレ revision53
ttp://echo.2ch.net/test/read.cgi/tech/1488052551/
2616
2017/04/07(金) 20:57:30.40ID:g05Ok9Aj27デフォルトの名無しさん
2017/04/07(金) 21:24:00.28ID:a6ogP8yx 井出椀
2822
2017/04/08(土) 12:16:45.55ID:OP2gpsJ+ 16氏のレスは何か学生が先生に質問してるような雰囲気で若さを感じるんだが、
残念な事にIDEをイデオンと読むもんだから40歳以上とバレてしまっている。
残念な事にIDEをイデオンと読むもんだから40歳以上とバレてしまっている。
2017/04/08(土) 12:25:43.95ID:TxXYCj/0
(20代だけどずっとイデオンって読んでた……)
30デフォルトの名無しさん
2017/04/08(土) 12:35:44.62ID:4NiiBXjv 意外と有名
またはアニヲタ
またはアニヲタ
2017/04/08(土) 12:35:48.36ID:CqR65F9s
>>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/
>>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/
2017/04/08(土) 12:44:33.10ID:ryFntO7G
一行辺りは半角26文字で600万行あるテキストファイルの中身を
要素の数600万として一行づつ配列にいれていこうと思うのですが大丈夫でしょうか?
要素の数600万として一行づつ配列にいれていこうと思うのですが大丈夫でしょうか?
33デフォルトの名無しさん
2017/04/08(土) 12:45:57.94ID:DTMJtpt4 >>32
余裕です
余裕です
34デフォルトの名無しさん
2017/04/08(土) 12:46:36.51ID:DTMJtpt4 312MB、余裕です
2017/04/08(土) 12:52:36.33ID:ryFntO7G
このテキストファイルもjavaで入力しましたが、全部書き込み終わるのに8時間から半日くらいかかってたと思います。
2017/04/08(土) 12:55:54.81ID:ryFntO7G
37デフォルトの名無しさん
2017/04/08(土) 12:57:12.51ID:DTMJtpt4 >>35
ソースコード見せて
ソースコード見せて
38デフォルトの名無しさん
2017/04/08(土) 13:00:01.26ID:DTMJtpt439デフォルトの名無しさん
2017/04/08(土) 14:24:59.52ID:QfXapNKS 余裕かどうかは動かすマシンによるのでは?
40デフォルトの名無しさん
2017/04/08(土) 14:33:44.07ID:DTMJtpt4 その発想はなかったわ
2017/04/08(土) 14:38:51.91ID:YTkzg0Hn
ランダムな26文字の文字列600万行のファイルを作ってみたが3秒くらいだった
8時間〜半日かけてどういうデータを作ったのかが気になる
8時間〜半日かけてどういうデータを作ったのかが気になる
2017/04/08(土) 14:39:55.19ID:TxXYCj/0
その内一般家庭のPCスペックが「京」並になる時代がくるからへーきへーき
43デフォルトの名無しさん
2017/04/08(土) 17:01:59.34ID:MZUufgxp そういやJavaVMが使うメモリのデフォルトって今は多くなってんのかな?
これが小さい場合は自分で大きくなるようにオプション付けてVM動かさないとメモリオーバーフローになるよな。
これが小さい場合は自分で大きくなるようにオプション付けてVM動かさないとメモリオーバーフローになるよな。
2017/04/08(土) 19:29:50.65ID:FurKv1hb
vmが入ってる電子計算機でしか動かないjavaに深入りする価値あるんですか。
45デフォルトの名無しさん
2017/04/08(土) 20:17:39.84ID:MZUufgxp >>44
価値か。価値ねえ。それはあなたが何を求めているかで変わるんじゃないかな。
例えばAndroid用アプリを作って売るとか、無料ゲーム作ってサイト内課金で稼ぐとか、そういう商売してるなら少し遠回しではあるけどJavaに価値があるということになると思う。
実際に金稼げるわけだしね。Androidの端末は沢山出回っててユーザも多い。
価値か。価値ねえ。それはあなたが何を求めているかで変わるんじゃないかな。
例えばAndroid用アプリを作って売るとか、無料ゲーム作ってサイト内課金で稼ぐとか、そういう商売してるなら少し遠回しではあるけどJavaに価値があるということになると思う。
実際に金稼げるわけだしね。Androidの端末は沢山出回っててユーザも多い。
4622
2017/04/09(日) 04:05:43.60ID:o//fitNy >>44
私もつい最近まで貴方と同じ考えで、javaを使い始めたのは今年からです。
ホームページでの説明にApplet版CADを使い、商品はC言語みたいな事をするつもりで
まずオールJavaでAppletのCADを作ってみたんですが、想像以上に動作が軽かったです。
巨大なデータを扱うつもりで無ければAppletで充分だと思いました。
それより何より、Javaはプログラミングが物凄く楽です。
C言語ですとイベントの順序とか挙動で思い通り行かずグチャグチャになりますけど、
javaだと問題そのものが存在しないというか対策済みという感じですね。
それと、私は未だ弄ってないですが、データベースを触るのが簡単そうです。
あと、Windowsで例えば動画再生なんかはCOMコンポーネントだのDirectShowだの
数々の山を乗り越える必要が出てくる事が非常に多いのですが、
Javaだと専用ライブラリを使ってチョチョイのチョイで済む事が多いようです。
そんな感じで、私はなるべくjavaでやりたいと思うようになりましたよ。
私もつい最近まで貴方と同じ考えで、javaを使い始めたのは今年からです。
ホームページでの説明にApplet版CADを使い、商品はC言語みたいな事をするつもりで
まずオールJavaでAppletのCADを作ってみたんですが、想像以上に動作が軽かったです。
巨大なデータを扱うつもりで無ければAppletで充分だと思いました。
それより何より、Javaはプログラミングが物凄く楽です。
C言語ですとイベントの順序とか挙動で思い通り行かずグチャグチャになりますけど、
javaだと問題そのものが存在しないというか対策済みという感じですね。
それと、私は未だ弄ってないですが、データベースを触るのが簡単そうです。
あと、Windowsで例えば動画再生なんかはCOMコンポーネントだのDirectShowだの
数々の山を乗り越える必要が出てくる事が非常に多いのですが、
Javaだと専用ライブラリを使ってチョチョイのチョイで済む事が多いようです。
そんな感じで、私はなるべくjavaでやりたいと思うようになりましたよ。
4716
2017/04/09(日) 23:24:51.53ID:ySXi9r1b >>28
若くはないですが、40まではいってませんよ。
あれは最初イデワンって読むと思ってましたが、Google検索の予測変換でイデオンってのが多かったから、ついそう読むのかなって勘違いしてしまったんです。
若くはないですが、40まではいってませんよ。
あれは最初イデワンって読むと思ってましたが、Google検索の予測変換でイデオンってのが多かったから、ついそう読むのかなって勘違いしてしまったんです。
2017/04/10(月) 03:52:41.97ID:NTVTXuq3
>>47
その話はもう終わってる空気読め
その話はもう終わってる空気読め
49デフォルトの名無しさん
2017/04/10(月) 20:57:16.98ID:AyjhZMz0 Air wife
2017/04/11(火) 19:46:28.08ID:R28Sl2m+
= new Air();
2017/04/11(火) 21:28:46.27ID:A5AwerKU
String a = new String("hello world") ;
String a = "hello world" ;
これは略し方の違いなだけで同じ意味なんでしょうか?
String a = "hello world" ;
これは略し方の違いなだけで同じ意味なんでしょうか?
2017/04/11(火) 21:37:35.09ID:UT2aAcJz
うん。
手続き型言語では文字列を簡単に宣言できて、オブジェクト指向になったらいちいちnewするとか劣化のイメージだから、特別な記法としてC++とかからの伝統的な記法。
手続き型言語では文字列を簡単に宣言できて、オブジェクト指向になったらいちいちnewするとか劣化のイメージだから、特別な記法としてC++とかからの伝統的な記法。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- おでんで飯が食えるか!おかずか否か…熱い「おでん論争」煮詰まるか? [蚤の市★]
- タワマンに戻りたい…子どものため郊外の庭付き一軒家に引っ越した世帯年収1,600万円の40代パワーカップル「心底後悔しています」 ★5 [樽悶★]
- 石破前首相「日本に決してプラスにならない」 官邸関係者の“核保有”発言めぐり見解「原子力政策成り立たなくなる」 生放送で指摘 [少考さん★]
- コストコ商品を転売する店が続々 大量の品を小分けで買えるのが人気、相次ぐ参入で競争が激化 [煮卵★]
- 【野球】村上宗隆のメジャー移籍の交渉期限が残り48時間に… いまだ合意発表なく駆け込み契約なるか [冬月記者★]
- 「おかずは5品から3品、2品に」家計簿から見える物価高騰 8.9兆円の対策に専門家が警告「100%違う」 [ぐれ★]
- 【悲報】ネトウヨの移民問題動画またも捏造されていた!ネトウヨに騙されてパキスタン人に危害を加える若者たちがニュースになってしまう [383063292]
- 【画像】中国を初めて統一した嬴政が“始皇帝”を名乗ってるけど天皇は起源前660年からいるのだから始まりの皇帝じゃなくね [974680522]
- 精神障害者の障害年金 ⇐これ、マジで止めた方がいいよな?大半の奴が、この金で遊びに行ったりしてて、全然病気ではないだろ? [201193242]
- うんこぶりぶりブリザード🥶💩🧊🏡
- 安倍晋三がえっちのときに言いそうなこと [974680522]
- パンダ、日本全頭撤去。高市を始めとする右翼勢力の責任と中国が明言wwwwwwwwwwww [271912485]
