Java入門・初心者質問スレ Part.4 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
>>88
ありがとうございます、解決しました!
他の方もありがとうございました! >>90
ありがとうございます
ちなみにエラー番号からエラー内容を調べる事は出来るのでしょうか? エラーの内容がそのまま書いてあるだけだよ、慣れればすぐに読めるようになる 入門書を一通りやり終えた後の次はどんなことに手を出せばいいのかわからない
今はとりあえずAPI仕様を読んだりオブジェクト指向関連の書籍でお茶を濁している最中
ステップアップのフローチャートが頭に浮かばない
デザインパターンやフレームワークもやりたいけど、多分今の実力じゃ手に余るし >>95
何か作りたいもんがあるからJavaやってんじゃないのか。
作ってるうちに足りないもんが見えてくるから
それをやればいい。 まぁみんながみんな作りたいものがあるわけでもないよね
特に初心者なんて何が出来るかもよくわからんわけだし 何かが作りたくて始めたわけじゃないのか…
俺は最初から作りたいものありきだったからよくわからん >>96
当初はAndroidアプリで音楽プレーヤーを製作したかった
でもアプリ開発入門書を読んでもコードを叩いてもちんぷんかんぷんだったからjava自体を学習し始めた
現状、デスクトップアプリとして着手しようと目標変更
そこでオブジェクト指向の理解深化やjavafxに触れたり、
OSSのソースコードを見てみたりするも絶賛五里霧中で
プログラミングに体系化された学習方法や方針があると思い込んでいる節が頭の中にあった
それがそもそもの間違いなのか 何作ったらいいかわからない?
それでは俺のためにエロゲでも作ってくれたまえ。 >>99
体系化されたものなんてほとんどないけどアルゴリズムの知識やらプログラムの組み立て方はどこに行っても役に立つから学んでおくといいかな
Aizu Online Judgeの簡単な問題でも解いてみたらどうだろう、人のコード見れるから参考にもなるし >>101
OnlineJudge初めて知った、やってみる
更なる問題としては頭の中にべき論が多数生まれたこと
java8だから新しく導入されたラムダ式で書くべき、デザインパターンに則るべきとか
他には、まずコンソールアプリをそれなりに作れるようになるべき等…
入門書に出てきた単語や技術・テクニックを習得しないと、
まともにプログラミングできない強迫観念にも似た考えを抱いた
だから作ることより知ることの方に比重が置かれて自己目的化しつつある本末転倒状態 知ることはもちろんいいことだが今は考えてる暇があったら手を動かせ
クソコードを量産して初めてわかる新機能のありがたみというのもある >>102
>java8だから新しく導入されたラムダ式で書くべき
Kotlin
javaとpythonってどっちが初学に向いてる?
https://mevius.2ch.net/test/read.cgi/tech/1496856778/41-42
ここに、読むべき本が書いてある >>102
書くのと知るの、どっちが欠けても良いプログラマーにはなれんよ
それにやってみればわかるがJavaの関数型インターフェースやストリームは既存の有名なデザパタと競合したりしない >>102
知識不足ばかりが気になるなら知識の補充だけやってればいいと思う
結局さ、なにかを作りたい人は作りたいモチベを抑えられない人なんだよ
そうじゃない人がそうなろうとしても、人種が違うんだからうまくいかないよ 質問なのですが4GBのメモリのノートPCだと本当にAndroidシミュレータ動かないのでしょうか?
もしそうだとしたら悲しい気持ちに打ちひしがれそうなのですが >>110
やってみてから言えよ
環境わかんないけどうちではメモリ4Gでも動いた
つーかJavaの質問じゃなくね? (´・ω・`)クラス.メソッド().メソッド()
この書き方わからなかったの
最初のメソッドでクラスが返ってきて、そのクラスのメソッドをつかうときにこういう書き方するんだって
しらんかったー
ようやく読み終えたスッキリわかるJava入門には説明してなかったの
こういうメソッドふたつが並んでる書き方とかみんなは特別な説明なくても見ただけでわかるの?
この辺でプログラミングの適正とかでてくるんやろか?
それで調べてたら
クラス.メソッド().メソッド().メソッド().メソッド()
とか書くメソッドチェーンっていうのもあるらしい
これってリターンで他のクラス呼び出したらどんなものでもメソッドチェーンで書けるの? >>111
う、う〜...
>>112
4GBでも動いたんですねっ!希望が持てます
自分でもやってみたのですがNexusでメモリー不足ですって出たもので
というかスレチですね
失礼しました 返り値のあるメソッドを書く時、
左側に変数を用意して代入するものだと思っていましたが、
メソッドのみで書いてもエラーにならないのですね。
この場合、返り値はどこに行くのでしょうか。
無かった事にされるのでしょうか。 メソッドチェーンは、JavaScript でよくやっている。
jQuery, Underscore とか
戻り値で、this を返すように作る。
そうすれば、同じインスタンスのメソッドを、連続して呼べる
obj = obj.a();
obj = obj.b();
obj = obj.c();
obj.a().b().c(); >>113
(クラス.メソッド()) をAと考えて
A.メソッド()って考えるといい てか、streamはメソッド数珠繋ぎが当たり前だな。それできないと不便だし。 >クラス.メソッド()
厳密に言うと、メソッドチェーンは、クラスではなく、インスタンスメソッド
そのインスタンス(this)を返すから。
bind で、そのインスタンスを束縛しているのと同じ Javascript、ネットワークセキュリティ等の知識がある人。一緒に仕事しませんか?
月50万〜 >>124
太さの違いはなんだ?横軸が時間で右が現在? 縦が人気で横が時間って書いてあるやん
>>124にはみんな大好きLISPがないので間違い >>126
書いてある?あ、透明部分に黒で書いてあるの?スマホで見てて背景黒になって表示されてわからなかった。 ググったら少しはまともなのあるやん
ttps://furien.jp/columns/197/ こんにちは
EclipseでMac用のプログラムを改造途中です
ttps://code.google.com/archive/p/tokyo-jogging/
WIDCOMM6.5.1.4800をインストールしたのですが、デバッグウィンドウによるとwinsockで接続しようとしているようです。
ログ中に BlueCove version 2.1.1-SNAPSHOT on winsock と表示される
wiiremoteJ.jar(ver1.6b)
bluecove2.1.1-snaposhot.jar
Win764bitでバランスWiiボードを接続
USBドングル(BroardcomBCM20702)を使用
Q1..ハードウェアドライバはこれで正しいでしょうか?
インテルUSB3.0ルートハブ
+Broadcom BCM20702 Bluetooth4.0
+Microsoft Bluetooth Enumerator ←これがブロードコムにならない
+BluetoothHIDデバイス ←これもMSのドライバ
+HID準拠ゲームデバイス(WiiMote)
+BluetoothHIDデバイス
+HID準拠ゲームデバイス(バランスWiiボード)
+Bluetooth Remote Control
+Bluetoothオーディオ
MS StackがwiiremoteJで必要なL2CAPプロトコルをサポートしていないので、HIDまで行けない気がします
Q2.BluecoveでWIDCOMMを使用するためには
import com.intel.bluetooth.BlueCoveImpl;
System.setProperty("bluecove.jsr82.psm_minimum_off", "true");
BlueCoveImpl.setConfigProperty("bluecove.stack", "widcomm");
でよろしいでしょうか? ここはJava”言語”しか知らない馬鹿しかいないからそんなこと聞いても無駄 スレチですよねー
でもBTスレはハード板でもオーオタですし、他には
Java質問スレ
ttp://mevius.2ch.net/test/read.cgi/tech/1492780397/
ですかねー
Jettyも聞きたいことがあるんですが・・・ マジレスすると2chじゃ突っ込んだ内容の質問にはまず回答なんかつかない
teratailとかで質問したほうが100倍マシ 知恵袋に全く同じことで困ってる人がいたんですが、
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q12148864962
java3Dライブラリを使ってコンパイルして出力したjarファイルが開けない
→環境変数の設定が〜
みたいな回答で、たしかに書いてあるとおりにしたら開けたんですが、
これって誰かに渡すときにはその人にもjava3Dをインストールしてもらわないといけないってことですよね?
jarに含めたりとかってできないんですか? >>137
jarにjarを含めるにはクラスローダを実装する必要があるみたい
そこでEclipseですよ
Eclipseならマウスかちかちでjarを含んだjarをエクスポートできる
Eclipse製のクラスローダが用意されてる あれ?でもJava3Dってネイティブ含んでなかったっけ? javaを触れ始めて3年位ですが簡単な事すら理解できてないへっぽこが失礼します。
とある人間が作ったA.jarの中に約40ほどファイルがあります。
そこにバグがあるのですが、jarを作った人間が多忙の為 私がそのファイルの中の調査をすることになりました。
(修正した箇所がわかりやすいよう、本来の使い方とは異なりますが継承+オーバーライドを使用し修正しています。)
メイン:main newでclassA(stringA,stringB)を呼び出し
hoge_project.dir1.classA newでclassBを呼び出し
hoge_project.dir2.classB newでclassCを呼び出し
hoge_project.dir3.classC extends でclassDを継承
hoge_project.dir3.classD こいつにエラーがありそう
エラーがありそうなメソッドを保有しているクラス"classD"を継承したクラスclassD_fixをhoge_project.dir3 に作成し、そのメソッドをオーバーライドしたクラスを入れ込んだjarファイルを作成することに成功(jar tfで確認)しました。
ですが、肝心のクラスAの継承に失敗していて 呼び出し元のメソッドが修正できず困っています。
エラーの内容はこんな感じでした。
classA_fix.java:7: エラー: クラス classAのコンストラクタ classAは指定された型に適用できません。
classA_fix.javaのソース
import hoge_project.dir1.classA;
public class classA_fix extends classA{//中身なし}
期待値:String,String
検出値:引数がありません。
理由:実引数リストと仮引数リストの長さが異なります。
ググって見たところ、メソッド自体が存在しない、もしくは引数が合わない等メソッドによる不具合が原因だと書かれていたので
念の為class classA_fixにコンストラクタっぽい感じでpublic void classA_fix(String stringA, String stringB){super(stringA,stringB)}等自分なりに色々やってみましたがうまくいかず・・・
クラスclassA_fixはクラスclassAを継承しただけで特にメソッドの上書きも行っていない何もない状態なのにこのようなエラーが出ていたため、わけが分からず困っています。
abstractは使用していません。
作成者とは連絡が取れない状況で、完成予定日もあるのでこちらで出来る限りの理由を探りたいのですが、何か良い方法はないでしょうか。 >>140 の名前は140です
書き込んでる間にレス番がかわってましたOTL すみません >>140
classA_fixなの?classD_fixなの? >>140
スーパークラスのコンストラクタの呼び出しに失敗してるわけっしょ
> public void classA_fix(String stringA, String stringB)
これはコンストラクタじゃなくてメソッドっすよね
コンストラクタをきちんと定義すればいけるんじゃないかな >>142
説明ベタですみません。
現在エラーがでているのはclassA_fixです。
classDにバグがあるのは間違いないのですが、classDを直接書き換えるのが怖いのと、
報告しなくては行けないので、修正した箇所がわかりやすいように classD_fix.classを作成し、修正しようとしています。
classD_fixのjavacには成功(動作は不明)、classD_fix.classの生成に成功しました。
今現在そのclassD_fixを使用して動かせるように各クラスファイルを修正しようとしています。
超へぽっこで デバッグをやるのはこれが初めてでどういった方法でやるべきなのかもわからず、
メモ帳とコマンドプロンプトでやってます・・・OTL >>143 こんな感じで書いたんですが駄目でした。 私もしかして コンストラクタの書き方間違えて・・・る?OTL
package hoge_project.dir1;
import hoge_project.dir1.classA;
public class classA_fix extends classA {
public classA_fix( String string_a,String string_b){
}
} >>145
スーパーのコンストラクターが呼ばれてないーので
super(string_a, string_b);
これを追加すればいけるんじゃないかな >>146 その通りにやったらjavac通りました!ありがとうございます!
superせず終わらせるとそこで処理が終わるだけでエラーにはならないのかななんて思ってましたがそんなことないんですね・・・
そして何故かmainスレッドにて java.lang.NoClassDefFoundError・・・OTL寝れなさそうだ うげあー
私は本物の素人ですが、現場の世界は色々と恐ろしいのですね…
参考書を読んで頑張ります superコンストラクターを呼ばないといけないわけではないので、原因はもう少し間接的なものだろう
フルコードがないと理由は不明 おそらく引数なしのコンストラクタだとちゃんと動かないスーパークラスなんだろう 3年もやってて継承元の引数ありコンストラクタがサブクラスに引き継がれないことも知らんとか
当然スパクラスに引数ありコンストラクタがあればサブクラスでそのコンストラクタを定義しなくちゃならない
ほんと相変わらずびっくりするぐらいレベル低いなここ 入門・初心者スレでレベルどうのこうのと言われましても…
あ、自分自身も含めてレベル低いって自虐ネタでしたか 回答つけてる奴等もどうしようもなくレベル低い馬鹿しかいないってことだよ阿呆
お前等全員1円で投げ売りされてる入門書100億回読んでからレスつけろよ阿呆 つまり変なのに絡まれないようにプログラミング歴は隠しとけってことだ
スレ民との約束だぞ >>154
もっと簡単にこのスレのレベルを上げる方法がある。物凄く簡単なことだ。
それは君が回答を書くことだよ。 >>156
文句しか言わないやつって何なんだろうね >>154
俺も、趣味でjavaを独学してる身だから、偉そうなこと言えないけど
1円で投げ売り
とか
100億回
とか
読み返して、恥ずかしくない? >>159
いらない。 そんなことより、webアプリやらandroidアプリでも作ってた方が有意義。
フレームワークで設計に触れられるし。 そしてうまい作り方を発見したと喜び勇んでブログで発表するとそんなもん何十年も前に本にまとめられて世界中の言語に翻訳されて売られまくった枯れ枯れの干からびたやり方だとコメントされまくる。 >>152
継承しなくちゃいけないわけでもないからな。 スッキリわかるJavaを利用してますが
dokojavaってなんとなく動作が
不安定な気がするのですが気のせいでしょうか。
同じプログラムでもエラーが出たり出なかったりします そもそもdokojavaを使う必要がない
手軽なオンライン環境ならideoneもpaiza.ioもある アンドロイドアプリを作りたいです。
どうやらjavaを知ることが第一歩のようですが、javaをマスターできれば
アンドロイドアプリ作れるようになれますか? いいえ
料理をする時に調理器具を使えるようになるだけではダメなのと同じで
料理毎に食材や調味料の組み合わせ方法や量も学ぶ必要があります
AndroidにはAndroid用のセオリーがあります >>169
では、いきなりアンドロイド用に
学習をしてもいいということでしょうか >>170
えっとね
お前みたいな論理性の欠如した馬鹿には一生無理だよ 性格悪いな
私生活上手く行ってないんだな
可哀想に すごーい!
テンプレみたいな返しをする
馬鹿なフレンズなんだね! >>170
ていうか、Javaどの程度わかってるかにもよる。言語の基礎部分知らなければ作るに作れないだろうし
それ以前に入門書のサンプルプログラムも何やってるのかソース見てもわからんだろう。 あと、どの程度のアプリを作りたいかにもよるな
ハローワールドを表示するだけなら、
初心者向けの本の書いてある通りにASをインストールしてボタンを押していけば、
一行もコードを書かずにアプリが出来上がるから、
javaどころか、どの言語も知らなくても問題ないしね コンストラクタの宣言にはstaticキーワードを付けないのに、
コンストラクタはなぜstaticなメソッドから呼び出せるの?? >>178
コンストラクタだけ特別扱いしているから。 >>178
「コンストラクタ」がメソッドから呼び出される?
コンストラクタはそもそもメソッドじゃないよ
メソッドじゃないものに、メソッドのルールを考えても意味ないんじゃね? >>181
そういう作りの言語だからとしか言えない。
なんだったらスッキリする言語を自分で作りなさい。
まあ確かにコンストラクタはいきなり呼べるので違和感あるかも知れないが、 new した時にメモリ確保されて
インスタンスが出来て、それからその中のコンストラクタが呼ばれると考えればいい。実際その通りだし。
C言語で実現するとしたら構造体のメモリを確保した直後にそのポインタを受け取って構造体の中身の初期化を
するようなのがコンストラクタね。 >>183
ちょっとわかった。
new演算子で動的にメモリを確保してその中身を初期化するのがコンストラクタの役割だから、
コンストラクタは動的な文脈で呼び出されるのか。 stream apiを使って
[1,1,2,2,3,3,3,1]
みたいなリストを
[1,2,3,1]
みたいに連続した同じ要素をまとめるコードはどう書けばいい? >>185
distinct()を流れのどこかに挟む ■ このスレッドは過去ログ倉庫に格納されています