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

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

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

1 :デフォルトの名無しさん:2016/11/11(金) 20:25:11.04 ID:zFksT2Ki.net
Java初心者のためのスレッドです。

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

2 :デフォルトの名無しさん:2016/11/12(土) 20:32:27.64 ID:IJ02oirI.net
オブジェクト思考の制作課題が出て躓いてから急速にモチベ失った。

なんかいい問題集とかないかなぁ。

3 :デフォルトの名無しさん:2016/11/13(日) 02:41:12.34 ID:VRYY5LKg.net
このスレ見てれば初心者がどんどん問題書いてくれるよw

4 :デフォルトの名無しさん:2016/11/13(日) 18:18:29.05 ID:pyB0h3Wo.net
>>2
「すっきりわかるJava」って本は読みましたか?

5 :デフォルトの名無しさん:2016/11/13(日) 18:58:35.51 ID:Ju5lzgBU.net
>>4

はいー。入門編だけですが読みました。

あーでもまだ再読してないや。
読み直してみるか( _´ω`)_

6 :デフォルトの名無しさん:2016/11/13(日) 22:51:43.58 ID:nt2c7s4y.net
本だと井上信幸のJavaシリーズが割と好きです

7 :デフォルトの名無しさん:2016/11/14(月) 17:49:44.90 ID:59NPHk9K.net
>>6

ありがとう。
安いのでkindle for PCで読んでみます。

8 :デフォルトの名無しさん:2016/11/14(月) 21:53:09.88 ID:LGJBYXKn.net
>>7
かなりアクが強いけど、値段の割に超骨太な内容だから焦らずゆっくり読むといいよ

9 :デフォルトの名無しさん:2016/11/15(火) 12:02:13.09 ID:IUxhFka0.net
>>8

ありがとう。
行間がたっぷり取られてて見やすいね。
とても100円とは思えない充実ぶりだよ。
色々種類があって順番がよくわからないけど、
とりあえず「はじめてのJavaプログラム」から読み始めてます。

10 :デフォルトの名無しさん:2016/11/15(火) 12:54:53.82 ID:PzwFNOhz.net
>>9
はじめてのJavaプログラム
範囲:条件文、繰返文までを学習
Java経験目安:環境設定を行っている方

入門Javaプログラム
範囲:Java言語の文法全体を学習
Java経験目安:はじめてのJavaをお読み頂いている方

Javaプログラム
範囲:Java言語の文法全体をより深く学習
Java経験目安:新人研修修了レベル

実践Javaプログラム
範囲:プログラムの書き方。アプリケーション設計。
Java経験目安:新人研修修了レベル

Javaオブジェクト指向
範囲:Javaにおけるオブジェクト指向の学習
Java経験目安:半年から2年目の新人技術者

らしいから文法やら書き方はわかるけどオブジェクト指向がわからないっていうなら他のは
飛ばして「Javaオブジェクト指向」から入ってもいいかも

あんまりやると業者に思われるからここまでにしとくが、頑張れ

11 :デフォルトの名無しさん:2016/11/15(火) 13:15:44.77 ID:IUxhFka0.net
>>10

オブジェクト思考って始めてから半年〜2年目以降から身に付けるものなんだ・・・
(個人差があるのはわかるけど)

「はじめてのjavaプログラム」のおかげでいまいち理解出来てなかった
拡張for文の使い方がわかったし、読むのが楽しいから順番通りに勉強してみようと思います。

ありがとうございましたm(_ _)m

12 :デフォルトの名無しさん:2016/11/15(火) 16:08:33.29 ID:joeepLAm.net
同じクラスを参照してるインスタンスの数だけメモリも消費するんですか?

13 :デフォルトの名無しさん:2016/11/15(火) 19:23:23.95 ID:9YUjbK/H.net
>>12
クラスを参照ってのは、あるクラスを複数インスタンス化した場合に各インスタンス毎にメモリを確保しますか?って質問なのかな
それもと同一のクラスオブジェクトを複数のインスタンスが参照(フィールド変数に保持)した場合に参照先のクラスオブジェクトの領域は参照毎に別のメモリを確保しますか?って質問なのかな

前者であれば答えはyes
ただStringはnew意外にもString str1 = "aaa";のようにインスタンス化出来るけど、この場合はString str2 = "aaa";としても同じインスタンスが返る。これはコンスタントプールから取得されるので、この辺は特別な仕様なので追々覚えればいい

後者であればno
変数が表しているのはクラスインスタンスのアドレスと同等なのでコピーを保持する訳でわない

14 :デフォルトの名無しさん:2016/11/15(火) 20:33:43.66 ID:T/AMZyvr.net
Object o1 = new Object();
Object o2 = o1;

この時にo2が使うメモリ量はどのくらいなんだろ
アドレス保持のための少ない量ってことでいいのかな

15 :デフォルトの名無しさん:2016/11/15(火) 20:52:14.16 ID:HID4UF9K.net
初心者だけどnewしてないから参照分だけと予想

16 :デフォルトの名無しさん:2016/11/15(火) 20:53:32.36 ID:PzwFNOhz.net
その程度のメモリ気にするならJavaは諦めて別言語にすべき

17 :デフォルトの名無しさん:2016/11/15(火) 20:59:44.80 ID:1EWgrrZR.net
>>14
実装にもよるとは思うが、多分中ではポインタ使ってるだけなので4バイトとか8バイト使ってるだけになると思う。

18 :デフォルトの名無しさん:2016/11/15(火) 22:11:35.58 ID:5RW/XHdG.net
多態性とかオブジェクト指向っていう言葉が何を指すのか理解できないんですが、どうしたらいいでしょうか?
例えば、
1.同じインターフェイスを複数のクラスで実装して、そのインターフェイス型参照変数でインスタンスを参照することで、実装を知らなくても、抽象メソッドの引数と戻り値の仕様だけ知っていれば、同じ感覚で使用出来る。
2.抽象クラスを継承した具象クラスのインスタンスを抽象クラス型変数で参照すれば、配列やジェネリクスや抽象クラス型引数を持つメソッドで、色んなサブクラスを同じように使える。
というのは多態性なのかなーっていう程度の印象なんですが、
ソースコードを見て、それが多態性を持っているとかオブジェクト指向かどうか判断しろとか言われても、出来ません。

19 :デフォルトの名無しさん:2016/11/15(火) 22:17:33.43 ID:m0x9jm7k.net
そんなこと言われないだらー

20 :デフォルトの名無しさん:2016/11/15(火) 23:09:54.87 ID:joeepLAm.net
>>13
答えありがとうございます。言葉足らずですいません、その説明の後者のほうでした

21 :デフォルトの名無しさん:2016/11/15(火) 23:50:26.28 ID:APHjFyJV.net
>>18
オブジェクト指向かどうかは、言語で決まる。
C++, Java, C#, Python, Rubyなど、たいていの言語はオブジェクト指向

JavaScriptでは、prototype.メソッドという形を使っているなら、オブジェクト指向

「スッキリわかる Java入門 第2版、2014」を読んで、
is-a, has-a など、オブジェクト指向の基礎を学ぶこと

22 :デフォルトの名無しさん:2016/11/16(水) 00:10:24.69 ID:4pmQ/TAu.net
シグニチャって何ですか?

23 :デフォルトの名無しさん:2016/11/16(水) 00:15:06.38 ID:0ADEflcW.net
>>18
「どうしたらいいか」と問われるなら、正直「どうもしなくていい」と思う
アカデミックにオブジェクト指向について論文でも書きたいならすまないが力にはなれない

多態性もオブジェクト指向も、「より効率的なコードを書くための一手段」以上の観点から考えると混乱するよ

例えば、Javaが搭載している多態性という機能を利用することが、どれだけコードの再利用性を高めていることか
もっと言えば、どれだけ安全にコードを再利用できることか
そこを実感できない内から多態性とは何か、オブジェクト指向とは何かを考えるのは、個人的にはナンセンスだと思う

24 :デフォルトの名無しさん:2016/11/16(水) 00:25:05.39 ID:szm0B3fV.net
>>21
ありがとうございます。
is-a は継承関係を表現した言葉( Javaでいえば、全てのクラス is a Object)
has-a はコンポジションを表現した言葉( System has a (InputStream・OutputStream・PrintStream))
という感じで、理解してるんですが、これでいいんでしょうか?

25 :デフォルトの名無しさん:2016/11/16(水) 00:38:49.90 ID:szm0B3fV.net
>>23
ありがとうございます。
自分が実際のコードレベルで普段気にしてる所といえば、カプセル化と差分コーディングと疎結合くらいです(しかも出来てるかどうか怪しい)
理解には設計知識も必要になりそうなので、設計も勉強してみようと思います。

26 :デフォルトの名無しさん:2016/11/16(水) 16:06:16.25 ID:4pmQ/TAu.net
スッキリわかるJava実践編を読んでいると、拡張for文でつまずいていた自分が、いかに小さかったかが分かる。

27 :デフォルトの名無しさん:2016/11/16(水) 16:33:00.87 ID:Io8tNnmj.net
>>22
関数やらを特定できる名前

本体の名前にクラス名の修飾、さらに
引数のオーバーロードがあるから引数リストまで含める

28 :デフォルトの名無しさん:2016/11/16(水) 21:20:00.92 ID:YbY07hGi.net
>>21
> オブジェクト指向かどうかは、言語で決まる。

いや、無理すればだいたいの言語でオブジェクト指向のプログラム作れると思うよ。
ただ言語がオブジェクト指向をサポートしていないと困難が伴うだけのことでな。
C++なんかは元々C言語はのコンバータだったしな。Perlは未だにhssh利用してちょっと拡張ただけで実現してるし。

29 :22:2016/11/17(木) 01:30:21.12 ID:jmQD4E/4.net
>>27
遅くなりましたが、ありがとうございました。

30 :デフォルトの名無しさん:2016/11/18(金) 00:43:30.96 ID:OD6yeudH.net
Javaで今のグラフィック事情はJavaFX
を学んでおけばいいのでしょうか。
WritableImageはBufferedImageと同様の事が出来そうと思ったのですが、
直線や円をWritableImage上で描く関数、方法等はあるのでしょうか?

31 :デフォルトの名無しさん:2016/11/18(金) 07:58:50.94 ID:ifsRvlL1.net
TomcatでServlet + JSPで作った物のテンプレートエンジンをThymeleafに変更したいのですが、どうすればいいでしょうか。
サンプル探しても、ThymeleafはSpring + Maven or Gradleのものばかりで、web.xmlでの依存性設定の方法が分かりません。

32 :デフォルトの名無しさん:2016/11/18(金) 14:27:06.78 ID:uW9WflJo.net
Javaでwebカメラの映像を画像で保存したいのですがどうすれば良いのですか?
検索しても動画保存しかなくわかりません

33 :デフォルトの名無しさん:2016/11/18(金) 22:23:44.87 ID:x7iYBXzm.net
repaint()を1秒間に60回呼び出したら画像が表示されないのですがこれは表示が間に合っていないからなのでしょうか?
エラーも出ずコマンドプロンプトには60回任意の文字が表示されるのですが

34 :デフォルトの名無しさん:2016/11/18(金) 23:44:20.16 ID:cz8hZ4UD.net
>>30
やりたいことによるけどJava上でProcessingの
アプレットを走らせる方法もあるよ。
または最初からProcessingをプラットホームにして
そこにJavaのライブラリを組み込むってのもある。

35 :デフォルトの名無しさん:2016/11/19(土) 21:57:03.67 ID:/T3dv8Ui.net
>>32
なんか、こういうライブラリあるようだ。使ったことないけど。
http://netbuffalo.doorblog.jp/archives/4528385.html

あと Android みたいなカメラが付いてて当たり前みたいな環境だとそれはそれなりになんかあるんだろうね。
俺は知らないけど。 👀
Rock54: Caution(BBR-MD5:f2c519fe5384e767e1c9e99abdcfc293)


36 :デフォルトの名無しさん:2016/11/20(日) 12:26:13.50 ID:rUGeTkRI.net
>repaint()を1秒間に60回呼び出し
そういうのは Java じゃなくて C++ とか使うべき

37 :デフォルトの名無しさん:2016/11/20(日) 17:06:43.40 ID:I061FkHI.net
>>34
BufferedImageからGraphicsを取得して
直線等を描画してSwingFXUtilsを利用し、
WritableImageにしてました。
裏画面、メモリとして独自に持ちたいと思ったので。
Canvasを入れ替えるというのはあり得るのでしょうか。
Javaのシンプルな環境で出来たらと考えています。

38 :デフォルトの名無しさん:2016/11/21(月) 12:08:07.73 ID:qdDmf7CK.net
>>37

目的が分からないけど、PAppletをJFrameか何かに貼り付けた上で
public class YourApplet extends PApplet{
public void setup(){
(Processingの一般構文:設定系)
}
public void draw(){
(Processingの一般構文:ここで直線を書く)
}
}
という話ではなくって?

39 :デフォルトの名無しさん:2016/11/22(火) 16:39:28.05 ID:ae5ITMjf.net
初歩的な質問で恐縮です

Monsterクラスを継承したSlimeクラスとGolemクラスを作成したのですが、インスタンス化の際に

Slime slime = new Slime();
Golem golem = new Golem();

とするのではなく、新たにmonsterFactoryクラスを作成し、その中の
メソッドでインスタンス化し、戻り値として該当のインスタンスを返したいと考えています

そういった場合のときにSlimeやGolemといったクラスの数だけメソッドを作成するのではなく、
引数にMonsterクラスの子クラスを指定し、その型のインスタンスを返したいのですが、
そういったメソッドは作成可能でしょうか?
ご教授いただければ幸いです

40 :デフォルトの名無しさん:2016/11/22(火) 17:18:06.57 ID:BChNgOUn.net
>>39
例外処理とかは書いてない

public Monster create(Class<? extends Monster> c) {
return c.getConstructor().newInstance();
}

41 :デフォルトの名無しさん:2016/11/22(火) 17:18:41.62 ID:G/lzbAc1.net
>>39

Monster createMonsterOf(Class<? extends Monster> c){
try {
return c.newInstance();
} catch (InstantiationException | IllegalAccessException ex) {
return null;
}
}


Monster m = createMonsterOf(Golem.class);

42 :デフォルトの名無しさん:2016/11/22(火) 17:24:24.53 ID:BChNgOUn.net
>>41
Class#newInstance()はコンストラクタが送出する例外を素通ししなかったっけ?
最後にThrowableをcatchしないとマズいと思うよ

43 :デフォルトの名無しさん:2016/11/22(火) 17:30:54.79 ID:G/lzbAc1.net
>>42
確かに。指摘thx

44 :デフォルトの名無しさん:2016/11/22(火) 17:47:54.37 ID:BChNgOUn.net
ごめん、Throwableはマズいな
class#newInstance()使う場合は送出される可能性のあるExceptionも捕まえておきましょう

ちなみにConstructor#newInstance()の場合はInvocationTargetExceptionでwrapされて送出するのでそいつを捕まえて処理しましょう

45 :デフォルトの名無しさん:2016/11/22(火) 21:45:25.64 ID:/0LpSjau.net
>>40
>>41
ありがとうございます
ジェネリクスを使えばいけそうだなとは思ったのですがなかなかうまくいかなかったので助かりました
独学で聞ける人がいないので本当に感謝です……

46 :デフォルトの名無しさん:2016/11/24(木) 17:18:26.85 ID:z1OycYrK.net
Androidアプリ制作を学びたくて独学でJavaを勉強し始めたプログラミング初心者です(VBAは少しやってました)
CUI一通り理解できたらまずはGUIとか勉強したほうが良いのですかね、いつ本題のアプリ開発に手を付けられるのかお聞きしたいです

スレチでしたらすみません

47 :デフォルトの名無しさん:2016/11/24(木) 17:31:53.50 ID:m4cFoWGx.net
>>46
AndroidStudioインストールして、付属のサンプルコード動かしたり改造するればいいんじゃないかな
GUIはJavaFXとかあるけど、Androidには不必要だし、Android固有のUIやった方がいいよ

48 :デフォルトの名無しさん:2016/11/24(木) 17:34:41.57 ID:z1OycYrK.net
>>47
お早い回答ありがとうございます。JavaのCUIは見ておいた方がいいですよね?
Android studioも色々見たのですがイマイチどこでJavaの知識が役立つのかイマイチ分からなくて…

49 :デフォルトの名無しさん:2016/11/24(木) 20:02:09.19 ID:m4cFoWGx.net
>>48
CUIと言っているのがどの辺りかは分からないけど、Javaの言語仕様とjava.lang、java.util、java.net、java.ioパッケージは基本なのである程度把握しておいたほうがいいと思いますよ
上記が把握できたらAndroidでもサーバサイドでも始められるとおもます
あくまで始められるだけで、作るためにはそれぞれのフレームワークの理解など色々覚えることがありますが、、

Javaスレなので、Androidのことを長々と書くのもアレなのでAndroidの導入部分だけ
まず、AndroidStudioを起動るとプロジェクトの作成やインポートのリストが出るので一番下の「Import an Android code sample」からサンプルコードを選びます
最初はUIカテゴリあたりから選ぶのがいいと思います
プロジェクトがロードされるとたぶんApplication/src/main/java以下にJavaファイルがいくつかあると思いますが、java.*なんて利用してるクラスはほとんどなく、android.*を利用してると思うので愕然とすると思います
public static void main() はどこにあるの?と涙目になると思いますが、Androidでmainに相当するのがActivityクラスです(と書くと苦情が来そうですが最初はその理解でいいと思います)
Activityが何かはAndroid APIを見ると細かく書いてあります
https://developer.android.com/reference/android/app/Activity.html
多分サンプルコードだとMainActivity.java があると思うのでそこから見てみましょう
ってか実機に入れて動かしてみましょう

50 :デフォルトの名無しさん:2016/11/24(木) 21:41:58.42 ID:z1OycYrK.net
>>49
こんな初心者丸出しな質問に丁寧に答えてくださって本当にありがとうございます
ほぼ手探りで始めたもので、こういったご指南はとても助かります

Javaスレでする質問ではなかったかもしれません、お許しください。

51 :デフォルトの名無しさん:2016/11/24(木) 23:27:24.88 ID:g1cJ7kXy.net
WEB+DB vol.94 の特集が、Kotlin, Electron

Kotlin・IntelliJ IDEAは、JetBrains が作っている。
そして、Android Studioは、IntelliJ IDEAから作られているから、Kotlinが使いやすい

Android Studioで、Java・Kotlin は変換できる。
Kotlin Bytecode で、Javaのバイトコードも見れる

Try Kotlin のサイトで、ブラウザからプログラミングできる

Androidでは、言語の勉強はほとんどない。
ほとんどは、フレームワークの勉強だから、Java8よりも、Kotlinがベター

52 :デフォルトの名無しさん:2016/11/25(金) 00:05:26.48 ID:b+zcYe4E.net
>>50
48ですがAndroidはじめ最近のJava開発だとビルドシステムのgradleやコード管理にgit、githubも必須の知識になってくるのでその辺も押さえておいた方がいいですね

Androidのフレームワークの理解を進めるのは必須ですがIDE(AndroidStudio)の使い方を深く知るのも開発の早道だと思います
AndroidStudioの補完機能は強力なのでAPI Reference調べなくても補完候補の名前見て意図した機能を探す事が多いので

Androidだと最近Javaで書かずにkotlinを使う事もありますが、まずはJavaでの開発をお勧めしますよ
kotlinはいい言語ですがフレームワークがJavaの所でkotkinを使うケースがほとんど(AndroidやSpringが今だと当てはまりますね)なのでJavaの知識がないと問題が起きた時にはまると思います
初心者はkotlinの開発効率向上の恩恵を受けるより情報の少ない言語でのハマりの方が多いですね

53 :デフォルトの名無しさん:2016/11/25(金) 09:47:12.02 ID:kblhq0Mt.net
>>51
>>52
ID:z1OycYrKです。
分かりやすいご説明ありがとうございます。やはり単純にJavaの知識があれば良いと言う訳でもないのですね…
Android開発を目標とする場合にはまずJavaの基本知識とAndroidのフレームワーク、IDEを知ることが最優先事項といったところでしょうか。

本当にまだまだプログラミング自体初心者ですので順を追って勉強していきたいと思います。
kotlinなど初めて聞いたものもあったので参考にさせていただきます。

また何かあった時にはここで質問させてもらえると嬉しいです。

54 :デフォルトの名無しさん:2016/11/26(土) 02:50:02.97 ID:e02/+VR6.net
やっとpaizaのC級クリアできた
地味に嬉しいなこれ

55 :デフォルトの名無しさん:2016/11/26(土) 12:49:37.40 ID:2qYRbLWv.net
interfaceって、設計したところで、実装したクラスがきちんと実装してないと無意味ですよね?
abstract String getName();
ってメソッドがあったとしても、それを実装した各クラスのメソッドで、
return name; //正しい実装
return "UNKO!!"; //間違った実装
とかされたらダメで。
ということは、設計上の規約を実装に持ち込む(?)使い方をしないと意味ないってことですよね?

56 :デフォルトの名無しさん:2016/11/26(土) 12:59:57.73 ID:xNzmg7ff.net
そりゃそうでしょ

それって
2つの整数の和を返す関数
int add(int a,int b);
があったとしても、その実装を
return a+b;
にしなければ意味ないよねって言ってるのと同じでしょ?

57 :デフォルトの名無しさん:2016/11/26(土) 13:30:38.20 ID:UakanFrx.net
>>55
んな事気にしてたら公式でinterface使えないなw

58 :デフォルトの名無しさん:2016/11/26(土) 13:51:05.43 ID:iTK/Df17.net
>>55
それはその通り。interfaceはあくまでもinterfaceであって外部からどのような形でメソッドが呼び出し可能なのかを表している表面的なものでしかない。

59 :デフォルトの名無しさん:2016/11/26(土) 13:59:52.48 ID:0VRSln7v.net
よくJavaの本ではクラスありきで最初の方に書いてあるけど
実際に設計する機会はあまりなくて
インターフェースの方をきちんと勉強した方が実用的だ

60 :デフォルトの名無しさん:2016/11/26(土) 16:29:32.68 ID:BIqdSJpb.net
>>55
意味ないっていうか、そこでエラーを吐かせるのも設計の大事な役目なんだよ
実行時エラーの面倒くささに比べてコンパイルエラーの何とありがたいことよ

61 :デフォルトの名無しさん:2016/11/26(土) 20:58:39.18 ID:n+yuLe3f.net
>>60
>>55の例だとコンパイルエラーにはならんだろう。

62 :デフォルトの名無しさん:2016/11/27(日) 15:12:18.48 ID:FXT5KC1a.net
>>54
C級ってなんのことかと思ったら paiza.jp ってのがあったんだな。
コード入れとく方の paiza.io なら知っていたがそっちは知らなかった。

暇だからやってみたがとりあえずB級まで行ったよ。
A級のは1問やろうとしたけど数学的に難しくてわからない点があって調べるの面倒なので中止した。

63 :デフォルトの名無しさん:2016/11/27(日) 15:19:19.13 ID:FXT5KC1a.net
B級だと paiza査定 年収759万円 って出るのな。
今の実際の年収はこれ以上なのでやっぱA級クリアすべきだな。

64 :デフォルトの名無しさん:2016/11/27(日) 18:54:23.69 ID:FNYe3/AV.net
例外をいつどんなものを投げれば良いかがわかりません。
例のなるような、また皆さんが参考にしたソースコードがあれば
教えてもらえないでしょうか。

65 :デフォルトの名無しさん:2016/11/27(日) 19:38:47.95 ID:7rsS/I5l.net
>>63
どうやったらそんなに貰えるんですか?

66 :デフォルトの名無しさん:2016/11/27(日) 19:49:19.84 ID:Zu2gLat0.net
>>65
知らない。単に paiza.jp がそう出して来るだけ。

67 :デフォルトの名無しさん:2016/11/27(日) 19:54:13.39 ID:Zu2gLat0.net
paiza.jp はいわゆる転職支援サイトで、プロフィール登録してあそこで出ている問題を
解き続けるとそれを見た企業が連絡してくるかも知れないということ。

かといって俺は転職希望してないのでプロフィールはほとんど入力せずそのまま
問題解いてるだけ。俺は暇つぶしにクイズみたいに問題解きたいだけなので。

68 :デフォルトの名無しさん:2016/11/27(日) 20:00:24.38 ID:fruCkXex.net
某所で拾った問題なのですが、わからなかったので質問します(多分学校の課題だと思います)

任意のxとnを指定しx面のサイコロをn個投げたとき、
出る目の総和sumと、sumが出る組み合わせの数casesと、
sumが出る確率probを、sumの小さい順に「sum:cases:prob」の
ように一覧表示するプログラムを書けというものです

sumはn〜x*nの範囲で1ずつ増やすとして、casesの出し方がわかりません
合計がsumになるn個の自然数の組み合わせを全て取得し、
sumが同じだったらカウントを1増やせばいいんじゃないかと
思ったのですが、どんなコードを書けばそうなるのか検討もつかず……

あるいは他のベターな方法などありましたらご教授いただければ幸いです

69 :デフォルトの名無しさん:2016/11/27(日) 22:11:43.54 ID:FXT5KC1a.net
>>68
総和の最小値はnで最大値はx*nなのでこの数(x*n-n個=(x-1)*n個)のカウント値を入れておく配列を用意しておいて、
後は全パターン出して総和に従ってその配列の値を1加算すればいいだけ。

全パターンの求め方は、この場合はx進数でn桁あるのと同じで、最小値が1で最大値がxになっているので、
まずn桁分の値を入れておく配列を作っておいて全桁を1で初期化し、それに対して1加算する処理を作れば良い。
これは簡単だと思う。一番下の桁に1足してxよりも大きくなったら桁溢れなので1に戻して一つ上の桁に1を加え、
その桁で桁溢れしたら更にその上の桁という具合に必要なだけ上位桁まで繰り返す。全桁最大値になって1を
加算した時は最上位桁で桁溢れするのでそこで終わり。

まあでもこれは全パターンについて調べなくても数学的に何か良い方法ありそうな気がするなあ。

70 :デフォルトの名無しさん:2016/11/27(日) 22:15:53.01 ID:FXT5KC1a.net
あ、そうだ。x進数n桁なら0〜(x^n)-1の整数値のループにしてしまって各桁はxで割った余り+1でも出せるな。

71 :デフォルトの名無しさん:2016/11/27(日) 23:26:50.66 ID:FXT5KC1a.net
できた。
https://paiza.io/projects/SG0-jSDjsp39n6qB97ieUQ
下の所の入力のタブで面と個数を入れられる。1行目がxに入り2行目がnに入る。これでx面、n個になる。
今の値は6面3個になっている。

72 :デフォルトの名無しさん:2016/11/27(日) 23:51:30.95 ID:TwPmxj16.net
>>71
うおぉぉ
ありがとうございます!
じっくり見ながら勉強させていただきます

73 :デフォルトの名無しさん:2016/11/28(月) 02:41:41.42 ID:TQQs9y8p.net
Javaと関係ない気がするのだが
>>68のは単に多項分布の話をしてるのだろう
x=2のときを2項分布と言うんだよな、例を示すと
1,
1,1
1,2,1
1,3,3,1
1,4,6,4,1
と続くやつ

74 :デフォルトの名無しさん:2016/11/28(月) 04:49:37.31 ID:ZvcFWjYe.net
>>64
Error : catchする必要がない

Exception : catchすべき
RuntimeException : catchしなくてもよい

内容は、例外の一覧表を参照

>>73
シャンパングラスで、ピラミッドみたいな構造を作って、上から水を流すようなヤツか

75 :デフォルトの名無しさん:2016/11/30(水) 11:21:15.72 ID:tLQNhhd0.net
jdk と j2se と j2ee の言葉の意味を教えてください
jdk は開発に使うプログラム群でコンパイラと実行環境を含んでいて
j2seは基本のライブラリ群で j2eeはもりもりのライブラリ群
という認識であってるか?

jreやjdkをダウンロードすると、もれなくj2eeもついてくるの?

76 :デフォルトの名無しさん:2016/11/30(水) 12:56:22.81 ID:3Q1IinyT.net
J2EEは、J2EE1.2〜1.4まで。
J2EE1.4の次からは、JavaEE5〜7 に変わった

1.x という表記方法は、昔のもの

よく知らないけど、J2SEも、JavaSE に変わったのかも?

SEはスタンダード版で、EEはエンタープライズ版

77 :デフォルトの名無しさん:2016/11/30(水) 14:14:26.80 ID:m8TXkg9z.net
JDK は開発者用
JRE はユーザーが使う最小環境
自分がどちらの立場かでわかれる

SE/EE は開発ターゲットでわかれる
EEは(大規模)企業向け、サーバー構築用の機能がもりもり増える
ちなみに ME(M=モバイル、携帯など)もあるよ

特に限定なしに Java と言ったら SE だと思うよ

78 :デフォルトの名無しさん:2016/11/30(水) 17:01:51.61 ID:tLQNhhd0.net
>>76-77
ありがとう
じゃあ普通は JavaSE で、JavaEE はとりあえず存在忘れて良くて
JDKやJREを普通にダウンロードするとおりてくるのは JavaSE と
いう認識でいいのね

79 :デフォルトの名無しさん:2016/12/01(木) 20:14:35.02 ID:rebgM91e.net
JAVAというわけではなく、初歩的なことかと思いますが
テスト要領書って、本来コーディング前に作っておくものでしょうか?

うちの会社じゃ
いつもコーディングの後半に作ってるんですが
一般的にはどうなんだろうと思いまして

80 :デフォルトの名無しさん:2016/12/03(土) 01:26:27.43 ID:3wKrHXtA.net
streamを練習中です。
string配列のlistをstreamでわちゃわちゃやって、
タブ連結の標準出力までは出来たのですが
bufferdwriter.writeでファイル出力しようとすると例外処理を求められ、
tryで囲んでもエラーが消えません

どのように書けばいいのでしょうか

81 :デフォルトの名無しさん:2016/12/03(土) 08:57:37.85 ID:rRAOeu3n.net
エラーの内容示して

82 :デフォルトの名無しさん:2016/12/03(土) 13:49:28.45 ID:hgmu3ScG.net
今どのように書いてあるのか?

83 :デフォルトの名無しさん:2016/12/03(土) 18:40:26.32 ID:WlJHS2BC.net
>>81
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
処理されない例外の型 IOException


簡略化したArrays.stream(array).forEach(x -> bw.write(x));
でもエラーになるので根本的に使い方を間違っている感じがします
おまけにこれで書けたとしてもnewLineが書けないですよね

84 :デフォルトの名無しさん:2016/12/03(土) 19:13:20.96 ID:2l44vQ0O.net
>83
main に throws Exception を書いとけば?

public static void main(String[] args) throws Exception

85 :デフォルトの名無しさん:2016/12/03(土) 19:49:01.45 ID:WlJHS2BC.net
>>84
こちらでは解決しませんが
そちらの環境ではエラー消えますか?

改行と書き込みを行うwrite(BufferedWriter bw, String str)メソッドを作成して
Arrays.stream(array).forEach(x -> write(bw, x))から呼び出せば
動作するのはわかったのですが、出来れば分割したくありません

86 :デフォルトの名無しさん:2016/12/03(土) 23:59:44.58 ID:hgmu3ScG.net
長くなるが、こうだ。
Arrays.stream(array).forEach(x -> { try { bw.write(x); } catch (IOException e) { e.printStackTrace(); } });
サンプル
https://paiza.io/projects/mQUV1ao9f2lGajsPfUQlpg

87 :デフォルトの名無しさん:2016/12/04(日) 19:44:01.58 ID:7DvwJVFy.net
>>86
おおー、ありがとうございます
forEachの中を{}で括ることで複数処理を書けるんですね
処理が1行であれば{}を省略できるだけな事を知りませんでした

ちなみに、複数行処理はmapなどの中間操作でも使えますか?
ためしに次のようなコードを書いてみたところ、型推論が上手く出来ない感じでエラーになるのですが
https://paiza.io/projects/9MR0Rm40osn4TMXVOVQPog

88 :デフォルトの名無しさん:2016/12/04(日) 21:10:34.51 ID:dK8nOpyX.net
return

まずStreamよりlambda式を完璧に覚えた方が良くはありませんでしょうか

89 :デフォルトの名無しさん:2016/12/04(日) 21:36:25.09 ID:7DvwJVFy.net
>>88
ありがとうございます
ラムダ式の文法を調べたら自分が引っかかっていた部分が全て書いてありました
まずはこちらを勉強します

90 :デフォルトの名無しさん:2016/12/06(火) 19:17:36.58 ID:AM+X22VM.net
サブクラスのインスタンスをスーパークラス型の参照変数で参照するのって、どういうメリットがあるんでしょうか?
機能を制限してるだけのように見えるんですが。

91 :デフォルトの名無しさん:2016/12/06(火) 19:42:21.31 ID:yS9rSl8q.net
>>90
スーパークラスが同じなら違うサブクラスでも同じように扱える。

例えば Object クラスは全てのクラスのスーパークラスなので Object クラスの配列に色々なクラスのインスタンスを入れておいてループさせて頭から全てに対して toString() やらせたりなんてことができる。
この時全てのインスタンスは Object クラスのインスタンスとして扱われている。つまり機能は縮小されている。しかし全てのインスタンスを同列に扱える。

92 :デフォルトの名無しさん:2016/12/06(火) 19:43:40.02 ID:bM0bSRB2.net
>>90
例えば一括処理が楽になる

93 :デフォルトの名無しさん:2016/12/07(水) 00:09:59.47 ID:xt5+p8pC.net
>>90

例えば、JavaのListクラスについて考えてみる

Listクラスのサブクラスは、Listクラスと同じメソッドを持つ事が保証されている
(代表的なものは、Listに要素を加えるadd(E)メソッド、Listから指定した位置の要素を取り出すget(int)メソッド、List内の要素をすべて消すclear()メソッドなど)

Listクラスのサブクラス、ArrayListで、以下のような実装をしていたとする

List<Integer> list = new ArrayList<>;
list.add(new Integer(1));
list.add(new Integer(2));
System.out.println(list.get(0));
list.clear();
System.out.println(list.size());

何かしらの事情で、上記のコードで使用しているArrayListを、LinkedList(※)に変える必要がでた場合、ArrayListをList型の変数に代入しているため、new ArrayList<>の部分のみを書きかえればよい
※Listクラスのサブクラス

もし、ArrayListとLinkedListに共通のスーパークラスが無かった場合、2つのクラスで同じメソッドを使用できるとは限らなくなるため、listで使用しているメソッドを書きかえなければならない(規模が大きいと大変)

94 :デフォルトの名無しさん:2016/12/07(水) 07:01:38.13 ID:UOk7UU+s.net
Listはシーケンスを実装するインターフェース、クラスじゃないよ

95 :デフォルトの名無しさん:2016/12/07(水) 18:58:23.74 ID:k92WTPwA.net
ttp://www.javadrive.jp/start/ope/index7.html
このページ見て勉強してるんですが、納得いかないことがあります。
int a = 7;
int b;
b = a++;
System.out.println(a); //8
System.out.println(b); //7
について、
>変数「b」に変数「a」を代入していますので数値の7が変数「b」に代入されます。それから変数「a」の値を1だけ増加させます。
とのことなのですが、これをいじって、
int a = 7;
a = a++;
System.out.println(a); //7
とした場合、
>数値の7が変数「左辺のa」に代入されます。次に「右辺のa」の値を1だけ増加させます。
のはずなのにaは増えていません。
a = a++;
だと、インクリメントされないけれど、
a++;
だと正常にインクリメントされます。
a = a++;
の場合、左辺のaと右辺のaが指している場所が違う(実はaが2つある)んですか?

96 :デフォルトの名無しさん:2016/12/07(水) 20:41:00.08 ID:MF980GNn.net
javadriveは演算子の優先順位説明されてたっけ?

97 :デフォルトの名無しさん:2016/12/07(水) 20:41:20.64 ID:B6706IAk.net
順番逆じゃね

先に右辺が評価されて評価値は7
aはインクリメントされて8
評価値がaに代入されて7に戻る

98 :デフォルトの名無しさん:2016/12/08(木) 00:17:49.54 ID:tUPRtp48.net
>>95
javap -c で逆アセンブルすると分かるけど

int a = 7;
int b;
b = a++;

バイトコードは
1:bipush 7
2:istore_1
3:iload_1
4:iinc 1, 1
5:istore_2

1:スタックに7を積む
2:スタックの値(7)を変数1(a)に入れる
3:変数1(a)の値をスタックに積む(7)
4:変数1(a)に1追加(7->8)
5:スタックの値(7)を変数2(b)に入れる

99 :デフォルトの名無しさん:2016/12/08(木) 00:18:23.52 ID:tUPRtp48.net
疑問のコード

int a = 7;
a = a++;

1:bipush 7
2:istore_1
3:iload_1
4:iinc 1, 1
5:istore_1

1:スタックに7を積む
2:スタックの値(7)を変数1(a)に入れる
3:変数1(a)の値をスタックに積む(7)
4:変数1(a)に1追加(7->8)
5:スタックの値(7)を変数1(a)に入れる

ってことでこれが答えです

100 :デフォルトの名無しさん:2016/12/08(木) 00:18:39.13 ID:tUPRtp48.net
ちなみに

int a = 7;
a = ++a;

の場合はiload_1とiinc の順序が逆になります

この疑問は自分も??となったので調べてみておもしろかったです

101 :デフォルトの名無しさん:2016/12/08(木) 19:26:40.58 ID:ZhYL35Hp.net
>>100
横からで申し訳ないけど
int a = 7;
a++;
の場合ってどうなってます?

102 :デフォルトの名無しさん:2016/12/08(木) 19:32:30.50 ID:msYwe41j.net
>>101
そんなの8に決まってんだろ

103 :デフォルトの名無しさん:2016/12/08(木) 20:07:00.20 ID:Qk51oSYm.net
で、それらは言語仕様で決まってるの?
その実装は言語仕様通りの動作なの?

104 :デフォルトの名無しさん:2016/12/08(木) 20:25:48.90 ID:msYwe41j.net
>>103
そう。

105 :デフォルトの名無しさん:2016/12/08(木) 23:23:47.68 ID:RlcOCP/9.net
>>103
演算子の優先順位

106 :デフォルトの名無しさん:2016/12/09(金) 09:32:09.87 ID:JDGo9TAV.net
自作のクラスをextendsしたらmain(static final)はmain(static final)をオーバーライドできませんってエラーになったけど
どう書いたらいいのでしょうか?

107 :デフォルトの名無しさん:2016/12/09(金) 09:44:39.39 ID:0m6Mi0gt.net
オーバーライドしないように書けばいいのです
これ以上詳しい回答が欲しいならコードを晒しましょう
嫌なら帰りましょう

108 :デフォルトの名無しさん:2016/12/09(金) 09:49:29.03 ID:vCLjhx0r.net
>>106
main()書くクラスを継承するなんて普通はやらない
どう書くかの前に何がしたいのかはっきりさせようか

109 :デフォルトの名無しさん:2016/12/09(金) 12:21:46.85 ID:vlYQq61V.net
そもそもmainメソッドのオーバーライドってその気になればできたりするもの?
それとも言語仕様上不可能なもの?

110 :デフォルトの名無しさん:2016/12/09(金) 12:34:26.46 ID:dJ83iVEX.net
変態コーダーとしては大いに興味がある

111 :106:2016/12/09(金) 12:40:32.05 ID:JDGo9TAV.net
コンストラクタからmain2を呼び出すとかしてもいいんでしょうか?

112 :デフォルトの名無しさん:2016/12/09(金) 13:00:22.88 ID:XOVIDlO/.net
究極的にはコンパイラさんがお怒りにならなければ何をしたっていいよ

113 :デフォルトの名無しさん:2016/12/09(金) 15:08:08.05 ID:TskjQlK7.net
eclipseとTomcatに関する質問ってここでしてOK?

114 :デフォルトの名無しさん:2016/12/09(金) 18:24:56.00 ID:xgqevX7Y.net
>>112
コンパイラさんの目を盗んでメインメソッドをオーバーライドする方法を知りたい 知りたいだけだが

115 :デフォルトの名無しさん:2016/12/09(金) 19:12:42.51 ID:6sxBnXBQ.net
finalだからじゃなかろーか

>>114
リフレクションで出来るかも?
詳しい人プリーズ

116 :デフォルトの名無しさん:2016/12/10(土) 12:37:09.07 ID:VLELNCTm.net
そもそもstaticなんだが....
とりあえず実行したいだけならJUnitとか使えば行けるだろうけど

117 :デフォルトの名無しさん:2016/12/10(土) 12:41:59.40 ID:VLELNCTm.net
ってかそもそも継承しないクラスでクラス作って起動時のクラス指定で呼び出してそこから該当のクラスでも呼び出せばいいんじゃね

118 :デフォルトの名無しさん:2016/12/11(日) 03:36:14.81 ID:xECh/Tka.net
>>106はコードを晒すべきだ。

119 :106:2016/12/11(日) 10:35:36.03 ID:Dfbs0rE4.net
継承元のクラスのmainを削除すればいいと思うんだけど
とりあえず一つのプログラムからしか呼び出されていないので、ソース変更とかしながら
Hoge hoge = new Hoge(); してから
戻り値 hoge.hogehoge();
って形にした

120 :106:2016/12/11(日) 10:36:55.22 ID:Dfbs0rE4.net
ああ、
import hoge.Hoge;
も必要だった

121 :デフォルトの名無しさん:2016/12/11(日) 14:00:45.27 ID:x9RdPPr0.net
finalだからじゃなかろーか

https://paiza.io/projects/MTCnmZ86lM69QsJ8xf8KVA
https://paiza.io/projects/6LFZuaVly4m1QKUAmkLOjQ

122 :デフォルトの名無しさん:2016/12/12(月) 01:07:35.78 ID:Cw8uPzOG.net
例外処理について教えて下さい。
検査例外の場合、throws すると呼び出し元のメソッドで処理しないとコンパイル通りませんが、、
非検査例外の場合、throws しても呼び出し元のメソッドで処理しなくてもコンパイルは通るのは、
非検査例外の場合は throws する意味はない(せいぜい注意書きレベル)と考えていいんでしょうか?

標準ライブラリにも「例外:○○Exception(非検査例外)を投げることがある」と明記してあるメソッドがありますが、
try catchするかは使う人の善意(?)次第になってしまいますよね?

123 :デフォルトの名無しさん:2016/12/12(月) 01:26:56.17 ID:38wEAVQO.net
>>122
http://qiita.com/yuba/items/d41290eca726559cd743

124 :デフォルトの名無しさん:2016/12/12(月) 01:45:44.05 ID:Cw8uPzOG.net
>>123
ありがとうございます。

125 :デフォルトの名無しさん:2016/12/12(月) 11:59:20.93 ID:YdV6j9Ia.net
final public static void main
ってベジータの必殺技みたいだよな

126 :デフォルトの名無しさん:2016/12/12(月) 12:04:02.85 ID:YdV6j9Ia.net
ところで、mainにfinalつける人っているの?

127 :デフォルトの名無しさん:2016/12/12(月) 12:41:49.96 ID:LEnzGoNW.net
なんでfinal付けるんだろう?謎だな。

128 :デフォルトの名無しさん:2016/12/12(月) 15:05:09.35 ID:gvYOPAdU.net
public strictfp synchronized static final void main(String[] args)
なんかかっこよくなった。

129 :デフォルトの名無しさん:2016/12/12(月) 16:01:34.64 ID:pPmA0hRQ.net
>>128の「public strictfp synchronized static final void main(String[] args)」!

>>125に2959のダメージ!

130 :デフォルトの名無しさん:2016/12/12(月) 16:24:17.16 ID:Y+8pLhXI.net
バッチのご相談をさせてください

入力フォルダからデータを取り込んで処理、出力するバッチなのですが、
入力フォルダにデータを書き込んでいる最中にバッチが起動し、中途半端なデータを取り込んでエラー落ちしてしまいます

どうにかして書き込み中のデータを無視したいのですがFileクラスなどで別のプロセスがファイル書き込み中であることを判別する手段はありますか?

131 :デフォルトの名無しさん:2016/12/12(月) 17:56:39.37 ID:YdV6j9Ia.net
>>130
ロック! シェケナベイベー!

132 :デフォルトの名無しさん:2016/12/12(月) 19:50:08.10 ID:MS9MrEBQ.net
>>130
書き込みが終わってから読むのが正攻法では?
書き込み処理側で終了を知らせるゼロバイトファイル置いてもらうか
読み側で10秒ぐらい待ってみてサイズが変わってなければ終了と見なすか

133 :デフォルトの名無しさん:2016/12/12(月) 20:31:46.42 ID:5QBCzTqI.net
>>130
isReadや書き込み中ならisWriteでfalse返ってこないか

134 :デフォルトの名無しさん:2016/12/12(月) 23:52:08.34 ID:ATFW9x6K.net
ジェネリクスを包括的(?)に勉強したいのですが、オススメのサイトがあれば教えて下さい。
日本語・英語・ドイツ語どれかでお願いします。

135 :デフォルトの名無しさん:2016/12/13(火) 00:32:48.27 ID:EQBenzg8.net
20代後半でプログラムの勉強して就職先ってあるのだろうか?
俺はないと思う

136 :デフォルトの名無しさん:2016/12/13(火) 09:05:12.70 ID:GC6m09wL.net
もうプログラムは趣味でやるもんだわ

137 :デフォルトの名無しさん:2016/12/13(火) 10:05:56.21 ID:8ddwa1I7.net
それ。

138 :デフォルトの名無しさん:2016/12/13(火) 16:36:57.46 ID:EQBenzg8.net
趣味でプログラムって何か作ってるの?

139 :デフォルトの名無しさん:2016/12/13(火) 16:54:49.77 ID:EzCfEOMA.net
130です
急なトラブルでレス遅くなりました

レスいただいた皆様ありがとうございます
教えていただいた方法も含めて色々と試したのですがうまくいかず、結局入力側を同名リネームできるかどうかで判別することにしました
これでもリネームから取り込みまでの間に書き込みが始まる可能性が若干ありますが、ほとんどのパターンではうまくいきそうです

140 :デフォルトの名無しさん:2016/12/13(火) 17:08:56.91 ID:8ddwa1I7.net
>>138
まあね。

141 :デフォルトの名無しさん:2016/12/13(火) 19:34:17.65 ID:EQBenzg8.net
どんな感じの?
ゲームとかか?

142 :デフォルトの名無しさん:2016/12/13(火) 19:56:19.39 ID:jryChzob.net
そういうの質問するスレじゃないから
マ板でやりなよ

143 :デフォルトの名無しさん:2016/12/13(火) 20:03:09.70 ID:urfJjx8P.net
>>134
はい
http://d.hatena.ne.jp/ryoasai/touch/20110325/1301078699

144 :デフォルトの名無しさん:2016/12/14(水) 09:37:23.94 ID:MxDuKnpo.net
>>139
それ環境依存なのでは?
仮想マシンが動いているOSによって動作変わると思うぞ。
Linuxとかで試してみな。

145 :デフォルトの名無しさん:2016/12/14(水) 15:50:48.28 ID:4RpExEkV.net
>>144
ご指摘ありがとうございます
環境はWindowsで決まっているので問題ありません
本当は占有ロックができれば一番よかったのですが、今回はこれで行きます

146 :デフォルトの名無しさん:2016/12/14(水) 20:54:28.03 ID:/A2KcaJK.net
>>130
例えばバッチ処理の起動間隔が1時間置きならディレクトリ構造を工夫して
yyyy/mm/dd/hh/xxxx.txt
みたいな感じで時間ごとに置き場所を変えてみては?
2016/12/14/20 のディレクトリは20:00 - 20:59まで書かれるので、書き込み時間も考慮して21:05位から読み込みに行くとか
もしくは同じパーミッションの別のディレクトリに書き込んでから所定のディレクトリにmvすればファイルエントリの書き換えだけなので書き込み中時間が無くなるので気にせず読み込めると思うけど
ただ、後者はあくまで同じパーミッションでのmvなのでクラウド化してAWS S3とか使うとmvもコピーと同じ扱いなので問題が発生する
オススメは前者かな

147 :デフォルトの名無しさん:2016/12/15(木) 08:20:36.53 ID:Dsc7hVXD.net
Bronzeのテキストを進めていたんですけど、
「インターフェースの定義として正しいものを選べ」という問題で、
String型の宣言について疑問があります。

public interface App {

public String id = A001; // ★
void execute(String param);

}

★部について質問です。
この A001 がダブルコーテーションで括られていないのにコンパイルを通過する理由がわかりません

どなたか教えて下さいませんか

148 :デフォルトの名無しさん:2016/12/15(木) 12:24:50.27 ID:7KRIzock.net
https://chrome.google.com/webstore/detail/%E3%81%AF%E3%81%A6%E3%81%AAng/mbgdnfmdelffjdhkdggilmphfdihnmcj?hl=ja

149 :デフォルトの名無しさん:2016/12/15(木) 18:26:13.35 ID:8c3LKfdb.net
SwingのJRadioButton取り付けの際に、指定した座標(Double)位置に取り付ける方法を教えてください
setBoundsはintでしか座標指定できないので困っています
よろしくお願いします。

150 :デフォルトの名無しさん:2016/12/15(木) 21:02:00.84 ID:aesj07do.net
オススメの入門書を教えてください
C#はCLR via C#という良書がありました
Javaについて同じぐらいの内容のある本が欲しいんです

151 :デフォルトの名無しさん:2016/12/15(木) 21:40:12.99 ID:0+Rggy+8.net
英語でいいなら言語仕様を読んだ方が早くて確実じゃないか
オラクルがやる気なさすぎて翻訳がないだけでしょ

152 :デフォルトの名無しさん:2016/12/15(木) 21:58:20.45 ID:kX3WZpE8.net
スッキリわかる Java入門 第2版、2014

これで、オブジェクト指向を学ぶのが定番

153 :デフォルトの名無しさん:2016/12/15(木) 22:19:36.29 ID:oV/u/0Em.net
>>149
キャストしちゃいかんのけ?

154 :デフォルトの名無しさん:2016/12/15(木) 22:29:25.50 ID:kX3WZpE8.net
>>147
コンパイルエラー

App.java:3: error: cannot find symbol

public String id = A001;

155 :デフォルトの名無しさん:2016/12/16(金) 10:56:28.90 ID:T/H9fGcJ.net
>>147
本当にソースがそれだけで尚且つコンパイル直前にソースを変換するような(C言語でのプリプロセッサのような)事をせずに普通にjavacコマンドでコンバイルしているのならエラーになる筈だ。

ソースは本当にそれだけなのか?
どのようにコンバイルしているのか?
それは本当にJavaなのか?

156 :デフォルトの名無しさん:2016/12/18(日) 13:39:46.74 ID:51pgM9Tx.net
>>147,155
どうも誤植だったようです。
お騒がせしました。

http://book.impress.co.jp/books/1114101134
下の方に書いてありました…

157 :デフォルトの名無しさん:2016/12/18(日) 14:19:59.35 ID:HGrXEg33.net
どっちにせよコンパイルエラーに成るだろうけどえ

158 :デフォルトの名無しさん:2016/12/18(日) 17:23:13.91 ID:lH3oOzXl.net
javaの入門書はいくつか買ったけど「スッキリわかるjava入門」も「やさしいjava」も内容が薄いので個人的にオススメしません。
真面目に勉強したい方には「明解java」をオススメします

159 :デフォルトの名無しさん:2016/12/18(日) 17:27:04.12 ID:+quZzTBX.net
明解Javaはいい加減、答案を別々に売るんじゃなくて一緒にしてくれませんかね?

160 :デフォルトの名無しさん:2016/12/18(日) 18:24:39.79 ID:d5jVhhWj.net
あっこいつめちゃくちゃ詳しいなって人が書いた本が欲しい

161 :デフォルトの名無しさん:2016/12/18(日) 19:06:32.94 ID:Q1df89b/.net
>>157
public String id = "A001";

[正]のコードのこれはコンパイル通るじゃろ

162 :デフォルトの名無しさん:2016/12/18(日) 20:47:27.70 ID:KOHv1OrF.net
入門書を薄いとか言ってる時点でお門違いでねえかい?

163 :デフォルトの名無しさん:2016/12/18(日) 21:02:45.03 ID:wEstYhpF.net
内容濃い入門書なんてそうそう無いよ

164 :デフォルトの名無しさん:2016/12/19(月) 00:18:23.26 ID:qQruKqYa.net
テンプレで入門書〜中級者向けまででオススメの書籍まとめたら?

165 :デフォルトの名無しさん:2016/12/19(月) 04:44:30.29 ID:DLH52s/u.net
入門書は薄いぐらいでよいのじゃ

166 :デフォルトの名無しさん:2016/12/19(月) 05:43:23.41 ID:x8MqWvxK.net
1行目2行目省略
System.out.println("あなたの名前を入力してください。");
String name = new java.util.Scanner(System.in).nextLine();
System.out.println("あなたの年齢を入力してください。");
int age = new java.util.Scanner(System.in).nextInt();
System.out.println("ようこそ、"+age+"歳の"+name+"さん");
8行目9行目省略

最初の入力で1111
次の入力であああ と入力した場合どうなるのですか?
エラー?
Dokojavaで試したいけどキーボードからの入力が
ダメみたいで試せません

167 :デフォルトの名無しさん:2016/12/19(月) 06:44:06.00 ID:Bj4xwR1n.net
年齢のところでInputMismatchExceptionになるんじゃね

168 :デフォルトの名無しさん:2016/12/19(月) 07:49:18.37 ID:++QTK/hM.net
paiza.ioで試してみなはれ

169 :デフォルトの名無しさん:2016/12/19(月) 07:53:48.66 ID:iGBlQxB0.net
paiza.ioとかideone.comだと最初のnew java.util.Scanner(System.in).nextLine();で あああ も読み込んじゃうきがす
・・・なんで毎回Scanner作ってるんだ?

170 :デフォルトの名無しさん:2016/12/19(月) 12:08:02.28 ID:sOkl84s/.net
貴重なScannerがもったいない

171 :デフォルトの名無しさん:2016/12/19(月) 12:48:55.59 ID:ZaqNL8Eo.net
JavaDriveのScannerクラスの解説ではcloseしてないけど
ScannerってBufferedReaderみたいにcloseしなくていいものなの?

172 :デフォルトの名無しさん:2016/12/19(月) 13:52:53.14 ID:Vbf5qZm0.net
Scannerが閉じられる場合、その入力ソースがCloseableインタフェースを実装していると、そのソースも閉じられます。
https://docs.oracle.com/javase/jp/8/docs/api/java/util/Scanner.html

173 :デフォルトの名無しさん:2016/12/19(月) 17:34:23.36 ID:sqV3wSxh.net
doubleをdoubleのまま四捨五入する方法を教えてください
roundではlongになりますし、(その後Doubleに戻せない)
BigDemicalを使用しましたがやはりDoubleに戻せませんでした

174 :デフォルトの名無しさん:2016/12/19(月) 17:46:53.68 ID:sy8ZFTqJ.net
小数点第何位を四捨五入?

175 :デフォルトの名無しさん:2016/12/19(月) 17:51:37.27 ID:sqV3wSxh.net
>>174
第一位です。
後の処理のために?.0 の形にしたいんです

176 :デフォルトの名無しさん:2016/12/19(月) 17:56:49.61 ID:tIF40yfR.net
BigDecimalはなぜ出来なかった
doubleValueメソッドで値取得できるだろ

177 :デフォルトの名無しさん:2016/12/19(月) 18:02:38.85 ID:sqV3wSxh.net
>>176
doubleValueで変換したらできました、ありがとうございます
ずっと(double)で変換しようとしていました
お騒がせしました

178 :デフォルトの名無しさん:2016/12/19(月) 19:06:14.94 ID:iGBlQxB0.net
(double) Math.round(d);
これじゃあかんの?

longの範囲外も使いたい?
-0.5が0ではなく-1になってほしい?

179 :デフォルトの名無しさん:2016/12/20(火) 03:04:45.81 ID:0KT4zuVf.net
Math.rint() は?

180 :デフォルトの名無しさん:2016/12/20(火) 03:09:44.94 ID:0KT4zuVf.net
ありゃ。 -0.0 という大変気になる値を出力してるな。
https://paiza.io/projects/bCh6x1NLIAC0Jf0tC_Amvg

181 :デフォルトの名無しさん:2016/12/20(火) 04:24:27.61 ID:SBU+XmPh.net
定期的に特定のメソッドを実行するようにしたいんですが、下記のようにすると相当な誤差が発生します。
(1秒おきに実行するようにしても、最悪0.01秒以上の誤差発生)
もう少し誤差が発生しないようにするにはどうしたらいいでしょうか。

public class Main implements Runnable{

public static void main(String[] args) {
// TODO 自動生成されたメソッド・スタブ
ScheduledExecutorService sc = Executors.newSingleThreadScheduledExecutor();
Main main = new Main();
sc.scheduleWithFixedDelay(main, 1,1000, TimeUnit.MILLISECONDS);
}

@Override
public void run(){
System.out.println(LocalDateTime.now());
}

}

182 :デフォルトの名無しさん:2016/12/20(火) 04:31:09.52 ID:SBU+XmPh.net
すみませんNANOSECONDSがあるのを見落としていました。
だいぶ良くなりました。

183 :デフォルトの名無しさん:2016/12/20(火) 08:09:47.64 ID:/4ZK922w.net
普通のPCなら実用レベルで使えるのは MICROSECONDS までやろ

184 :デフォルトの名無しさん:2016/12/20(火) 10:44:27.40 ID:KSEz+8C8.net
>>180
rintは四捨五入じゃなくて銀行家丸め、ちょっとだけちがう
0.5→0.0 1.5→2.0 2.5→2.0 3.5→4.0

185 :デフォルトの名無しさん:2016/12/20(火) 11:25:58.80 ID:M5z+zWvO.net
Timerと比べて処理も早くなったもんだなぁと思っていたわ

186 :デフォルトの名無しさん:2016/12/20(火) 12:08:33.17 ID:uCuxDFqt.net
>>184
あれ?そうか。そういや違うな。

近い方の整数にするって書いてあったが、0.1みたいな2進数で循環少数になる値だから10進数表現にした時に変になるってのとは違うのかな?

187 :デフォルトの名無しさん:2016/12/20(火) 12:22:07.07 ID:KSEz+8C8.net
>>186
0.5は2進数で表現できる数値なんだぜ

188 :デフォルトの名無しさん:2016/12/20(火) 12:43:21.99 ID:uCuxDFqt.net
>>187
ああ。それはな。歯切れのいい数だな。

189 :デフォルトの名無しさん:2016/12/20(火) 12:56:54.28 ID:R1RJpJyH.net
0.5がどう歯切れが良いのか教えてくれ

190 :デフォルトの名無しさん:2016/12/20(火) 14:32:44.86 ID:W3VNc1Gn.net
0.5はパリっとしてる
0.8はぬるぬるでべちゃべちゃ

191 :デフォルトの名無しさん:2016/12/20(火) 14:36:24.26 ID:VSRV1MkN.net
booleanの配列があったとして
その中に一つでもtrueがあるかどうか判定する場合どうすればいい?
ループ処理で対応するしかないの?

192 :デフォルトの名無しさん:2016/12/20(火) 15:03:41.41 ID:W3VNc1Gn.net
>>191
boolean[] a = new boolean[10];
return IntStream.range(0, a.length).anyMatch(i -> a[i]);

193 :デフォルトの名無しさん:2016/12/20(火) 15:05:23.46 ID:uCuxDFqt.net
>>191
配列ならそうだな。
自分でint型とか使ってビットフラグ作ってるならその変数が0以外かどうかみたいな判定できるが。

194 :デフォルトの名無しさん:2016/12/20(火) 15:06:21.97 ID:uCuxDFqt.net
あー。ストリームもあったか。

195 :デフォルトの名無しさん:2016/12/20(火) 15:14:29.16 ID:uCuxDFqt.net
>>189
1/2だから2進数に直した時に丁度0.1になる。

196 :デフォルトの名無しさん:2016/12/20(火) 16:37:17.12 ID:M5z+zWvO.net
Streamも勉強しないとなぁ……

197 :デフォルトの名無しさん:2016/12/20(火) 18:18:46.50 ID:NxTunxkT.net
Swingを使ってFrameを作成しました。
しかし、作成したFrameをドラッグしてサイズ変更したり、中に組み込まれているボタンをクリックするたびに指示しているつもりはないのに
コンソール上で勝手にプログラムが走り続けます。
勝手に動かないようにする方法はないでしょうか。

198 :デフォルトの名無しさん:2016/12/20(火) 19:30:18.16 ID:ROq3uLNC.net
>>197
日本語でお願いします、いやマジで
状況の説明が難しいなら画面をキャプチャしてもいいのよ

199 :デフォルトの名無しさん:2016/12/20(火) 21:02:34.96 ID:9nRV9my/.net
> コンソール上で勝手にプログラムが走り続けます。

この辺の記述から読んでて異次元の迷宮に入り込んだ気分になるね。

200 :デフォルトの名無しさん:2016/12/20(火) 22:06:21.68 ID:W3VNc1Gn.net
走ったり怒ったり投げたり、最近のプログラムは知性持ってるよね

201 :デフォルトの名無しさん:2016/12/20(火) 22:08:45.94 ID:IO5s5TKV.net
SwingかーFXやってるなぁ

202 :デフォルトの名無しさん:2016/12/20(火) 22:30:01.19 ID:1BDhnzm4.net
初心者だからよくわからんけど今FXじゃなくてswingやるメリットあるのん?

203 :デフォルトの名無しさん:2016/12/20(火) 23:21:20.24 ID:1OYUiPAH.net
YouTubeにある、T Umezawa のテキストエディタで、プログラミングするやつとかだろ

【Java】ゲームプログラミング超入門 Part48【Swing】

この動画では、端末でコンパイルして、アプリを実行する

ボタンクリックのイベントに、端末に表示する、命令文を書いているとかだろ?

204 :デフォルトの名無しさん:2016/12/21(水) 10:13:08.44 ID:Gvv7OqV2.net
Android 6.0のパーミッションの質問です。

サンプルを見ていますと
http://techbooster.org/android/application/17223/
とかで「REQUEST_CODE_CAMERA_PERMISSION」などの、多分enumと思われる値が急に出てきますが、
これはどこで定義されているのでしょうか?
自分の環境(Androidstudio2.0 + API23)では、インテリセンスには表示されません。
よろしくお願いします。

205 :デフォルトの名無しさん:2016/12/21(水) 10:52:12.33 ID:yWiuL9Zz.net
>>197
イベントドリブン
http://www.milk-island.net/document/java/kihon/s1/

206 :デフォルトの名無しさん:2016/12/21(水) 16:20:40.98 ID:zhBb/96J.net
>>198
Frameから起動させるpanelが再描画され続けます?という感じです

207 :デフォルトの名無しさん:2016/12/21(水) 20:20:43.90 ID:x/2Pplyt.net
クイズ 地球ドリブン!

208 :デフォルトの名無しさん:2016/12/21(水) 20:41:39.03 ID:J03OT3+/.net
スッキリわかるシリーズ実践編まで
なぜあなたはオブジェクト指向開発ができないのか
を読み終えたら次は何がおすすめでしょうか

209 :デフォルトの名無しさん:2016/12/21(水) 20:56:56.38 ID:O01R8uKQ.net
c#

210 :デフォルトの名無しさん:2016/12/22(木) 00:40:25.69 ID:nyvvUxi3.net
スッキリわかる Java入門 第2版、2014
を読んで、オブジェクト指向の基礎を、しっかり学んだのか?

それなら、この2冊をこの順に読む
たのしいRuby 第5版、2016
みんなのPython 第4版 - 2016/12/22

その後は、Kotlin, Groovy とか。
Javaなら、Java8 とか

Java 最強リファレンス、田中裕一、2014

実践Javaコーディング作法 プロが知るべき、
112の規約と21の心得、森崎雅稔(まさとし)、2014

EFFECTIVE JAVA 第2版、2014

211 :デフォルトの名無しさん:2016/12/22(木) 09:16:59.08 ID:baYsDkKb.net
Perl も仲間に入れてくれ

212 :デフォルトの名無しさん:2016/12/22(木) 17:41:34.93 ID:igbmVVlV.net
ついでにHSPも

213 :デフォルトの名無しさん:2016/12/23(金) 04:31:41.79 ID:qGMxJuBb.net
スレチの話するとハゲの人来るぞ

214 :デフォルトの名無しさん:2016/12/23(金) 05:24:51.24 ID:bpdWnViK.net
     l⌒Yl  lY⌒l            彡⌒ミ
    { ´┴`} { ´┴`}           (´・ω・`) <ハゲ割で
    ( | ̄ ̄|   )           /( )\
     | | ̄ ̄ ̄ ̄ ̄|.           | |


   は?
     l⌒Yl  lY⌒l            彡⌒ミ
    { ´┴`} { ´┴`}            (´・ω・`)・・・
    ( | ̄ ̄|   )            /( )\
     | | ̄ ̄ ̄ ̄ ̄|            | |


お客様はハゲてないので割引できません
     l⌒Yl  lY⌒l             彡⌒ミ
    { ´┴`} { ´┴`}            ( ^ω^ )
    ( | ̄ ̄|   )            /( )\
     | | ̄ ̄ ̄ ̄ ̄|            | |


 ___
/ || ̄ ̄||   ⌒ミ
|.....||__|| (ω^ )  < 最高の店。店員は神!
| ̄ ̄\三⊂/ ̄ ̄ ̄/
|    | ( ./     /

215 :デフォルトの名無しさん:2016/12/23(金) 10:55:42.27 ID:gyXnAgRK.net
入門書のテンプレみたいなのはないのかよ
作れよ

216 :デフォルトの名無しさん:2016/12/23(金) 11:35:57.75 ID:YtrJq7qN.net
自分がやりたい事やってるうちにいろいろ吸収してるだろ?

217 :デフォルトの名無しさん:2016/12/23(金) 13:51:48.23 ID:uB3OWs+a.net
つまみ食いじゃなくて1回体系立ててJavaの言語とランタイムについて学習したい
かといって入門書は内容薄すぎるし仕様書は学習用途には向いていない
.NETだったらCLR via C#っていうちょうど良い入門書があるけどJavaにはそういう本がないんだよなぁ

218 :デフォルトの名無しさん:2016/12/23(金) 17:49:05.84 ID:+GvYWIaJ.net
Javaはとっくに枯れてるだろ、何を今さら気取ってんだ

219 :デフォルトの名無しさん:2016/12/23(金) 20:22:55.29 ID:XukPDCTp.net
>>217
あなたはたぶん、求めてるものが入門レベルじゃないのよ

220 :デフォルトの名無しさん:2016/12/23(金) 21:35:55.44 ID:XukPDCTp.net
入門書だと「スッキリわかるJava入門、実践」、「明解Java入門編」この二つは絶対入るな
あとは「やさしいJava」、「わかりやすいJava入門編」、「10日でおぼえるJava入門教室」とかかな?
それかプログラミング言語Java第5版は微妙なところ

221 :デフォルトの名無しさん:2016/12/23(金) 21:38:48.47 ID:glBoI9Kn.net
即戦力にならないといけない人のためのJava入門

222 :デフォルトの名無しさん:2016/12/23(金) 23:12:36.58 ID:jiSEHcxr.net
>>217-219
Javaじゃないけど、

Rubyのしくみ、2014
Rubyの実装系、Ruby1.9のRuby仮想マシンの本

Rubyの、まつもとゆきひろも、実装系の本を出している

GCとか、何十年も開発しているから、説明しだしたら切りがない

223 :デフォルトの名無しさん:2016/12/24(土) 11:13:40.72 ID:stdiDx7/.net
あえてJavaでゲーム作る意味あるのかな?
AndroidならともかくJavaでやる意味がわからん

224 :デフォルトの名無しさん:2016/12/24(土) 12:57:47.25 ID:ds+xACEU.net
ゲームの開発環境なんてハードの数だけあるようなもんだし、確かにJavaにこだわるひつようはないな

225 :デフォルトの名無しさん:2016/12/24(土) 14:29:05.01 ID:di+rXJ0g.net
Java でやれる範囲のことなら Java でやるのが一番ラク

226 :デフォルトの名無しさん:2016/12/24(土) 14:32:58.07 ID:Cy8/M2+w.net
もうスマホゲームが主流だし、日本でゲーム作りやりたいならiOS対応型が一番だと思うわ
Androidもcocosとかのフレームワークを使った方が作成楽そうだし
Javaは基礎学習くらいしか使わないか

227 :デフォルトの名無しさん:2016/12/25(日) 04:07:04.15 ID:K1gw96jJ.net
>   ◢░   ▄▅                      ▅▄  ░◣
>   ▐░::  ▀                         ▀  ::░▍
>  ▐░::       ▄▅▄    ▂      ▂    ▄▅▄      :::░▍
>   ▌░:: ::     ▀█▋   ▐::    ▄  ▀▄  ▀█▋     :: :::░▌
>  ▐▓░░::            ▋:::  ▅▀ ::░▋         ::::░▓▌
>   ▐▓▓░░:::: ::        ▊░:::▊ ▊:::░▊        :: ::::░▓▋
>    ▀█▓▓░░:::: ::       ▀▀  ▀▀        :::░▓█▀

228 :デフォルトの名無しさん:2016/12/26(月) 00:53:48.12 ID:WJ4z8cmF.net
OCJPの銅やってる初心者ですが
クラスとオブジェクトはなんとかできそうですが
継承とポリモフィズムになるとつらい

解説見ても
呼び出しやら参照の矢印が多すぎて理解するのめんどい!

229 :デフォルトの名無しさん:2016/12/26(月) 16:33:18.38 ID:WC6j1Rph.net
Bluetooth LEの通信がしたい

Bluetooth LEを使用するには位置情報のパーミッションが必要

6.0だとパーミッションをユーザーがオンしないといけない

パーミッションが必要な理由を表示してからじゃないと、ダイアログが表示されない

やってみたけど、ダイアログが表示されない ←いまここ
(設定が残ってるかもしれないので、アンインスコしてみても変わらず)

何がわからないのかもわからないし、
どこまで位置情報の設定しなきゃいけないのかもわからねぇ・・・

230 :デフォルトの名無しさん:2016/12/27(火) 01:35:47.03 ID:hoUI5D4l.net
Androidスレできけハゲ
どうせtatgetSDKを23にしていない

231 :229:2016/12/27(火) 10:23:04.03 ID:GCvEnSFY.net
targetSDKは23ですがダメでした
Androidスレに行ってきますね

232 :デフォルトの名無しさん:2016/12/29(木) 01:49:57.94 ID:vr4Mknp8.net
スッキリJavaは、実践編まで理解しないと仕事で通用しませんか?

233 :デフォルトの名無しさん:2016/12/29(木) 12:10:50.75 ID:Q1+Iavrc.net
シャバ

234 :デフォルトの名無しさん:2016/12/29(木) 13:19:21.56 ID:PQG2Dd5Q.net
シャバ僧がっ

235 :デフォルトの名無しさん:2016/12/29(木) 17:27:37.79 ID:Vo1LVtwE.net
>232
理解してもお仕事には通用しないから安心しろ。

236 :232:2016/12/29(木) 18:14:55.91 ID:vr4Mknp8.net
>>235
じゃあどうなら通用するんですか?

237 :デフォルトの名無しさん:2016/12/29(木) 18:35:14.31 ID:GsIC9rdZ.net
モノができなきゃ話にならんやろ

238 :デフォルトの名無しさん:2016/12/29(木) 20:05:48.78 ID:Ar/+LSmG.net
なんでもいいから自分でひとつアプリケーション開発してみたら?

239 :236:2016/12/30(金) 01:12:09.60 ID:b0V6KfZO.net
>>237>>238
なるほど。分かりました。
ありがとうございました。

いや待って下さい、知識的に必要なのかどうかを知りたかったんですが…。ラムダ式とかを。他には各種APIやツールとか。

240 :デフォルトの名無しさん:2016/12/30(金) 10:49:47.03 ID:IAKfUkSD.net
>>239
知ってれば知っているほど楽になる可能性は高まる。

まあしかしこれはなんでも同じことだよな。道具を沢山持ってるやつの方が持ってないやつよりも楽に簡単に仕事を終わらせる可能性がある。
但し持ってるだけで適切に使いこなせないやつはやっぱりダメだがな。

そういや詰め込み教育やりすぎたせいか知らんが知識さえ沢山記憶していればなんとかなるかのような錯覚ってあるよね。
道具さえ沢山持ってれば何とかなると思い込んでるのと同じだな。更にヲタはヲタ同士で道具自慢をやっている。

241 :デフォルトの名無しさん:2016/12/30(金) 11:17:46.98 ID:ymKNG2iV.net
持ってることによる安心感だろな
迷惑かけてるわけじゃなければ本人がよければどうでもよくね

242 :デフォルトの名無しさん:2016/12/30(金) 11:42:59.85 ID:IAKfUkSD.net
ま、そうだな。

こんなに持ってるのになんでうまく行かないんだろうとか思うことになるかも知れないが。
(馬鹿だと更にうまく行かないのは世の中が悪いせいとか思ってしまうかもなあ・・・)

243 :デフォルトの名無しさん:2016/12/30(金) 12:00:12.82 ID:ymKNG2iV.net
宝の持ち腐れとか分不相応って言いたいのか
にしても何があったw
敵意剥き出しだぞw

244 :デフォルトの名無しさん:2016/12/30(金) 12:04:09.37 ID:zRXiBWIE.net
詰め込みも嫌いじゃない
アルゴリズム覚えるの楽しい

245 :デフォルトの名無しさん:2016/12/30(金) 15:11:44.13 ID:NIWDNqpS.net
必要になってからじゃ間に合わないから広く浅く勉強しておくのがいい

246 :デフォルトの名無しさん:2016/12/30(金) 21:54:06.87 ID:a+Fs1I4H.net
兼ね合いが難しいよな。
下手すると一生溜め込むだけで使わずに寿命を迎えるかも知れない。
金と同じだな。

247 :デフォルトの名無しさん:2016/12/30(金) 21:56:26.95 ID:a+Fs1I4H.net
コンビューター関係の場合は自分の寿命が来なくても流行りが変わって行っちゃうってのがあるな。
ずーっと勉強を続けて完璧に覚えた頃に業界では違うのが流行ってるとかな。

248 :デフォルトの名無しさん:2016/12/30(金) 23:55:01.32 ID:AE3qYxRw.net
>>232
スッキリJavaの実践編を読んでいないと、テストで困る

>>239
func(型: obj){ }

普通は、引数の場所で、事前に型が決まっているけど、
いきなり引数の場所で、無名(匿名)クラス・無名(匿名)関数・ラムダ式を、
宣言して使うのも、本質的には同じ

その場限りの、書き捨てのコード。
どれで書いても、その関数1つだけを持った、クラスにコンパイルされる

Single Abstract Method interfaces (SAM Interfaces)

249 :239:2016/12/31(土) 13:09:50.79 ID:7HTz0XT8.net
レスをしてくれた方、ありがとうございました。
アンカーはつけませんが、参考にしたいと思います。

250 :デフォルトの名無しさん:2017/01/02(月) 18:58:02.30 ID:MYC95Ajh.net
継承関係にあるクラスのコンストラクタについてですが、以下の二つの文で
Sample の方は new Sub(10) でも親クラスの引数なしの Super() コンストラクタがまず呼ばれるのに対して
Y の方は new Y(5) でまず親クラスの引数無しコンストラクタである X() が呼ばれないのは何故なのでしょうか?
問題文を見たとき親クラスの引数無しコンストラクタがまず呼ばれるルールから実行結果は 11234 かと思ったのですが 1234 でわけわからんくなってます

http://i.imgur.com/i6C4PHi.png

251 :デフォルトの名無しさん:2017/01/02(月) 20:24:32.43 ID:0H4bJ89V.net
>>250
自分でsuper書いてるからだよ

(1)superが書かれてる場合はその指定で親クラスを構築する
(2)superが書かれてなければ親クラスのデフォルトコンストラクタで親クラスを構築する
(3)子クラスのコンストラクタでthis()書いてるなら親クラス構築前に先にthisを呼び出す

よって
Y(int) -> Y() -> X(int) -> X()の順で上にたどって、
1234が表示される

252 :デフォルトの名無しさん:2017/01/02(月) 21:02:36.89 ID:MYC95Ajh.net
>>251
解答ありがとうございます
それはつまり
new イコール即親クラスのデフォルトコンストラクタではなく
まず1行目が読み込まれてそこで super
が指定されていればそれが優先されるということでいいんでしょうか

253 :デフォルトの名無しさん:2017/01/08(日) 11:02:25.83 ID:QqvWSc0b.net
画像(jpg,bmp,png)を取得する方法って
getimage(getToolkit.getImage)

bufferedreadの
二つしかないですか?

C#ほど画像処理関係って充実してない感じでしょうか?

254 :デフォルトの名無しさん:2017/01/08(日) 14:32:08.72 ID:ib/y0u9/.net
>>253
なんかすごく懐かしい匂いのするメソッドだなあ

JavaのGUIは古いものから新しいものまで種類が結構ある
で、あんたはそのどれを使ってるのか、まずそこを明示しないと始まらない
AWT? JavaFX1? Swing? JavaFX2? それともSWTだったり?

次にJavaはいろんな人がいろんなライブラリを公開してて、それを自由に組み込んでアプリを作ってる
公式になければそういうライブラリを探せば見つかることも多い
例えばOpenCVとか

255 :デフォルトの名無しさん:2017/01/08(日) 19:48:57.51 ID:Z++pOviW.net
質問に質問で返すレスって答えたところで大抵ろくなレスが返ってこないんだよね。
もったいぶらずにどのパターンだとどうなるって答えればいいのに。

256 :デフォルトの名無しさん:2017/01/08(日) 19:51:21.04 ID:nyR751xv.net
そしてそのパターンじゃないとなる

257 :デフォルトの名無しさん:2017/01/09(月) 21:15:16.58 ID:bKumwacY.net
>>255
全部書くの面倒臭いじゃん。
それにそもそも教えなきゃいけない義務があるわけでもなし金がもらえるわけでもなし。
そこまでやる余裕のあるやつがたまたま見てない限りそれは実現しないだろう。

258 :デフォルトの名無しさん:2017/01/09(月) 22:39:28.21 ID:qvjxruLM.net
>>250-252
ほう、Javaに、super, this()なんて、あったのか

259 :デフォルトの名無しさん:2017/01/10(火) 18:00:43.47 ID:H0byBSxj.net
初めて3日目だけど下みたいのがよくわかんない
例えばこんなのあって
class Oya{
private int oya = 1;
public int getoya(){return oya;}}

class Ko extends Oya{
private int ko = 2;
public int getko(){return ko;}}
--------------------------------------
@class Test{       ←こっちはわかる
Ko test = new Ko();
System.out.println(test.getoya());
System.out.println(test.getko()); }

Aclass Test{
Oya test = new Ko() ←こんな感じのがよくわかんね。何したいのこれ?こうする意図がわかんね
〜〜〜〜〜〜〜 }
--------------------------------------
Ko test = new Ko()で親子両方メソッド使えるのはわかった

260 :デフォルトの名無しさん:2017/01/10(火) 18:03:32.75 ID:H0byBSxj.net
thisとsuper付け忘れたけどいいや

261 :デフォルトの名無しさん:2017/01/10(火) 18:13:11.10 ID:qWsrbX92.net
>>259
たぶんポリモーフィズムで検索したら解決する。

262 :デフォルトの名無しさん:2017/01/10(火) 18:38:00.98 ID:vk75pKyk.net
>>259
継承って抽象化を表現する手段なんだよ
例えば下校の時間になったから帰れって放送する時に田中帰れ鈴木帰れって言わずに「生徒」は帰れって言うじゃない?
始業式とかなら生徒どころか教職員まで含めて「全員」起立とかさ

物事はできる限り抽象的な言い方したいから、それができるところはそうするんだよ
田中を田中クラスでは無く生徒クラスでインスタンス化してみたり、全員クラスでインスタンス化してみたりってな
必要な場所で必要な分があればいいって考え方だよ

263 :デフォルトの名無しさん:2017/01/10(火) 18:55:16.84 ID:H0byBSxj.net
2人ともありがとう
一応調べてもみて納得すた

264 :デフォルトの名無しさん:2017/01/10(火) 19:53:38.55 ID:kYPtijju.net
初めて三日でそこまでいけるものなのか…

265 :デフォルトの名無しさん:2017/01/10(火) 21:00:38.95 ID:4cO17mre.net
>>262
おまえ説明うまいな

266 :デフォルトの名無しさん:2017/01/11(水) 02:54:37.40 ID:s2WqCPuy.net
初めて3日目で、もうポリモーフィズムをやってるの?

「スッキリわかる Java入門」でも使っているのかな?

267 :デフォルトの名無しさん:2017/01/11(水) 07:52:35.57 ID:H8qDNa/I.net
つかってもそんな早くいかないんだけど
一日一時間で勉強でそこまでで二週間くらいかかったんだけど

268 :デフォルトの名無しさん:2017/01/11(水) 09:06:36.37 ID:4WkdBLi1.net
1日5時間なら3日やな

269 :デフォルトの名無しさん:2017/01/11(水) 09:39:25.83 ID:Knkf8nBH.net
学生で時間余ってて朝から晩まで本読んだりPC使ったりできて、尚且つ他のプログラミング言語を知っているのであればかなり早く進むのではないか?
どの程度のめり込むことが出来るかで違いが出るかも知れないが。

270 :デフォルトの名無しさん:2017/01/11(水) 15:45:31.92 ID:fGAzlxSa.net
java swingでの質問です
for文で同じ名前のボタン(bt)を複数取り付けました。
このボタン全てを削除する方法を教えてください

271 :デフォルトの名無しさん:2017/01/11(水) 17:04:24.47 ID:4WkdBLi1.net
Component[] cmps = jPanel.getComponents();
for(Component c : cmps) {
if(c instanseof JButton && "hogebtn".equals(c.getName()) { jPanel.remove(c);}
}

割とテキトー
動的にやるなら再描画忘れずに

272 :デフォルトの名無しさん:2017/01/12(木) 20:26:47.14 ID:wTRJIMgP.net
こんにちわ
半日ほどウェブサイトを調べてJavaの文法はマスターしたのですがどのIDEを採用するか迷っています
以下の条件を満たすIDEは有りますか?
各項目についてVisual Studio 2013程度の快適さがあれば合格とします

無料
動作が軽快
インテリセンスが強力
複数のプロジェクトを効率的に管理できる
リファクタリングツールが充実している
Webサイトの開発とデバッグがIDEのみで可能(ASP.NET MVCのように)
ダークカラーテーマが容易に手に入る

273 :デフォルトの名無しさん:2017/01/12(木) 21:28:30.83 ID:zDBUW6ua.net
全部重いです

274 :デフォルトの名無しさん:2017/01/12(木) 21:40:28.42 ID:NpeD6tx0.net
速いPCを使えば速い

275 :デフォルトの名無しさん:2017/01/12(木) 21:48:44.30 ID:wTRJIMgP.net
そうですか
では軽快な動作は妥協しましょう
他の項目を満たすIDEは有りますか?

276 :デフォルトの名無しさん:2017/01/12(木) 23:52:35.43 ID:GM2ZoXN9.net
>>272
IntelliJ IDEA
JavaやるならCommunity editionで事足りる
リファクタリングが強力でオススメ
デフォでダークカラーあるし
Webサイトの開発(html, css, js等)は有償版じゃ無いとプラグインが入らないけど30日間は無償なので試してみては?
3年以上使ってるけどこれ以外考えられない

277 :デフォルトの名無しさん:2017/01/13(金) 00:33:08.63 ID:BSPaqj0t.net
半日でjavaマスターできる位の検索力があんなら
どの開発環境がどんなものかなんてすぐ調べられるんじゃないの?

278 :デフォルトの名無しさん:2017/01/13(金) 01:03:32.29 ID:FzdcxCy/.net
DBでデータが削除され場合にログみたいなのは残せないだろうか?
2017/01/13 10:15:32 データ01 削除
こんな感じで

279 :デフォルトの名無しさん:2017/01/13(金) 01:10:33.84 ID:RuQPl+Bv.net
>>277
検索力はいらないだろ
オラクルのサイトで開発者ドキュメント読むだけ

280 :デフォルトの名無しさん:2017/01/13(金) 01:12:26.47 ID:RuQPl+Bv.net
>>278
トリガー
ログ出力アスペクト
イベントソーシング

好きなのを選べ

281 :デフォルトの名無しさん:2017/01/13(金) 02:28:16.02 ID:ztjdkA7O.net
1. class One {
2. public One foo() { return this; }
3. }
4.class Two extends One {
5. public One foo() { return this; }
6.}
7.class Three extends Two {
8. //ここに挿入するのに有効なコードは?
9.}
解答.public Two foo() { return this; }

という問題、オーバーライドの戻り値に関する戻り値の方とそのサブクラス、というのを問う問題だと思うのですが何の前提もなくいきなり One Two Three が戻り値に指定されてるのに戸惑いました
インスタンス変数を戻り値に指定する時 new せずとも戻り値に指定できるのですか?
このコードが何も出力しない意図のわからんコードなところが余計に混乱させて腹立ちます

282 :デフォルトの名無しさん:2017/01/13(金) 03:05:04.69 ID:/KDgXWHa.net
>>281
問題作ったやつがアホなのではないかなあ?

283 :デフォルトの名無しさん:2017/01/13(金) 11:14:44.54 ID:jduiusCj.net
>>281
そこだとOneもTwoもThreeも、Objectすら戻り値としてはアリだよねw

thisを返せるか返せないかなら、thisはThreeクラスのインスタンスになるから当然返せる、ただしあまり返すことはない
なぜなら戻り値のインスタンスをそのまま返した場合、その内容を変更するとthisの内容も変更されるから
やるならimplements Cloneableしてclone()書くかコピーコンストラクタ作るかして、その結果を返す

284 :デフォルトの名無しさん:2017/01/13(金) 11:26:13.05 ID:Z31HhTHu.net
>>283
Oneでの戻り値の型がOneだからObjectでは戻せないんじゃね?

285 :デフォルトの名無しさん:2017/01/13(金) 12:42:32.30 ID:jduiusCj.net
>>284
ごめん、戻り値を受ける変数のクラスとごっちゃになってた

改めて

Two#foo()はOne#foo()をオーバライドしてる
Three#foo()がTwo#foo()をオーバライドするなら、シグニチャは<T extends One> T foo()じゃないとダメ( covariant type return ) since jdk1.5

よって、Three#foo()の戻り値はOne, Two, ThreeのいずれでもOK
Objectはダメ

286 :デフォルトの名無しさん:2017/01/13(金) 12:57:20.58 ID:Z31HhTHu.net
5行目 public Two foo() { return this; }
8行目(解答) public Three foo() { return this; }
にしたいw

287 :デフォルトの名無しさん:2017/01/13(金) 18:02:36.10 ID:nYBA/kaI.net
教えてください。
oracleとdoma2で開発しています。
DomaGenで作ったエンティティについてoracleのdate型がLocalDateで作成されるのですがこれをLocalDateTimeで作成したいです
方法がわかりません。
どなたか方法を教えていただけないでしょうか

288 :デフォルトの名無しさん:2017/01/14(土) 11:26:27.15 ID:iRW+bf6h.net
>>280
返信遅くなりました。
トリガーというのが良さそうなので使ってみます。
ありがとうございました。

289 :デフォルトの名無しさん:2017/01/15(日) 19:02:20.39 ID:8iAz5vwq.net
おそらくC++であろうと思われるプログラムをJavaのプログラムに書き換えたいです
↓のURLに書かれているものです
http://www.hiramine.com/programming/graphics/2d_segmentintersection.html

上のURLでVector2Dという型が出てきているのですが,Javaで書く場合はどのように書けば良いですか?

290 :デフォルトの名無しさん:2017/01/16(月) 08:56:09.45 ID:923uXJF9.net
サンプルプロジェクトの中にでもそのクラスが定義されたヘッダーファイルがあると思うからそれ見てから質問して。

291 :デフォルトの名無しさん:2017/01/17(火) 07:22:00.76 ID:RxRJdqoz.net
APIって暗記するもの?数が膨大すぎて覚えるのは不可能なんだが…

292 :デフォルトの名無しさん:2017/01/17(火) 07:51:15.32 ID:8cGQupgI.net
>>291
今はIDE使った開発で、その場で補完とかJavadoc見たりできるから詳細を覚える必要はない
でも何があるのかは知っている必要がある

jdkのAPI眺めて各パッケージにどんなクラスがあるのかレベルでは覚えておくと捗る
例えば数学がらみの処理する時に、java.lang.Mathがあることを知ってれば中身漁ってみたりできるでしょ?
知らなければ気がつきようがないからさ

293 :デフォルトの名無しさん:2017/01/17(火) 17:14:10.03 ID:Ydc1KZm4.net
>>291
使ってるうちに自然と覚えるけど、基本のパッケージは覚えておいた方がいいと思いますよ

java.io
java.lang
java.math
java.net
java.nio
java.text
java.time
java.util

自分が思う基本パッケージ書いてみたけど多いですね、、、

294 :デフォルトの名無しさん:2017/01/17(火) 21:52:01.13 ID:Mqym+d2l.net
>>291
調べながら使って体で覚える。
何度か調べながらやっていれば特に覚えようとしてなくても脳が勝手に覚える。
脳は処理を最適化して楽にしようとするからな。運動続けて筋肉つくのと同じ。
やればやるほど楽になる。

まあでも最初の内は逆引き辞典みたいなのがあった方がいいかも知れない。
またはそういう情報を探してググるか。

295 :デフォルトの名無しさん:2017/01/18(水) 21:04:47.69 ID:o2V4sqZs.net
スッキリわかるJava入門 第2版 第7刷で間違えらしき箇所を見つけたんだけど
「お詫びと訂正」(http://book.impress.co.jp/books/1113101090 )を確認したけど書いてなかったから
俺と本どっちが正しくてどっちが間違ってるのか教えて

540ページ 図14-3のgetTime()とsetTime()について、
[誤]
Date型→getTime()→Calendar
Date型←setTime()←Calendar
[正]
Date型→setTime()→Calendar
Date型←getTime()←Calendar

296 :デフォルトの名無しさん:2017/01/19(木) 05:25:47.45 ID:WDgxZeys.net
「java calendar date 変換」で検索!

Calendar → Date

Calendar cal = Calendar.getInstance();
Date date = cal.getTime();

Date → Calendar

Date date = new Date();
Calendar cal = Calendar.getInstance();
cal.setTime(date);

297 :デフォルトの名無しさん:2017/01/19(木) 16:45:42.72 ID:b/1fbjQn.net
今日Javaをアップデートしてから動かなくなりました
WINDOWS7 IE11 32bit
Javaは一度全てアンインストール後32と64をインストール
コントロールパネル、インタネットオプションで有効を確認

Java Plug-in 11.121.2.13 x86
使用中のJREのバージョン 1.8.0_121-b13 Java HotSpot(TM) Client VM

Exception in thread "Thread-21" java.lang.NoClassDefFoundError: Could not initialize class com.sun.deploy.net.protocol.https.Handler$Initializer
at com.sun.deploy.net.protocol.https.Handler.openConnection(Unknown Source)
at java.net.URL.openConnection(Unknown Source)
at com.sun.deploy.util.SecurityBaseline.checkForUpdate(Unknown Source)
at com.sun.deploy.util.SecurityBaseline.access$100(Unknown Source)
at com.sun.deploy.util.SecurityBaseline$1.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

298 :デフォルトの名無しさん:2017/01/22(日) 03:01:00.51 ID:FPab7ivU.net
ServletとかJSPのフォルダ構成とか作成されるファイルの意味とかよく分かってないんですけど、そこら辺の概要や基礎が学べる書籍とかありますか??

299 :デフォルトの名無しさん:2017/01/22(日) 05:57:12.72 ID:0pQZJFf+.net
>>298
身も蓋もない言い方すると、どっちも埃かぶった古臭い技術だから新しく学ぶ必要はないよ
今新しくシステム作るならSpringBootが70〜80%、JavaEEが10%、残りは各ベンダの俺俺F/Wって感じ
フロントはHTML5+Javascriptが優勢で、あえてJavaでやるならThymeleafみたいなテンプレートエンジンか、100歩譲ってJSF

300 :デフォルトの名無しさん:2017/01/22(日) 14:30:19.46 ID:FPab7ivU.net
>>299
レスありがとうございます
そーなんですか!
Springで作る需要が高いんですね〜
新しい技術の勉強に取り組みます!

301 :デフォルトの名無しさん:2017/01/22(日) 15:46:24.23 ID:mco4N0ih.net
保守要員には選ぶ権利はありません
過去に使われたフレームワークは全て学習範囲です
最新のフレームワークを追いかけるだけでいい気楽な連中が羨ましい

302 :デフォルトの名無しさん:2017/01/22(日) 17:15:04.26 ID:PX74JwNe.net
>>300


303 :デフォルトの名無しさん:2017/01/22(日) 17:57:02.93 ID:0pQZJFf+.net
>>301
保守なら1,2ヶ月で異動とか少ないだろうし、触ること決まってから勉強しても遅くないと思う
うちもJava1.4ベースでServlet+JSPの上に変な皮被せた俺俺F/Wのシステムの保守とかしてるから辛さはよくわかる

304 :デフォルトの名無しさん:2017/01/23(月) 13:26:06.24 ID:Z+1qxvba.net
スッキリわかる サーブレット&JSP入門、2014

「スッキリわかる Java入門」のシリーズ本

305 :デフォルトの名無しさん:2017/01/23(月) 21:04:56.54 ID:m0mIzhZ6.net
swingの勉強しようと本買ったんですが
JAVAFXが主流になって使えなくなると聞いたのですがほんとうですか

306 :デフォルトの名無しさん:2017/01/23(月) 21:24:10.05 ID:yIy7inXe.net
さあ?

307 :デフォルトの名無しさん:2017/01/23(月) 22:31:11.71 ID:sRb5Eclr.net
サーブレットやJSPを勉強せずにそのラッパーに当たる(?)Springとかのフレームワーク勉強するのってアリなんですか?

308 :デフォルトの名無しさん:2017/01/24(火) 01:54:30.43 ID:ZOWDUL9E.net
JDKをダウンロードし、なんとかウィザードもやったのですが、使い方が分かりません。
アプリのところにJDKの項目があって、クリックするとOracleなんとかが起動してしまい、その先が分かりません。

309 :デフォルトの名無しさん:2017/01/24(火) 03:20:05.77 ID:/NqJm4Z9.net
>>308
入門書見るとかネットで検索するとかすればインストール後どうすると使えるかはわかると思うがなあ。

310 :デフォルトの名無しさん:2017/01/24(火) 12:47:25.61 ID:4S1Y2ldw.net
>>307
掌田 津耶乃の、Spring の本を、チラッと見たけど、

「スッキリわかる サーブレット&JSP入門、2014」
を読んでいないと、とうてい理解できないのでは?

Springが、Servlet/JSPと関係ないのなら、読まなくてもいいかも知れないが

ただ、スッキリ本は、初心者がMVCフレームワークの基礎を理解するのには、うってつけ

311 :308:2017/01/24(火) 17:46:23.47 ID:ZOWDUL9E.net
>>309
ありがとうございます。

代わりにエクリプスをダウンロードして、ハローワールドを実行してみました。これはすげえ!

312 :デフォルトの名無しさん:2017/01/24(火) 19:26:37.57 ID:AGwZCRnY.net
>>307
用意された環境でアプリを作る側(使い方とか指示される側)なら不要
メンバーが開発するための環境を用意する側なら必須
SpringやっててHttpServletクラスとか普通見ることないだろ?

313 :デフォルトの名無しさん:2017/01/24(火) 19:51:02.16 ID:M9RULdZO.net
>>307
Springって実はもう古いんだよな。
知名度があるからといって、あまり特定のフレームワークにかかわってもあまり得策ではない。

314 :デフォルトの名無しさん:2017/01/24(火) 19:53:02.38 ID:M9RULdZO.net
Javaで簡単フレームワークなんかでWebやり始めると基本的なことが分からなくて遠回りの勉強になる。

315 :デフォルトの名無しさん:2017/01/24(火) 21:55:04.41 ID:4S1Y2ldw.net
Javaは面倒くさいから、Groovy で、Grails はどう?

316 :デフォルトの名無しさん:2017/01/27(金) 02:40:07.17 ID:5itna7kB.net
>>315
Javaが分かっていて使うならいいが、分からなくて使うのは、勉強にならない。

317 :デフォルトの名無しさん:2017/01/27(金) 06:31:04.21 ID:BYoFeoKI.net
すっきり三冊終えて effective java
を読み始めましたがなんとなくしかわかりません
こんなもんなんでしょうか

318 :デフォルトの名無しさん:2017/01/27(金) 09:56:29.80 ID:OyNG3kjU.net
分からないところは自分がわかるまで調べれ
中途半端な飲み方したって意味がない

319 :デフォルトの名無しさん:2017/01/27(金) 20:19:10.07 ID:SOi9h9fX.net
Rubyでも、「入門書・Effective本・MVC」という順番が、プロへの近道

1. たのしいRuby 第5版、2016
2. Effective Ruby、2015
3. 改訂3版 基礎 Ruby on Rails、黒田努・佐藤和人、2015

Javaでも、「スッキリ3冊・Effective本」で、同じ条件を満たしている

どの言語でもたいてい、この組み合わせで、プロへの近道となる

320 :デフォルトの名無しさん:2017/01/27(金) 20:50:54.52 ID:CkSOw1AK.net
入門書3,4冊でプロって面白いなw

321 :デフォルトの名無しさん:2017/01/27(金) 21:11:18.26 ID:b652TpZ7.net
新入りさんが来てくれるのはありがたいことですよほんと
本1冊読んだだけでも経験者として現場に突っ込まれる素敵な業種ですからw
4冊も読んで来てもらえるなんて万々歳ですわ

322 :デフォルトの名無しさん:2017/01/27(金) 23:24:37.21 ID:GgqBCipF.net
金もらってるいじょうはプロだよ
という定義なら3、4冊どころかど素人でもプロを名乗れる

323 :デフォルトの名無しさん:2017/01/28(土) 11:55:46.05 ID:XTYrv6bd.net
androidで自分用のアプリ作ろうと思っています
javaからどう進めば良いのでしょうか

324 :デフォルトの名無しさん:2017/01/28(土) 11:58:47.13 ID:3PGKvxEg.net
とりあえずAndroidStudioのサンプル眺める

325 :デフォルトの名無しさん:2017/01/28(土) 12:00:27.27 ID:XTYrv6bd.net
見たんだけどhallo,worldでさえ
何処でどう処理してるのかわかりません

326 :デフォルトの名無しさん:2017/01/28(土) 12:02:04.23 ID:XTYrv6bd.net
helloでした

327 :デフォルトの名無しさん:2017/01/28(土) 12:04:27.94 ID:w0sK8CO4.net
>>320
だいたい日本の場合、本を書いている人間はプロではないからな。

328 :デフォルトの名無しさん:2017/01/28(土) 12:05:53.34 ID:w0sK8CO4.net
>>326
JavaはどこでどうしているのかをVMに任せているんだが?

329 :デフォルトの名無しさん:2017/01/28(土) 13:49:10.19 ID:h06HYXgX.net
>>325
入門書とか見てもわからんか?
Java そのものについてまだよくわかってないとか?

330 :デフォルトの名無しさん:2017/01/28(土) 18:04:40.24 ID:+J0gwU1o.net
>>323
入門書買ったら?
xmlに強そうな奴とJavaに強そうな入門書の二種類は最低限必須

331 :デフォルトの名無しさん:2017/01/28(土) 22:24:51.33 ID:f/zl73Gk.net
Android は、ほとんどJavaには関係ない

Activity, Fragment など、フレームワークの使い方が、ほとんど

332 :デフォルトの名無しさん:2017/01/29(日) 02:43:58.62 ID:3zBgArwD.net
>>331
はあ?

333 :デフォルトの名無しさん:2017/01/29(日) 04:18:24.88 ID:rsH3Xa8g.net
しかしJavaの文法分からずには組めない

334 :デフォルトの名無しさん:2017/01/29(日) 08:24:19.93 ID:K6p9YMEk.net
>>331
JavaにはAndroidは関係無い
AndroidにはJavaは関係有る

335 :デフォルトの名無しさん:2017/01/29(日) 08:44:12.79 ID:5qe8Dt66.net
enum Option { YES{ @Override void hoge()}, NO{ @Override void hoge()} abstract void hoge()}

enum の中身って定義時に書かなければならない?変数定義場所が長くなるから別のところで書きたい。

336 :デフォルトの名無しさん:2017/01/29(日) 09:03:14.19 ID:FhMLlKvW.net
>>335
たとえばこんなん?

enum Option
{
YES(Option::yes), NO(Option::no);

final Runnable hoge;
Option(Runnable hoge) { this.hoge = hoge; }

void hoge() { hoge.run(); }
static void yes() { System.out.println("yes"); }
static void no() { System.out.println("no"); }
}

337 :デフォルトの名無しさん:2017/01/29(日) 11:13:15.84 ID:5qe8Dt66.net
ごめんなさい。
YES{ @Override void hoge()}, NO{ @Override void hoge()} abstract void hoge()
をここで書かなければならないのかなっと思って。

338 :デフォルトの名無しさん:2017/01/29(日) 13:18:51.04 ID:0hUp9ZXX.net
javaを一から勉強しようと思ってます
http://manga.crocro.com/?cat=java&pg=index

このサイトを見つけたのですが、開発環境の準備のPATHがどうのこうのってとこで早速躓きました
わけわかりません
どういうことでしょう?何かに例えて説明してください

ケチらず、スッキリわかるjava入門の本買って勉強した方がいいですか?

339 :デフォルトの名無しさん:2017/01/29(日) 13:22:23.48 ID:45Cmo05x.net
>>338
俺もそこで一時間かかったw
入門の本関係ないやろ
jdkダウンロードしてpathになんか打ち込むだけやし

340 :デフォルトの名無しさん:2017/01/29(日) 13:54:12.14 ID:M0HgmB1M.net
Javaってそういうところ気が利かないよね
そりゃC#が流行るわけだよ

341 :デフォルトの名無しさん:2017/01/29(日) 14:34:08.43 ID:3zBgArwD.net
>>340
Windowsがメインでないからな。

342 :デフォルトの名無しさん:2017/01/30(月) 02:09:25.61 ID:GJd+iQM1.net
ID記念

343 :デフォルトの名無しさん:2017/01/30(月) 02:22:04.35 ID:yRQvcr4D.net
>>338
PATH というのはコマンド実行時にディレクトリが指定されずにコマンド名のみで実行しろとOSに
要求した時に OS がコマンドを探す時に見るディレクトリが(普通は複数)入っている環境変数だ。
Windows の場合はドライブ名もディレクトリに含まれる。尚、Windows ではディレクトリの事を
フォルダと呼んでいたりもする。

ここまでわかったか?

もしこれがわからないとするとOSそのものが分かっていないことになるので、まずはそこから
知る必要がある。全てを知る必要はないが Windows ならドライブ、ディレクトリ(またはフォルダ)
の下にファイルが入っていることは最低でも分かっていないとダメ。

344 :デフォルトの名無しさん:2017/01/30(月) 03:20:52.62 ID:Fqv0cswM.net
PowerShell_ise を起動して、このコマンドを打ってみ。
環境変数PATHは、; で区切られている。
$env:Path.split(";")

例えばコマンド、java, javac を打った際、この環境変数PATHに書かれた順番で、
そのコマンドのある場所を探す

「java path 環境変数」で検索して

環境変数PATHを修正する際、失敗すると取り返しがつかないので、
PowerShell_ise で、$env:Path
とコマンドして、その内容をファイルへ保存してから、修正すること

cd コマンドで、自分の作業フォルダへ移動してから、
$env:Path > PATH.txt
で、PATH.txt ファイルへ保存できる

本当は、環境変数PATHも知らないような初心者には、環境構築は難しいから、
paiza.IO, codepad などのサイトで、ブラウザからプログラミングする方がいい

素人が、PCのシステムをいじるのは、危険だから。
くれぐれも、システムのスナップショットを撮ってから、やること

345 :デフォルトの名無しさん:2017/02/03(金) 00:13:15.33 ID:d3z1jBJD.net
javaの練習でたぶん記述の簡略化のためかmainメソッドのあるクラスをインスタンス化する例が多いのですがその書き方としてメインメソッドの前に操作メソッドを書いてる場合が多くてふと疑問に思っていろいろ試したのですが、
javaはルールとしてメインメソッド以下のメソッドをインスタンス化して呼び出すことはできない、
で合ってますか?

346 :デフォルトの名無しさん:2017/02/03(金) 00:32:47.16 ID:b6qlaQft.net
違います

347 :デフォルトの名無しさん:2017/02/03(金) 00:48:51.33 ID:d3z1jBJD.net
ありがとうございます
おかげでわかりました!

348 :デフォルトの名無しさん:2017/02/03(金) 10:38:53.34 ID:6x0frzzn.net
ポスグレのbytea型にデータ登録しようとして。
ネットで記載されてる方法で行って、setByteでステートメントにセットして実行したところ、「型はbyteaだけど、引数はintegerだよ」って怒られました。
setByteって駄目なんですか…?

349 :デフォルトの名無しさん:2017/02/03(金) 13:26:26.41 ID:FWA8s7+/.net
>>348
x setByte()
o setBytes()

350 :デフォルトの名無しさん:2017/02/03(金) 19:11:37.21 ID:YW7OtrLy.net
>>348
データ型を指定する引数が間違ってるんだろ。

351 :デフォルトの名無しさん:2017/02/03(金) 19:18:23.28 ID:YW7OtrLy.net
よく知らないけど、データ型を指定しないとデフォルトがIntgerを指定したことになるとかじゃないの?

352 :デフォルトの名無しさん:2017/02/04(土) 06:19:55.67 ID:GANOjwoP.net
気まぐれでプログラミング始めたんだけど
今までWindowsのメモ帳に書いてたお小遣いの管理が
ソースコードに書くと自動で計算してくれてとっても便利(^-^)

353 :デフォルトの名無しさん:2017/02/04(土) 06:45:22.27 ID:1xHlAr7k.net
値型と参照型の意味がよく分かりません。
intが値型でIntegerが参照型って書かれてるんですけど、intは直接参照型、Integerが間接参照型じゃないんでしょうか?
値が格納されてるメモリーアドレスを変数で参照してる限り参照型じゃないんですか?
変数の識別子も自体でメモリー上に配置されて自身のアドレスを持ってるなら。

354 :デフォルトの名無しさん:2017/02/04(土) 09:00:36.86 ID:H8b1rHMa.net
>>352
Excelじゃあかんの?

355 :デフォルトの名無しさん:2017/02/04(土) 09:54:41.81 ID:Td3fgrDg.net
>>353
> intが値型でIntegerが参照型って書かれてるんですけど


JavaにはPrimitiveTypeとReferenceTypeしかないぞ?

356 :デフォルトの名無しさん:2017/02/04(土) 13:02:32.11 ID:4WvTcz9/.net
プリミティブ型を使わなければよいのじゃ
int score = 100;
ではなく
Score score = new Score(100);
としてしまえば悩まされることもなくなるじゃろうて

357 :デフォルトの名無しさん:2017/02/04(土) 14:04:31.54 ID:cCtqcbdk.net
メモリに割り付けずにレジスタ保持の可能性もある
参照の捉え方が広すぎるというか

358 :デフォルトの名無しさん:2017/02/04(土) 15:15:48.77 ID:ognvNw6b.net
primitiveには値しかないし、
オブジェクトではないから、その参照・インスタンスにアクセスできない

また、オブジェクトではないから、int型.method() などと、メソッドも持っていない

でも、Integer型.method() ならオブジェクトだから、便利なメソッドがたくさんある

359 :デフォルトの名無しさん:2017/02/04(土) 15:16:40.53 ID:mOO1/Mrn.net
>>353
クラスにしてないものとクラスにしたものの違い。
アドレスとよく書いてるけど、C言語経験者?

360 :デフォルトの名無しさん:2017/02/04(土) 18:49:36.25 ID:DuMBdsDy.net
>>350
でも、オラクルでblob型に同じことやるとエラー起こらないんですよね…。

361 :デフォルトの名無しさん:2017/02/04(土) 18:49:57.71 ID:DuMBdsDy.net
>>349
すいません、打ち間違いです。

362 :デフォルトの名無しさん:2017/02/04(土) 18:57:59.16 ID:5i6jjq4s.net
JDBCはインターフェースを揃えているだけでデータベースの仕様まで揃えているわけではないので
一方で妥当な操作が一方で不当になるというのはよくある

363 :デフォルトの名無しさん:2017/02/04(土) 19:41:06.69 ID:S5JhRADQ.net
現在簡単な計算機を作ってます
android studioで、エディットテキストがnullの時、エミュレーターがストップするので下記の様に書いてみましたが、やっぱり動作が止まります
色々検索して試行錯誤してみたんですがどうにも詰まって…どなたかご教示頂けませんでしょうか

int x =0;
int a = Integer.parseInt(s_1.getText().toString());
if(s_1.equals("") ){
s_1.setText(String.valueOf(x));}
int b = Integer.parseInt(s_2.getText().toString());
if(s_2.equals("")){
s_2.setText(String.valueOf(x));}

s_1.setText(String.valueOf(a));
s_2.setText(String.valueOf(b));

364 :デフォルトの名無しさん:2017/02/04(土) 20:04:48.39 ID:1xHlAr7k.net
>>363
Androidは分からないけど
if(s_1.equals("") ){
s_1.setText(String.valueOf(x));}

s_1が文字列入力フィールドなら、null参照で止まってるんじゃ?

365 :デフォルトの名無しさん:2017/02/04(土) 21:47:30.51 ID:oIJpumcQ.net
javaのpathが通らなくて往生しています。
環境変数にpath新規C:\Program Files (x86)\Java\jre1.8.0_121\bin\bin貼り付け
コマンドプロントでjavac-versionで実行してもjavaを認識していないようです。
新しいversionのjavaをインストールしなおしてみたんですが、結果おなじでした
どうかご教授おねがいします。

366 :デフォルトの名無しさん:2017/02/04(土) 21:55:54.56 ID:5tv/t5p3.net
>>365が必要なのはJREではなくJDKなのではないでしょうか?

367 :デフォルトの名無しさん:2017/02/04(土) 22:07:33.82 ID:oIJpumcQ.net
早々のご返答ありがとうございます。
JDKはeclipseをインストールしています。
javaではなくJDKにpathが通らないということでした。
なぜpathが通らにのでしょうか?
的を得ていない素人な質問でですいません。

368 :デフォルトの名無しさん:2017/02/04(土) 22:23:36.33 ID:1xHlAr7k.net
>>367
とりあえずjavac.exeがあるディレクトリをWindwosの検索機能とかで探す。仮に、
C:\pleiades\java\8\bin\javac.exe
があれば、
;C:\pleiades\java\8\bin
を追加する。

ていうか本当にbin\binならそれが問題なんじゃない?

369 :デフォルトの名無しさん:2017/02/04(土) 22:26:38.35 ID:1xHlAr7k.net
あ、;C:\pleiades\java\8\bin を追加するって言うのは、既存のpath項目の末尾に追加する場合ってこと。

370 :デフォルトの名無しさん:2017/02/04(土) 22:34:44.05 ID:ognvNw6b.net
eclipseは、どのフォルダへ持っていっても動く、ポータブル版だろ。
インストール・アンインストールもしないし、PATHなど、OSの環境変数もいじらない

「C:\Eclipse」などに置いて使って、いらなくなれば、フォルダを丸ごと削除すればいいだけ

eclipse内部に、開発ツールのすべてが入っているから、外部からアクセスしない。
eclipseを起動して、eclipse内部のコンソールから、コマンドを実行する

一方、外部のコマンドプロンプト・PowerShellなどで、コマンドを実行するものは、
eclipseの外部に、JDKを置いていて、OSの環境変数PATHもいじっているから、
インストール・アンインストールの作業も必要

371 :デフォルトの名無しさん:2017/02/04(土) 22:46:52.27 ID:oIJpumcQ.net
pathがなくてもeclipseでプログラムしても問題ない?
ゆくゆくは簡単なアプリを作りたいんですが支障ないですか?

372 :デフォルトの名無しさん:2017/02/04(土) 23:21:21.80 ID:ognvNw6b.net
JREはアプリの実行で使うけど、JDKは開発環境だから、一般ユーザーが使うことはない

Eclipse内部に、JDKがあればいいだけ

373 :デフォルトの名無しさん:2017/02/05(日) 00:03:18.49 ID:0H8uTIuD.net
ご回答ありがとうございます。
初心者ですが、何となく理解しました。

374 :デフォルトの名無しさん:2017/02/05(日) 02:43:11.47 ID:/q+taLua.net
環境変数PATHに追加して、コマンドプロンプトから、javac でコンパイルしているのは、
YouTube動画の、T Umezawa とか

彼はIDEを使わず、秀丸・メモ帳で書いて、コマンドプロンプトからコンパイルしている

T Umezawa
【Java】ゲームプログラミング超入門
メモ帳でC#超入門

375 :デフォルトの名無しさん:2017/02/05(日) 03:31:20.99 ID:J8dU6rxl.net
>>364
返信ありがとうございます
すいませんがド素人なので確認させてもらいたいです・・・
Edit textに何も入力されず(null)にボタンを押すと止まるから、ifでnullの時xを表示させる
つもりで書いたんですが、null参照で止まっちゃうんでしょう・・・

376 :デフォルトの名無しさん:2017/02/05(日) 03:58:07.63 ID:Tgw8lymJ.net
>>375
if(s_1.equals("") )
の部分、s_1はEditTextコントロールだと思うけど、それなら
if(s_1.getText().equals(""))
とかじゃないの?

if(s_1.equals(""))
だと、EditTextコントロールと空白文字列を比較してるから、常にfalseになる。

377 :デフォルトの名無しさん:2017/02/05(日) 07:47:05.81 ID:/q+taLua.net
if(s_1.equals("") )

""は空文字列、つまり文字列型だろ。
s_1 は何型なんだ?

s_1.getClass();
とやれば、どうなる?

378 :デフォルトの名無しさん:2017/02/05(日) 21:45:53.48 ID:1Zv0XByL.net
>>360
↓のソースで試したけどできたよ

//CREATE TABLE filetest (filename text, filedate bytea);
Connection conn = ;
String fileName = ;
{
File file = new File(fileName);
FileInputStream fis = new FileInputStream(file);
byte[] data = new byte[(int)file.length()];
fis.read(data);
PreparedStatement ps = conn.prepareStatement("INSERT INTO filetest VALUES (?, ?)");
ps.setString(1, file.getName());
ps.setBytes(2, data);
ps.executeUpdate();
ps.close();
fis.close();
}
{
PreparedStatement ps = conn.prepareStatement("SELECT filedate FROM filetest WHERE filename = ?");
ps.setString(1, fileName);
ResultSet rs = ps.executeQuery();
if (rs != null) {
while (rs.next()) {
byte[] imgBytes = rs.getBytes(1);
System.out.print(new String(imgBytes, "UTF-8"));
}
rs.close();
}
ps.close();
}

379 :デフォルトの名無しさん:2017/02/06(月) 09:30:55.19 ID:aBcpT7bR.net
eclipsで勉強していくよりテキストエディタで勉強していくほうがよいですか?

380 :デフォルトの名無しさん:2017/02/06(月) 09:43:29.41 ID:CJl+trtf.net
そんなわけねえだろ
手でコンパイル+実行するにしてもJava用のエディタ使った方がいいに決まってる
原始人じゃあるまいしアホらしい

381 :デフォルトの名無しさん:2017/02/06(月) 10:37:53.70 ID:tvAjBExH.net
コンパイルして実行するって流れを経験するくらいの意味で、最初のハローワールド書くくらいまではエディタ使ってみてもいいかな
それ以降はIDE使うべきだと思うわ

382 :デフォルトの名無しさん:2017/02/06(月) 12:14:31.25 ID:/3NsoaDg.net
>>380
>>381
switchの所まで勉強しててずっとテキストエディタでやってましたが
eclipsにしようと思いますありがとうございます
自動でpublic〜やら出るので便利ですが手で入力してやっていきます

383 :デフォルトの名無しさん:2017/02/06(月) 12:44:36.26 ID:opBvnKo2.net
IDEの方が言語そのものの学習効率はいいかもね。
ただ、言語そのものではないコンパイラのコマンドラインでの使い方とかはわからないので、それはそれで別途やってみた方が良いかも知れない。
まあでもそういうのは環境依存でOSによって違っていたりするのであまり力を入れる必要はない。

384 :デフォルトの名無しさん:2017/02/06(月) 12:58:24.83 ID:/3NsoaDg.net
>>383
ありがとうございます
頭にいれておきます

385 :デフォルトの名無しさん:2017/02/06(月) 18:26:20.08 ID:BCKjQHts.net
>>384
どのくらいの初心者か知らないけど、IDEだとわけもわからず動くから、変なところではまりやすい。

いろんなことを誤解しやすい。

まあいろいろやってみた方がいい。

386 :デフォルトの名無しさん:2017/02/06(月) 19:16:31.47 ID:iF7ByrAK.net
eclipseたんにMoonriseとRainbowDropsを入れてから他のエディタのカラーじゃ物足りない

387 :デフォルトの名無しさん:2017/02/06(月) 19:52:22.85 ID:RKo/6uBY.net
記号も含めたブラインドタッチも練習しなきゃと思ってコマンドラインでやってるけど学習効率はそりゃ悪いよね
APIをサジェストしてくれるだけで覚えるまでの時間が全然違いそう

388 :デフォルトの名無しさん:2017/02/06(月) 20:40:13.83 ID:BCKjQHts.net
>>387
そんなレベルでプログラマと言われたら困るわ

389 :デフォルトの名無しさん:2017/02/06(月) 20:53:37.84 ID:9nTiOAsW.net
タイプウェルオリジナルやっときゃいいよ

390 :デフォルトの名無しさん:2017/02/06(月) 21:09:37.67 ID:4FxLnD3n.net
もう世の中は音声入力の時代だよ
タイピングは田舎もんのやること

391 :デフォルトの名無しさん:2017/02/06(月) 21:23:32.58 ID:BCKjQHts.net
>>390
タイピングは職人がやるもんだよな。

392 :デフォルトの名無しさん:2017/02/06(月) 21:24:27.33 ID:wCNHH2Xq.net
>>390
#をシャープと音声入力しちゃう人が多そう

393 :デフォルトの名無しさん:2017/02/06(月) 21:44:08.10 ID:BUMs8bJK.net
>>392
ちょっと今持ってるスマホかタブレットで試してみな。

394 :デフォルトの名無しさん:2017/02/06(月) 21:44:50.92 ID:BUMs8bJK.net
なんと言えば # が入力できるのか?

395 :デフォルトの名無しさん:2017/02/06(月) 21:48:31.22 ID:yNfGtzZW.net
もうすっかりシャープで定着しちゃってるよな

396 :デフォルトの名無しさん:2017/02/06(月) 21:53:14.54 ID:cZBWmve6.net
ナンバーサインor井桁かな?

397 :デフォルトの名無しさん:2017/02/06(月) 21:55:02.24 ID:wCNHH2Xq.net
>>393
そもそも♯も#も出てこねーや
「シャープ」とか「井桁」になっちゃう

398 :デフォルトの名無しさん:2017/02/06(月) 21:59:04.93 ID:BUMs8bJK.net
numerical sign
または
hash mark
でどうか?

399 :デフォルトの名無しさん:2017/02/06(月) 22:12:29.56 ID:AzuOGzlw.net
流暢かつ明瞭な発音ができない奴は滅びる運命

慌ててる時に音声認識はやりたくない
催してるときに家の鍵が音声認識とかさぁ

400 :デフォルトの名無しさん:2017/02/06(月) 22:35:18.61 ID:hbPqVQWZ.net
#をシャープと読む某プログラム言語もあるしもうシャープでいいでしょ

401 :デフォルトの名無しさん:2017/02/06(月) 22:48:26.90 ID:BCKjQHts.net
まあ自動音声の電話だとシャープとしか言わないからシャープ以外では一般人には通じないと思うよ。

402 :デフォルトの名無しさん:2017/02/07(火) 02:42:39.12 ID:e2fTv1VF.net
T Umezawa
【Java】ゲームプログラミング超入門
メモ帳でC#超入門

YouTubeにある動画で、秀丸・メモ帳でプログラミングしている

403 :デフォルトの名無しさん:2017/02/07(火) 07:44:10.05 ID:BCt2X2XG.net
そりゃできるかできないかならできるに決まってんじゃん、アホか

404 :デフォルトの名無しさん:2017/02/07(火) 13:33:56.69 ID:dEUz0Fy2.net
>>402
言っておくけと、プロはかなり覚えていたりするからすごくもない。

405 :デフォルトの名無しさん:2017/02/07(火) 19:22:51.05 ID:lpX4EXgF.net
秀丸でコーディングとか苦行だな

406 :デフォルトの名無しさん:2017/02/07(火) 19:23:24.14 ID:qVGO9D+M.net
>>405


407 :デフォルトの名無しさん:2017/02/07(火) 20:48:12.83 ID:dfHR3pAY.net
ま、何作るかによるな。

408 :402:2017/02/08(水) 01:18:58.99 ID:6rskJv7R.net
秀丸は、エリアの矩形選択できるのがすごい!

T Umezawa の動画は、IDEだとボタンを押すだけで、
何をやっているのか視聴者には分からないから、わざとテキストエディタを使っている

この人、IDEの補完なしで、Java, C#, C++などを素早く書くから、土方っぽい。
時々、仕事で出張して、動画をアップしないし

今も「メモ帳でC#超入門」は、#24 で止まったまま

409 :デフォルトの名無しさん:2017/02/08(水) 03:27:31.42 ID:vIcqP3St.net
…矩形選択できないプログラミング向けのエディタがあるのか?

スマホATOKはクケイを変換できないと今知った

410 :デフォルトの名無しさん:2017/02/08(水) 12:09:54.90 ID:34dcUJsn.net
なんで秀丸なのか?サクラエディタの方が優秀なのに。

411 :デフォルトの名無しさん:2017/02/08(水) 12:23:54.03 ID:Ps4LtIuy.net
別にサクラエディタでも禿丸でもTeraPadでもなんでもいいよ

412 :デフォルトの名無しさん:2017/02/08(水) 12:59:42.72 ID:pT9MlPHy.net
TeraTermでsshログインしてvim

413 :デフォルトの名無しさん:2017/02/08(水) 14:01:14.11 ID:npFU/eTG.net
禿丸

414 :デフォルトの名無しさん:2017/02/08(水) 14:35:59.64 ID:Hllx0xWe.net
>>409
矩形波倶楽部

一発変換じゃねーか

415 :デフォルトの名無しさん:2017/02/08(水) 16:31:36.60 ID:pT9MlPHy.net
クケー!

416 :デフォルトの名無しさん:2017/02/08(水) 16:43:28.57 ID:A1iUPQMj.net
>>409
スマホ用ATOKはお馬鹿さんだからなあ。

417 :デフォルトの名無しさん:2017/02/08(水) 16:57:04.58 ID:alMbBKTJ.net
>>415
超原人乙

418 :デフォルトの名無しさん:2017/02/09(木) 19:17:51.94 ID:sCKFxBwd.net
とあるサイトのIDとパスワードを入れてsubmitするフォームめがけて、DefaultHttpClientでPOSTしたら正常に結果が得られるんだけど、
その後に同サイト内にあるPDFやらXLSファイルをGETで取得したら、レスポンスは欲しいファイルじゃなくて、認証なしでサイト内にアクセスした時に得られるログインページのHTMLだった!
なんで? DefaultHttpClientさんはポンコツなの?

419 :デフォルトの名無しさん:2017/02/09(木) 19:25:41.60 ID:wx5vTsR0.net
クッキーの設定をしてないならお前がポンコツ
クッキーの設定をしてるならDefaultHttpClientがポンコツ

420 :デフォルトの名無しさん:2017/02/10(金) 00:19:28.59 ID:K3BovdLP.net
HTTPは1回1回、別個のアクセスだろ。
接続・セッション・ページの前後関係など、存在しない

ページの前後関係があるように見えるのは、アクセス情報をクッキーに保存して、
いかにもセッションがあるように見せているだけ

詳しくは「セッション」で検索して

421 :デフォルトの名無しさん:2017/02/10(金) 06:08:32.30 ID:8AW3k07M.net
トークン "package" に構文エラーがあります。正しくは byte
上記エラーはなぜおきるんですか?
初心者なのでまったく理解できません。
ご教授願います。

422 :デフォルトの名無しさん:2017/02/10(金) 06:14:02.36 ID:Tfqwl1qP.net
Hero has a sword.
Hero has an apple.
Nhhhhhhhh!
Apple sword.

423 :デフォルトの名無しさん:2017/02/10(金) 06:59:49.71 ID:K3BovdLP.net
「java package 構文エラー」で検索!

424 :デフォルトの名無しさん:2017/02/10(金) 09:35:35.19 ID:WEO38j1h.net
418だけど自分がポンコツだった!
HttpClientは認証エラーはいてるのに、その結果をもってサイトを表示するとキャッシュが効いててサイトの内部が表示されていたという有り様。
キャッシュ切ったら正常にエラー画面が出たので、ログインできてないことがわかった。

425 :デフォルトの名無しさん:2017/02/10(金) 10:14:08.93 ID:+A/uz4Rk.net
atomでjavaを書こうと思ってautocomplete-java
autocomplete-java: java rt.jar not found
と表示されてしまいます
ググっても今一良く分からず

426 :デフォルトの名無しさん:2017/02/10(金) 12:59:22.29 ID:jc5ar+12.net
atomからjavaのランタイムが見えていないだけだが
俺はatomみたいなポンコツは使ってないからそれ以上はわからんな

427 :デフォルトの名無しさん:2017/02/10(金) 14:22:41.37 ID:KFJAyoRQ.net
禿はほんと一言多いんだよな

428 :デフォルトの名無しさん:2017/02/10(金) 15:07:31.07 ID:K1vg8c+z.net
>>421
ソース見せてくれないと答えようがない。
何か間違ってんじゃないの?ぐらいしか言えない。

429 :デフォルトの名無しさん:2017/02/10(金) 15:21:59.35 ID:ghZ2LJgc.net
eclipseを導入したのですが、サンプルコードとして
スッキリ分かるJava入門のcode-sjava2をダウンロードして
新規プロジェクト→ロケーションにcode-sjava2で作ったのですが
元のソースファイルにあるファイル名がMain.javaで構成されているせいか
一番最初のファイルしか実行できず困ってます

一応、プログラム一つ一つを別プロジェクトの扱いで作れば起動するのですが非常に面倒なので……

430 :デフォルトの名無しさん:2017/02/10(金) 20:37:39.91 ID:it3LCMhX.net
Javaを勉強している者です。
オブジェクト指向が終わったらあとはどんなことをやればいいでしょうか?

431 :デフォルトの名無しさん:2017/02/10(金) 21:11:17.37 ID:8AW3k07M.net
package sample;

public class Cui {

public static void main(String[] args) {
// TODO 自動生成されたメソッド・スタブ
package sample;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Cui {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(
new InputStreamReader(System.in));
System.out.println("Please input your name");
String line = reader.readLine();
System.out.println("Hello " + line + " !");
}
}

ソースはこれなんですが
初心者にもわかるよう簡単ご教授おねがいします

432 :デフォルトの名無しさん:2017/02/10(金) 21:14:13.31 ID:/+3MF15H.net
こんなの使おうとして初心者と言っていいのか…

433 :デフォルトの名無しさん:2017/02/10(金) 21:17:28.52 ID:gNAtaQGi.net
>>430
とにかくプログラムを書いて書いて書きまくる
その過程で必要な関数や知識を都度調べ、身につける
また「良いコード」とはどういうものかを日々勉強し、どうしたら自分のコードがより良くなるかを考える
一般的には「良くなる」とは「誰が読んでもわかりやすい」、「保守性、拡張性に優れる」、「テストしやすい」などがある
自分にとっての「良い」を意識しながら書いた数だけ成長できるのがプログラミング

434 :デフォルトの名無しさん:2017/02/10(金) 21:25:08.70 ID:/WxwB06L.net
>>431
すげーの書いてるなw

435 :デフォルトの名無しさん:2017/02/10(金) 21:26:56.95 ID:/WxwB06L.net
なぜか理由なく入れ子プログラムを書くのは初心者にありがち。

436 :デフォルトの名無しさん:2017/02/10(金) 21:27:47.44 ID:Z16XzvG5.net
>>431
さすがにコメント部分までの行は誤植だよな…?

437 :デフォルトの名無しさん:2017/02/10(金) 22:13:02.31 ID:+HewTgrG.net
もし誤植でないなら眼科案件だ

438 :430:2017/02/10(金) 22:38:39.53 ID:it3LCMhX.net
>>433
ありがとうございました。書いてみます。

439 :デフォルトの名無しさん:2017/02/10(金) 22:44:44.89 ID:SMBGLd0u.net
プログラミングを書きまくるというのは
例えばどんなプログラムを書きまくればいいでしょうか

440 :デフォルトの名無しさん:2017/02/10(金) 23:02:53.67 ID:+HewTgrG.net
常駐型のデスクトップアプリ書いてみて
時計表示したり音楽鳴らしたりスケジュール入れたらアラーム鳴らしてくれる感じで
設定はオートセーブオートロードで、後から機能追加し易い設計にしてね

441 :デフォルトの名無しさん:2017/02/10(金) 23:08:11.29 ID:/WxwB06L.net
>>439
自分が使うものでも作れよ

442 :デフォルトの名無しさん:2017/02/10(金) 23:16:28.10 ID:SMBGLd0u.net
ありがとうございます!!!

443 :デフォルトの名無しさん:2017/02/10(金) 23:30:20.76 ID:wRMXrong.net
プロコンの問題を解くのも練習にはなるな

444 :デフォルトの名無しさん:2017/02/10(金) 23:37:15.77 ID:K3BovdLP.net
>>425-426
参照設定すれば?
Atomの説明書に書いてない?

>>429
ファイル名を変更すれば?

>>431
BufferedReader, InputStreamReader は、ファイル入出力。
readLine は、1行読み込む

「スッキリわかる Java入門 第2版、2014」を3回読むべし

445 :デフォルトの名無しさん:2017/02/11(土) 00:08:19.38 ID:NjUW0EqN.net
>>444
失礼します。
スッキリJava入門編にはファイル入出力は載ってないです。実践編に載ってるようです。

446 :デフォルトの名無しさん:2017/02/11(土) 00:14:49.33 ID:to6MfjKn.net
http://i.imgur.com/Zuqpu8r.png
>>444
結局、一番面倒な方法で何とかしました
ファイル名変えると中身のソースも弄らないとダメみたいだったので……
まあでもこれで準備できたのでのんびり見ていきます

447 :デフォルトの名無しさん:2017/02/11(土) 08:48:30.04 ID:CPyK/Jhb.net
>>431
package が2つあるのはコピペミス?それともそのまんま?

448 :デフォルトの名無しさん:2017/02/11(土) 21:23:40.47 ID:ylC3SnGR.net
returnからのメソッドが色々出てきた所からわからなくなってきてしまった

449 :デフォルトの名無しさん:2017/02/11(土) 21:26:08.00 ID:CPyK/Jhb.net
と、言われてもねえ・・・

450 :デフォルトの名無しさん:2017/02/11(土) 21:49:04.61 ID:ylC3SnGR.net
public static void syoshin(int x, int y)

public static int syoshin( int x. int y)
の違いがわかりません...
教えて下さい

451 :デフォルトの名無しさん:2017/02/11(土) 21:59:14.96 ID:o1zrWG0U.net
戻り値があるか無いかです

452 :デフォルトの名無しさん:2017/02/11(土) 22:05:24.43 ID:ylC3SnGR.net
>>451
returnがあるないということでしたか
理解できましたありがとうございます

453 :デフォルトの名無しさん:2017/02/11(土) 22:19:16.67 ID:xwrXO9zV.net
最近10年ぶりくらいにJava使い始めたんだけど、当時との差分を知るのに良いサイトとか無いでしょうか

454 :デフォルトの名無しさん:2017/02/12(日) 15:17:03.10 ID:HzZ9QAIv.net
FileWriter filewriter = new FileWriter(file, true);

filewriter.write("はい。元気です\r\n");
filewriter.write("ではまた\r\n");

filewriter.write("\r\n");

↑サンプルソースまんまだが保存されたファイル開くと「\r\n」が文字列になっていて改行にならないんだが。

455 :デフォルトの名無しさん:2017/02/12(日) 15:35:53.92 ID:+WMAWbEC.net
>>454
その\は全角か半角か?
それとフォントの設定等の問題でバックスラッシュで表示されたり円マークで表示されたりすることがある。
これは歴史的な問題でもあるのだが、その辺は省略。

456 :デフォルトの名無しさん:2017/02/12(日) 17:43:26.71 ID:dtJVwIzd.net
>> 454
BufferedWriter bw = new BufferedWriter(new FileWriter(file, true));
bw.write("はい。元気です");
bw.newLine();
bw.write("ではまた");
bw.newLine();
bw.newLine();
bw.flush();
bw.close();

今回はエスケープが問題だけど、そもそも改行コードを直打ちは特別な理由がない限りやらない方がいい

環境の改行文字が知りたいのであれば以下
System.getProperty("line.separator")

今時File使うサンプル自体どーかと思うけど
java.nio.file.Path を使うのがオススメ

457 :デフォルトの名無しさん:2017/02/12(日) 19:17:19.72 ID:f8WAyCsr.net
>>450
後者は構文エラーだか?

458 :デフォルトの名無しさん:2017/02/13(月) 01:14:54.93 ID:RZkIpJqV.net
質問をさせて下さい。
https://ideone.com/EnECEK
上のプログラム文で変数に小数を入力された時の
対処法を考えたのですが思い付きません。
何かアドバイスをお願いします。

459 :デフォルトの名無しさん:2017/02/13(月) 01:23:44.31 ID:JP6BD0Qi.net
文字列にする

460 :デフォルトの名無しさん:2017/02/13(月) 07:53:43.35 ID:o85totTT.net
>>458
キミの思う仕様がわからない。コマンドラインは文字を渡してくるので、基本的には文字列を受け取ってチェックする。

461 :デフォルトの名無しさん:2017/02/13(月) 11:15:35.48 ID:d5gsn9R1.net
整数以外の入力は全部例外になるから、例外をキャッチするのが楽。
「RuntimeExceptionはキャッチすべきかどうか」についていろいろあるが、
今回はまあよしとする。

462 :デフォルトの名無しさん:2017/02/13(月) 12:05:04.48 ID:WGPQgA2W.net
>>461
そんなのよくねえわ。整数を指定するという前提説明もなければ、その実装はよくない。

463 :デフォルトの名無しさん:2017/02/13(月) 12:16:26.33 ID:M86uydzz.net
ソースを読まずにコメントして恥かきに行くスタイル

ideone っていつの間にこんなゴミのような画面に成り下がったんだ…

464 :デフォルトの名無しさん:2017/02/13(月) 13:12:30.40 ID:hA/D81mk.net
そもそもなんでintなのかがわからん。

465 :デフォルトの名無しさん:2017/02/13(月) 13:30:26.90 ID:2ZUeGuYJ.net
>>458
println

466 :デフォルトの名無しさん:2017/02/13(月) 14:07:05.66 ID:jdygfWh4.net
グーチョキパー

467 :デフォルトの名無しさん:2017/02/13(月) 14:23:27.93 ID:t2BfeSoq.net
配列を100個ずつに分割するコードを作ります。
forループの中で別のループを回すんですか?
完成させるとどうなりますか?

String[] bigArray =....

for (int i = 0; i < bigArray.length; i+=100) {
....
}

468 :デフォルトの名無しさん:2017/02/13(月) 14:24:41.59 ID:/gSdgVP8.net
>>458
初心者らしいな。

始めにint型と決めつけてとりあえず、int型の数値が入力されることにしている。

入力してほしいのは0、1、2のいずれかだから、int型でもこの3つ以外はパラメータチェックではずしている。

しかし、そもそもint型ではないものが引数に指定されることを想定していない。

引数はとりあえず受け取ってからチェックするか、それともデータ型等に問題があれば単純にはじく。

この列の場合、想定どおりに使われないことを意識しているようだから、とりあえず引数を受け取ってからチェックするのが妥当。

469 :デフォルトの名無しさん:2017/02/13(月) 14:26:09.19 ID:jxyAD/B2.net
>>467
100個に分割って何?

470 :デフォルトの名無しさん:2017/02/13(月) 14:49:25.71 ID:lifq9uxF.net
>>467
output[i / 100] = java.util.Arrays.copyOfRange(bigArray, i, Math.min(i + 100, bigArray.length));

471 :デフォルトの名無しさん:2017/02/13(月) 14:58:32.20 ID:wJ+B4p7z.net
Card newCard = deck.dealCard();

deck.dealCard();はCard型を返します。

普通オブジェクトを初期化する時は、Card newCard = new Card();ではないのですか。

472 :デフォルトの名無しさん:2017/02/13(月) 15:20:27.29 ID:wJ+B4p7z.net
なんとなく自己解決しました。

private Card[] deck;

public Card dealCard() {
if (cardsUsed == deck.length)
throw new IllegalStateException("No cards are left in the deck.");
cardsUsed++;
return deck[cardsUsed - 1];
}

deck[cardsUsed - 1]の参照を返しているのですね。たぶん。

473 :デフォルトの名無しさん:2017/02/13(月) 16:05:13.41 ID:8LdrHc5a.net
配列の要素に値を代入するところでコンパイルエラーが出たんだけど、
原因を探ると、どうもメソッドの外に書いていたのが駄目だったらしい。
適当なメソッドを作ってその中で配列の要素に値を代入して、
その配列をメソッドの戻り値にすることで解決できた。
それで何が疑問かというと、どうしてメソッドの外で配列の要素に代入できないのか?ということ。

今思ったけどそもそもメソッドの外に命令を書いても実行されないのか。
メインメソッド内部に書くのが嫌なら今みたいに解決するか、
あるいはコンストラクタ内に書いてインスタンス生成すればいいのか。

474 :458:2017/02/13(月) 16:32:19.77 ID:sMoY2cDa.net
答えて頂いた方、ありがとうございました。
try-catch文を使ってみようと思います。

475 :デフォルトの名無しさん:2017/02/13(月) 16:43:24.39 ID:lifq9uxF.net
>>473
例えばこんな方法もある
https://ideone.com/MWBVpO

476 :デフォルトの名無しさん:2017/02/13(月) 17:15:11.47 ID:NMTN5zlJ.net
質問なのですが、アコーディオンで閉じるボタンをつけるには
どういう方向にいじっていけばいいのでしょうか?

これで開閉するようにはなったのですが、これの下に更に閉じるボタンをつけて
それを押すと全体が閉じるようにしたいです。

<script type="text/javascript">
function layer_toggle(obj) {
if (obj.style.display == 'none') obj.style.display = 'block';
else if (obj.style.display == 'block') obj.style.display = 'none';
}
</script>

<a href="#" onclick="layer_toggle(document.getElementById('more1’));return false;" class="open">クリック開閉</a>
<div id="more1” style="display: none;">
中身
</div>

✕閉じる (←ここに入れたい)

477 :デフォルトの名無しさん:2017/02/13(月) 17:24:16.40 ID:qHqpBuMQ.net
jsスレの誤爆か
ちゃんとスレタイ見ろよな

478 :デフォルトの名無しさん:2017/02/13(月) 17:27:54.47 ID:M52UtrOt.net
>>477
天然だと思うよ

479 :476:2017/02/13(月) 17:28:35.71 ID:NMTN5zlJ.net
すみません、間違えました。

480 :デフォルトの名無しさん:2017/02/13(月) 21:45:35.01 ID:pT//uux/.net
>>467
仕様がわからん
配列のサイズは100の倍数なのか?

481 :デフォルトの名無しさん:2017/02/13(月) 22:50:24.53 ID:k86FX8Ww.net
>>480
初心者でこんなところで聞いているのは質問下手ばかり。

482 :デフォルトの名無しさん:2017/02/14(火) 05:45:47.11 ID:S77q444C.net
bronzeの問題酷すぎるだろ…
いやコレをスラスラ解けたら間違いなく基礎を熟達してることの証になるのは感じるけど開発現場でこんな引っかけみたいなコード書かんだろクソが

483 :デフォルトの名無しさん:2017/02/14(火) 08:35:32.16 ID:MUZCw9Qo.net
>>482
Silverなんてわかりにくくて書いてはいけないコードを問題に出してくる。実務ではありえない穴埋め問題だから、試験用に勉強しないと取れない。

484 :デフォルトの名無しさん:2017/02/14(火) 12:26:42.25 ID:WMeT5heV.net
>>470
ありがとうございます。知らない命令がありますので調べてみます。
>>480
どもっす。100の倍数とは限りません。
限らないので書かなくてもいいのかなと思いました。ごめんなさい。

485 :デフォルトの名無しさん:2017/02/14(火) 23:56:43.53 ID:0nOYc0Tj.net
>>484
余りはどう処理する仕様なの?100未満のときとか

486 :デフォルトの名無しさん:2017/02/15(水) 00:50:02.43 ID:wE1MD95K.net
ここ見てメモリ8買いました

487 :デフォルトの名無しさん:2017/02/15(水) 03:46:17.82 ID:bjcJjnEi.net
staticメンバはクラスに属するという風に解説されていますがstatic変数を継承したとき親クラスと小クラスは別のクラスですが参照するstatic変数は同じですか?
クラスに属する説明から親クラス小クラスがそれぞれ同名のstatic変数を個別に持つのかと考えたのですが実行結果はそうではなさそうでモヤってます

488 :デフォルトの名無しさん:2017/02/15(水) 07:36:25.62 ID:W5i5DGcB.net
親クラスが子クラスのスタティック変数を参照してるんだよ

489 :デフォルトの名無しさん:2017/02/15(水) 07:36:40.70 ID:W5i5DGcB.net
逆だった

490 :デフォルトの名無しさん:2017/02/15(水) 10:09:01.45 ID:LaGCsW+C.net
そもそも同一クラスと継承クラス内だから省略されているだけで本来の書き方は「クラス名.メソッド名」
継承やインスタンスなんて関係ない

491 :458:2017/02/15(水) 18:18:16.10 ID:lXvbjlFi.net
文字列で受けてパターンマッチングを使って
parseIntを使ったらうまくいきました。
https://ideone.com/IA0Ydk
ありがとうございました。
正規表現って便利ですね。

492 :デフォルトの名無しさん:2017/02/15(水) 18:58:03.04 ID:Fg4okeeZ.net
なんかerrorって書いてあるけど

493 :デフォルトの名無しさん:2017/02/15(水) 19:03:57.44 ID:Fg4okeeZ.net
解決

494 :デフォルトの名無しさん:2017/02/15(水) 21:13:21.86 ID:wc7JF9EL.net
>>491
なんでそんなのにわざわざ正規表現を使っているのか?はっきり言って悪い例だよ。

495 :デフォルトの名無しさん:2017/02/15(水) 21:48:15.66 ID:A9woeCde.net
GUIの勉強をボチボチ始めたとこなんですが、javaってmsのビジュアルスタジオみたい
に適当なボタンやらチェックボックスをフォームに貼って…みたいには出来ないの?
流儀が違うって言ってしまえばそれでお終いなんだけどさ

496 :491:2017/02/15(水) 23:44:58.26 ID:FXTYbgSG.net
>>494
小数入力や文字列入力を弾ける手がこれしか思い浮かばなかったんです。
列挙型を使った方がいいんですかね…。

497 :デフォルトの名無しさん:2017/02/15(水) 23:46:40.70 ID:SAhBQ4f5.net
>>495
俺はNetBeans使ってる

498 :デフォルトの名無しさん:2017/02/16(木) 00:19:55.95 ID:+eyUWXiG.net
>>495
swingdesignerみたいなやつ?

499 :デフォルトの名無しさん:2017/02/16(木) 01:13:06.21 ID:VzYK4lSX.net
>>498
一応Eclipseは入れてるんだけどw、ほぉ〜とぐぐったら、まさにそういうのです。

>>497
NetBeansでもそういうのが出来るんだ。

教えていただき感謝。まだまだ道は前途遼遠ってな感じだけどw

500 :デフォルトの名無しさん:2017/02/16(木) 10:36:07.06 ID:9JX0bZy2.net
EditTextで文字入力をした後に、横にある「完了」ボタンを押した時のイベントって何になるのでしょうか?
ググってもOnKeyを使ってEnterキーを押した時の処理ばかり出てきます。
Enterキーは誤入力の可能性もあり、せっかく「完了」ボタンがあるので有効に使いたいです。
わざわざEditTextとは別にボタンを作るのは見た目的に悪いので、お願いします。

501 :デフォルトの名無しさん:2017/02/16(木) 11:34:10.97 ID:ucEwYJAj.net
どうして質問する奴は回答者が質問者の全てを知ってるような前提で聞いてくるんだろうなあ…

>>500
お前の環境かけやボケナス
1. android:imeOptionsに必要なaction設定
2. OnEditorActionListener#onEditorAction()で設定したactionかどうかで判別

ttps://developer.android.com/training/keyboard-input/style.html#Action

ただし機種によってはリスナーがうまく動かないケースがあるから機種や泥バージョン指定できないなら面倒でも見た目がアレでも別にボタン用意しとけ
ハードウェアキーボード持ってる奴の考慮も忘れるなよ!

502 :デフォルトの名無しさん:2017/02/16(木) 13:30:30.36 ID:MqgvBH2f.net
toStringで変換した文字列が出力できない件。何故かアドレスが表示される…

byte[] data = bos.toByteArray();
String s = new String(data.toString());
System.out.println("b [" + s);

503 :デフォルトの名無しさん:2017/02/16(木) 13:43:13.59 ID:2SOyTthv.net
他のGUI系知らないがEditTextはAndroidだけなのか
環境とか書かないとこうなる
そもそもAndroidだとスレチだよな
アスペ気質でそういうの気を使えないとかかね

504 :デフォルトの名無しさん:2017/02/16(木) 15:09:32.82 ID:ucEwYJAj.net
>>502
String s = new String(data, StandardCharsets.UTF_8);
文字コード違うなら変えろよ?

505 :デフォルトの名無しさん:2017/02/16(木) 16:43:19.31 ID:X6GVhCyz.net
ちなみにアレ、 アドレスじゃないからな

506 :デフォルトの名無しさん:2017/02/16(木) 18:51:07.35 ID:gv32OUHv.net
>>496
たった3パターンだったらif文、switch文でうまくかけばいい。あの書き方だと可読性が下がる。

507 :デフォルトの名無しさん:2017/02/16(木) 20:37:47.60 ID:exKspMH0.net
エクリプスからJARファイルをエキスポートして、ダブルクリックしても
まったく無反応なんですが、原因わかりません。
ご教授ください

508 :デフォルトの名無しさん:2017/02/16(木) 20:42:05.61 ID:exKspMH0.net

誤植
エクリプスからエキスポートしてJARファイルデスクトップに作成して、ダブルクリックしても
まったく無反応なんですが、原因わかりません。
ご教授ください

509 :496:2017/02/16(木) 20:53:38.77 ID:2mxMXpo4.net
>>506
数値入力時にif文やswitch文を使うってことですか?アルゴリズムが思い付かないんです。

510 :デフォルトの名無しさん:2017/02/16(木) 21:26:42.31 ID:qUiQfLES.net
>>508
他のjarでダブるクリックで動きますか?
それで動くとしたら、あんたが作ったjarにmainメソッドがあるクラスが
設定されていないと思われる。

まず、コマンドラインで
java -jar [あんたが作ったjarファイル]
で動きますか?それを試してみよう。

それで「メイン・マニフェスト属性がありません」とか言われて動かなかったら、eclipseでエクスポートする時に
mainメソッドがあるクラスを指定していない可能性がありますな。

エクスポートの
最後のページの「Main class」とか「メイン クラス」って書いているところ、
そこで「Browse」とか参照とか書かれているボタン押したりして
mainメソッドがあるクラスを選べばいいと思う。

・・・こんなんでお分かり頂けたかな?

511 :デフォルトの名無しさん:2017/02/16(木) 21:53:50.75 ID:exKspMH0.net
試してみます!

512 :デフォルトの名無しさん:2017/02/16(木) 22:26:05.89 ID:6snddCXs.net
>>502
何を出したいの?

513 :デフォルトの名無しさん:2017/02/17(金) 01:23:27.59 ID:ByuYkh1i.net
JAVAFXの入門書でお勧めはありますか?

514 :デフォルトの名無しさん:2017/02/17(金) 10:16:12.72 ID:rxgkiGLH.net
>>509
数値じゃなくて数字でしょうが?

515 :509:2017/02/17(金) 18:01:26.06 ID:6UcXL/TD.net
>>514
そうなんですかね。
数値は文字列の一種で、数字はいわゆるそのままの数字って理解で合ってますか?

516 :デフォルトの名無しさん:2017/02/17(金) 19:37:12.62 ID:GJpZx6dN.net
>>515
int型はコンピュータ、CPUの数値で、人間が見ている10進数の数値は、文字列で数値ではない。コンピュータの世界では数値と数字列は意味が違うから言い方には気をつけな。

517 :515:2017/02/17(金) 22:36:16.34 ID:6UcXL/TD.net
>>516
分かりました。

String型で数字を受けてparseIntでint型に変換するってのは合ってますよね?

518 :デフォルトの名無しさん:2017/02/18(土) 00:20:08.18 ID:U6+sgi5v.net
クラスをわけたりpackageをわけたりの所がわけがわからなくなりました
ひたすら覚えるしかないですよね...?

519 :デフォルトの名無しさん:2017/02/18(土) 00:29:50.70 ID:QWFEt72M.net
ひたすら覚えるからわけがわからなくなるんだよ
ひたすら書け

520 :デフォルトの名無しさん:2017/02/18(土) 00:30:11.68 ID:jQJtb/Tc.net
覚えるのではない、イメージするのだ

521 :デフォルトの名無しさん:2017/02/18(土) 00:42:02.09 ID:XRiVV8YV.net
Don't think ! Feel.

522 :デフォルトの名無しさん:2017/02/18(土) 00:48:07.56 ID:U6+sgi5v.net
わかりましたひたすら書いてみます

523 :デフォルトの名無しさん:2017/02/18(土) 01:39:25.75 ID:AobYyoSr.net
教えられたことを、100%理解する必要はない。
無視して進めばいい

その後も、何回も出てくるなら、改めてその時に勉強しろ

一々、packageとは何ですか?
importとは何ですか?

などと聞かれたら、勉強が進まないだろ

Don't think ! Feel it !
若者よ、ただ、風を感じて進め!

524 :デフォルトの名無しさん:2017/02/18(土) 02:01:43.86 ID:U6+sgi5v.net
>>523
覚えることも多そうなのでそうしようと思います
皆さんありがとうございます

525 :デフォルトの名無しさん:2017/02/18(土) 02:06:15.70 ID:WYmGNWj6.net
いや、基本的な部分は100%押さえた方がいいよ…

526 :デフォルトの名無しさん:2017/02/18(土) 02:22:06.85 ID:5f9RQjWM.net
100%にするのは後で良い
というか実際に書いて動かさないと100%押さえるなんて凡人には無理だと思う

527 :デフォルトの名無しさん:2017/02/18(土) 06:06:07.91 ID:XRiVV8YV.net
体で覚えるのぢゃ

528 :デフォルトの名無しさん:2017/02/18(土) 08:54:25.17 ID:AybB9GgR.net
必要な時に必要な事を覚えていくだけでいい

529 :デフォルトの名無しさん:2017/02/18(土) 13:05:04.06 ID:XRiVV8YV.net
余裕があれば全体を学んでおいた方が良いとは思う。
無関係そうな所から新たなヒントを得らえるかも知れないから。

530 :デフォルトの名無しさん:2017/02/18(土) 14:02:56.84 ID:jQJtb/Tc.net
受験じゃないんだからwhatよりwhyの方が重要ですよ
「packageとは何なのか」より「なぜpackageを使うのか」、「packageを使えると何が嬉しいのか」の方が大事
そこを理解できれば自然と「使ってみよう」って気になる

531 :デフォルトの名無しさん:2017/02/18(土) 14:30:42.06 ID:B0XsgcVJ.net
色々と意見ありがとうございます
完全にスルーせず、ある程度は理解した上で進めていこうと思います

532 :デフォルトの名無しさん:2017/02/18(土) 22:46:21.26 ID:BlcX7rgt.net
初心者ですら無いんだけど、
Javaを始めようと思ったら何を作ったらいい?
仕事でやれと言われれば簡単だけど、趣味で動機を見つけられない

533 :デフォルトの名無しさん:2017/02/18(土) 23:11:39.14 ID:WGlwnMwz.net
始めなきゃいい

534 :デフォルトの名無しさん:2017/02/18(土) 23:16:12.90 ID:NeVh/Ga5.net
質問です
SQLに命令送ると時ってString型の変数にSQL文を格納してConnectionインスタンスのprepareStatementメソッドの引数に渡して命令送ると思うんですが
ここで1つの変数に複数のSQL文を入れることってできないでしょうか

535 :デフォルトの名無しさん:2017/02/18(土) 23:51:27.61 ID:XRiVV8YV.net
>>534
できないと思うけど、なんでその必要が?

536 :デフォルトの名無しさん:2017/02/18(土) 23:56:54.20 ID:NeVh/Ga5.net
>>535
本来必要ないものなんですか?
まだSQLもJDBCもやり始めたばかりでよく分かってないんですけど複数テーブル更新したい時とか
もしかしてSQLちゃんと覚えれば大抵の一連の処理って1文に収められたりするものなんでしょうか

537 :デフォルトの名無しさん:2017/02/19(日) 00:00:43.46 ID:rTEdd30o.net
>>536
トランザクション

538 :デフォルトの名無しさん:2017/02/19(日) 00:23:22.88 ID:kjoz7fbA.net
最初は、文字列でSQL文を作っていたけど、以下のようなSQLインジェクションで、
表からデータを抜くSQL文を、前後のSQL文とつなげてアクセスしてくる

;ここにSQL文を入れる;

そこで各列ごとに、データを入れて、SQL文をつなげられないようにした

539 :デフォルトの名無しさん:2017/02/19(日) 01:27:12.33 ID:OVFFDAhv.net
>>534
DBによる。MySQLはできない。
PostgreSQLでは以下のコードでできた。
//CREATE TABLE test( intdata int );
PreparedStatement ps = con.prepareStatement("INSERT INTO test VALUES (?);INSERT INTO test VALUES (?);");
ps.setInt(1,1);
ps.setInt(2,2);
ps.executeUpdate();

普通は>>537の言うようにトランザクションを使う。

540 :デフォルトの名無しさん:2017/02/19(日) 02:45:04.36 ID:DY9UFKDi.net
え?トランザクション使えないDBなんてあるの?

てか、>>539のように1行に収めて渡したところでその処理の間に別プロセスで
テーブル更新されちゃったら整合性保てなくなるんじゃない?一塊のSQL文
実行中にテーブルにロックが掛かるならなんとかなるかも知れないが、
その場合は関連するテーブル全てにロックが掛からないとうまくいかんよね。

541 :デフォルトの名無しさん:2017/02/19(日) 06:47:59.48 ID:zNGfBeXW.net
だったらプロセス側で排他処理すればいいだろうがハゲ

542 :デフォルトの名無しさん:2017/02/19(日) 09:12:45.07 ID:v7e804cy.net
createStatement + executeQuery/executeUpdate

で足りるんじゃないかしら

543 :デフォルトの名無しさん:2017/02/19(日) 09:16:23.89 ID:TZ/mXSM2.net
ラウンドトリップ減らしたいだけだろ

544 :デフォルトの名無しさん:2017/02/19(日) 18:04:50.98 ID:Qvw0x0uQ.net
すみません質問です。
ビット数のカウント(x 〉〉〉y)
などはアプリ開発などには必要でしょうか?
なんとなくしか理解できません
〈〈は左へシフトというのはわかっています

545 :デフォルトの名無しさん:2017/02/19(日) 19:34:47.71 ID:HYCGJNag.net
>>544
そんなのほぼ使いません。

546 :デフォルトの名無しさん:2017/02/19(日) 21:18:46.80 ID:v7e804cy.net
その辺のビット操作が真に必要とされたのは20年以上前なのよね

547 :デフォルトの名無しさん:2017/02/19(日) 22:05:23.18 ID:s+kTIFf7.net
組み込みでは今でも普通に使われとるよ

548 :デフォルトの名無しさん:2017/02/19(日) 22:32:11.70 ID:Oqs2ldsH.net
返事ありがとうございます
次に進もうと思います

549 :デフォルトの名無しさん:2017/02/19(日) 22:53:51.01 ID:1yj5fQr2.net
>>548
あまり細かいところを気にする必要はない。実際に何かを作りながら勉強すれば、いることといらないことの分別はつく。

550 :デフォルトの名無しさん:2017/02/19(日) 22:55:36.11 ID:jNG/kyqP.net
>>547
しょぼいコンピュータならそうだろうけどな。Java MEだろ?ここは初心者だからJava SEを基準に話すべき。

551 :デフォルトの名無しさん:2017/02/19(日) 23:00:47.92 ID:Oqs2ldsH.net
>>549
ありがとうございます
そういう感じで頑張ります

552 :デフォルトの名無しさん:2017/02/20(月) 00:02:27.42 ID:TCuyHNDs.net
何の役に立つのかを意識しながら学ぶのはとても大事

553 :デフォルトの名無しさん:2017/02/20(月) 00:06:57.35 ID:vUt0nDfp.net
縁の無い世界と思ってるかもしれないけど、スマホの中がいきなりそうだしな

554 :デフォルトの名無しさん:2017/02/20(月) 00:22:21.97 ID:AKZL9lpl.net
メモリ管理までなってくると文系SE()には全く理解できませぬ

555 :デフォルトの名無しさん:2017/02/20(月) 00:52:14.65 ID:VpIGtQew.net
>>541
ネットワーク経由での他の全然関係ないマシンの全然違うOSからのアクセスでの更新はどうする?

556 :デフォルトの名無しさん:2017/02/20(月) 01:17:23.16 ID:VpIGtQew.net
>>544
必要になることは今では少ないかも知れない。
ただ、作るプログラムによっては必要になると思う。主にシステム寄りなやつとかハードウェア寄りのプログラムとか。
ネットワークで送ってくるデータがバイナリの塊でその中にビット単位でデータが分かれて入ってくるなんてのもあるかも知れない。
まあ、そういうデータ構造までひっくるめて全て自分で作れるならそういう風に作らなければいいだけではあるけどね。
仕事で誰かが決めた使用通りに作らねばならない場合とかは避けて通れない事もある。

557 :デフォルトの名無しさん:2017/02/20(月) 02:10:44.89 ID:5JVok8IP.net
>>556
詳しくありがとうございます
システムズ寄りのものも作りたいなと思っているので
いつになるかわかりませんが
頭にいれておきます
ありがとうございます

558 :デフォルトの名無しさん:2017/02/20(月) 12:21:17.90 ID:MFQClxBE.net
>>554
おまえJavaスレで何を言ってるのか?

559 :デフォルトの名無しさん:2017/02/20(月) 22:47:33.17 ID:e3MnNv+f.net
スッキリわかるjava、第6章〜はdokojava使わないの?
コマンドプロンプトとメモ帳でやるの?

560 :デフォルトの名無しさん:2017/02/20(月) 22:50:14.21 ID:ZSqAwaEi.net
>>559
慣れるためにも素直にeclipse使っとき

561 :デフォルトの名無しさん:2017/02/20(月) 23:03:34.23 ID:e3MnNv+f.net
>>560
ありがとう!

今環境変数とか見てみたけど導入は出来てる
ただオブジェクト指向の開発がメモ帳に書く前提なのか分からへん…

562 :デフォルトの名無しさん:2017/02/20(月) 23:09:25.97 ID:3NHWbqj1.net
いい加減開発環境にeclipse使うのやめようぜ
少なくとも今から開発環境作るなら今更eclipse勧めるのは無いと思うよ

563 :デフォルトの名無しさん:2017/02/20(月) 23:23:33.96 ID:e0RSzmB4.net
>>561

IDEエディタは好みのものを使えばいいと思うが・・・

その前に、
スッキリわかるjava?とかいうのを読んで理解する時は
最低限の環境・・・つまり
メモ帳で書いて、コマンドラインにてjavac実行でコンパイル→実行をお勧めします。
更に、外部のライブラリを参照する事によるコンパイルにも慣れてから好みのIDEを選びましょう。
(理解するというよりも、体感せよ。)
外部ライブラリ・・・例えばApache Commonsがいいかな?詳しくは調べよう。

https://commons.apache.org/

あと、IDEじゃないけど、antも同様。

いきなり、例えばeclipseで覚えようとすると、eclipse以外で
Javaを書いたり構築したりする事が難しくなる。
何を書いているか分からない?いずれ分かるでしょう・・・。

ようこそ、Javaへwwwww
・・・でもJavaを今から覚えるのか?レガシーな言語ですよ?

564 :デフォルトの名無しさん:2017/02/20(月) 23:57:57.40 ID:srR/js2e.net
>>563
プログラミング言語の主力ってどうなの?
Ruby勧められたけど基本情報処理技術者で使えないから仕方なくjavaにしたんだよね…

565 :デフォルトの名無しさん:2017/02/21(火) 00:12:18.39 ID:ehbuiFrf.net
どこで仕事したいかによる
公共系とか金融系はcobolとかJava
WebサービスだとHTML5+Javascript(Node.js)とかRubyとかPHPとか
組み込みやパッケージはCとかC++
WindowsクライアントはC#とかVB.NETとか

566 :デフォルトの名無しさん:2017/02/21(火) 00:19:13.85 ID:Lp7KKl6R.net
今勉強するなこれ!って感じのが無いんだよな
RubyはRailsとセット覚える事前提だけどほぼwebサービスのみだし
pythonは未だに2系と3系で揉めてるし

567 :デフォルトの名無しさん:2017/02/21(火) 00:21:33.83 ID:ET4KfYGt.net
戦闘機の仕事してた奴はAda使ってたな

568 :スッキリ厨:2017/02/21(火) 00:25:32.83 ID:jHRGu1Ca.net
YouTubeにある、T Umezawa の動画、2つの言語で、内容は同じだけど、
Javaは秀丸で、C#はメモ帳で書いてる

T Umezawa
【Java】ゲームプログラミング超入門
メモ帳でC#超入門

ただし、C#の方は、少し更新が止まっている

「スッキリわかる Java入門」を3回読んで、オブジェクト指向をみっちり学んだら、
「たのしいRuby 第5版、2016」も3回読むといい。
クロージャ・関数型への道が、一気に開けるから、Java8のStreamも理解しやすい。
他のスクリプト言語も理解しやすくなるから、応用力がつく

569 :デフォルトの名無しさん:2017/02/21(火) 01:24:59.58 ID:Cq8abdSM.net
>>563
antって、、、未だにant使ってるならレガシーってなるでしょ
ビルドはgradleがいいけどmavenのサンプルもまだ多いので両方使える方が望ましい
eclipseでgradle使うならplugin入れたりと手間だし、機能的な面も考えればIDE はIntellij 一択でしょ
eclipseは自分好みのplugin入れて設定して苦労して環境構築したから惰性で使い続けるものになってる
ま、ある意味ユーザ離れが少ないのかも知れないけど

570 :デフォルトの名無しさん:2017/02/21(火) 07:17:15.03 ID:N4GHdPkB.net
趣味でやるならHaskellで関数型に慣れオブジェクト指向という考え方を一切合切捨て去ってからのJavaScript
最初からJavaScriptやっちゃうとどうしてもオブジェクト指向に引っ張られるからね
Java8で関数型の一部が取り入れられたとはいえクラスベースのJavaでは永遠に関数型プログラミングはできない
仕事でやるなら何でもええやろ

571 :デフォルトの名無しさん:2017/02/21(火) 07:31:26.01 ID:HBiYBxQP.net
出先でjavaりたいときの環境についておすすめはどれ?
@winタブ+キーボードorモバイルノート
Adokojavaみたいなオンライン
Bその他の泥アプリ(存在するのかは知らない)

572 :デフォルトの名無しさん:2017/02/21(火) 07:53:02.62 ID:YdijoGpr.net
>>571
@以外ない
環境にこだわれ

573 :デフォルトの名無しさん:2017/02/21(火) 10:04:43.04 ID:048NMDMM.net
自分の環境ぐらい自分で考えろよ

574 :デフォルトの名無しさん:2017/02/21(火) 10:17:52.30 ID:0qmR7+9d.net
>>570
なんでそんなに関数型を勧める?

575 :デフォルトの名無しさん:2017/02/21(火) 11:12:09.27 ID:9RGM2Zbi.net
>>574
速度と安全性の両立が現状一番上手くいってると個人的に思ってるから
言っとくけど俺はオブジェクト指向は好きだぞ
Scalaも割と好き
つーかアラン・ケイリスペクトだ
メッセージパッシングはロマン
ビャーネなんたらは知らん
ハウルの動く城に帰れ
ただ自分が将来的にどういうスタイルでプログラミングするかは別として関数型がどういうものかは知っておくべきだと思う
純粋な手続き型と、純粋なオブジェクト指向型と、純粋な関数型を学べば自然と自分のスタイルも決まるはず

576 :デフォルトの名無しさん:2017/02/21(火) 12:32:51.26 ID:5oYsvnfy.net
eclipseの設定色々聞きたいのですが
http://i.imgur.com/m524H6u.png
スペースの可視性を調整してたら
文字と空白表示がダブって表示されているのですが
これはどこを弄れば治るのでしょうか……?

577 :デフォルトの名無しさん:2017/02/21(火) 12:48:06.99 ID:kvQU90/N.net
純粋な手続き…Cやった、わかる
純粋なOO…Smalltalkやった、わからん
純粋な関数型…Haskellやった、わからん

Javascriptも純粋なJavascriptはだめだろう
やるならTypescriptかelmかpurescriptあたり?

578 :デフォルトの名無しさん:2017/02/21(火) 16:34:11.30 ID:HBiYBxQP.net
>>572
PCがマストかー
なんとかエイスースから適当に見繕うしかないなー

ところで参照型のキャストについて
Animal a = new Dog();
((Dog)a).eat();
この二重括弧の外側の()はどういうルールに基づくものなんだろ?

579 :デフォルトの名無しさん:2017/02/21(火) 16:43:50.64 ID:NkXz995W.net
eatがDogにしかないんじゃないか
Dog d = (Dog)a;
d.eat();
とダウンキャストしている思えばいい

580 :デフォルトの名無しさん:2017/02/21(火) 16:50:43.69 ID:HBiYBxQP.net
>>579
うん、キャストはわかるんだけど
(Dog)a.eat(); じゃなくて
((Dog)a).eat(); という書き方になる理由が分からないんだよね
これは
>>579
の記述を省略して纏めるならこう書きなさいというルールってことなんかな

581 :デフォルトの名無しさん:2017/02/21(火) 17:04:59.11 ID:6AK/ye3y.net
>>578
キャスト演算子
(Type) Expression
Expressionの結果をTypeにキャストする

なので、(Dog)a.eat() は、a.eat()の結果(戻り値)をDogにキャストする
aがeat()を持たないclassだったりeat()の戻り値がDogにキャストできないclassの場合はコンパイルエラー

582 :デフォルトの名無しさん:2017/02/21(火) 17:09:28.70 ID:6AK/ye3y.net
途中で送信しちゃった

((Dog)a).eat()は、(Dog)aを数式演算子としての()で括って最優先で演算し、その結果(戻り値)のDogに定義されたeat()を呼び出してる

583 :デフォルトの名無しさん:2017/02/21(火) 17:10:17.15 ID:rz+9lhUG.net
オブジェクト指向が難しすぎる..
スッキリjava読んでる時は理解できているんですけど
いざ自分で練習すると全然だめです..
ひたすら書いて覚えるしかないですか?
皆さんどういう覚え方をしたか教えてください

584 :576:2017/02/21(火) 17:35:12.92 ID:ZVBWfsdv.net
解決はしてないですが、
どうやらeclipse4.6でメイリオを選択すると
空白のフォントがおかしくなるようでした
諦めて明朝でやっていきます

(何種類か試したところ、いくつかのフォントで同様の現象が発生するみたいです)
メイリオを使わせないという意思でもあるのでじょうか

585 :デフォルトの名無しさん:2017/02/21(火) 17:39:53.29 ID:6AK/ye3y.net
>>584
そもそも等幅フォントじゃない時点で微妙

586 :デフォルトの名無しさん:2017/02/21(火) 17:40:39.23 ID:gG4Ydnc/.net
>>580
演算子の優先順位は(Dog)よりa.eat()の方が高いみたいよ
括弧が無いとa.eat()が先に処理されるんじゃない?

587 :デフォルトの名無しさん:2017/02/21(火) 17:40:49.20 ID:HBiYBxQP.net
>>582
数式演算子!まさか数式演算子とは…
つくづく勉強してて思うけどプログラムは禁止されてるルール以外はあらゆる文法を組み合わせて何でもかけちゃうんだな
そして禁止されてるルールが禁止されてる理由は素人には想像もつかなくて知ってなきゃ分からない
そこそうやっていいの?ってのとそれ駄目だったの?ってのが多すぎるよ…

588 :デフォルトの名無しさん:2017/02/21(火) 17:44:04.41 ID:HBiYBxQP.net
>>586
むづかしいなぁ
これ例題だから何でこう使ってるんだろうって思うけど自分で組んでたらずっと何で(Dog)a.eat();で動かないんだ!
ってなってると思うわ
まぁ頭が固いんだろうなぁ

589 :デフォルトの名無しさん:2017/02/21(火) 17:45:44.78 ID:TggSaCtx.net
チラ裏

590 :デフォルトの名無しさん:2017/02/21(火) 17:56:29.10 ID:6AK/ye3y.net
>>587
ごめんよ、数式じゃなくて、式

591 :デフォルトの名無しさん:2017/02/21(火) 17:58:21.98 ID:ZVBWfsdv.net
>>585
等幅フォントじゃないと表示がずれるんですね
探したらメイリオを等幅にするバッチファイル見つけて
試したら上手く行きました、これで何とかなりそうです

592 :デフォルトの名無しさん:2017/02/21(火) 18:01:17.06 ID:HBiYBxQP.net
>>590
ちょっと演算子の名前は虚覚えだけど要は
(a + b)* c   この()と同じってことだよね?

593 :デフォルトの名無しさん:2017/02/21(火) 18:05:53.01 ID:6AK/ye3y.net
>>591
おおぅ、そこからか
プログラミング用途のテキストエディタや統合開発環境はほぼ全て等幅フォント前提で考えられてる
プログラミング向けのフォントもそこそこあるから自分に向いたのを探すといいよ

例えば
・ Source han code JP
・ Ricty Diminoshed
・ Myrica
・ Rounded M+

594 :デフォルトの名無しさん:2017/02/21(火) 18:06:45.10 ID:6AK/ye3y.net
>>592
同じ
演算の優先度を上げるカッコ

595 :デフォルトの名無しさん:2017/02/21(火) 18:20:21.93 ID:HBiYBxQP.net
>>594
プログラムは全部式なんだから使えて当然、か
丁寧にありがとう!

596 :デフォルトの名無しさん:2017/02/21(火) 18:40:32.24 ID:2UxBH0C2.net
>>595
> (Dog)a.eat(); じゃなくて
> ((Dog)a).eat(); という書き方になる理由が分からないんだよね
前者はa.eat()の結果がDog型に (Dog)(a.eat()) と同じ
後者はaがDog型に

597 :デフォルトの名無しさん:2017/02/21(火) 19:13:38.98 ID:vSefmos+.net
基本情報処理技術者のjava解ける気しねー(´;ω;`)
2ヶ月で間に合うのかな(泣)

598 :デフォルトの名無しさん:2017/02/21(火) 19:43:43.83 ID:OZpBqcTf.net
ファイル名をソートしたいんですが
file1.txt
file2.txt
file10.txt
という順番にソートするにはどうしたらいいでしょうか?
いわゆるエクスプローラでソートしたときの順番にしたいです。

599 :デフォルトの名無しさん:2017/02/21(火) 19:49:51.39 ID:HBiYBxQP.net
最近実践編で読んだんでチラ裏させてくれ
まずいずれかのlistクラスに格納してファイルの自然順序を何にするかをオーバーライドで決めてsort()メソッドで並べ替える
細かいことは知らない

600 :デフォルトの名無しさん:2017/02/21(火) 20:16:46.32 ID:6AK/ye3y.net
>>598
java natural order comparator あたりでググるよろし

601 :デフォルトの名無しさん:2017/02/21(火) 21:19:57.79 ID:vSefmos+.net
スッキリわかるjavaのオブジェクト指向に入ってから、ソースコードどこに保存して書いてるの?
(´・ω・`)

602 :デフォルトの名無しさん:2017/02/21(火) 21:28:42.72 ID:vSefmos+.net
自己解決しました…

603 :デフォルトの名無しさん:2017/02/21(火) 22:07:53.68 ID:sSbzoxvW.net
お、おう

604 :デフォルトの名無しさん:2017/02/22(水) 04:30:51.90 ID:mKCy10Km.net
bronzeでの模試正答率71%…
早く受かって就職したいがこれはギリギリすぎる…

605 :デフォルトの名無しさん:2017/02/22(水) 09:35:33.12 ID:pHogyGSV.net
そういうのは自分のブログにでも書けよ

606 :デフォルトの名無しさん:2017/02/22(水) 10:12:35.66 ID:PcTYf6F1.net
それね
質問スレだから

607 :デフォルトの名無しさん:2017/02/22(水) 10:45:25.66 ID:FbwNgaCq.net
>>605
笑ったわ

608 :デフォルトの名無しさん:2017/02/22(水) 16:49:50.74 ID:FbwNgaCq.net
スッキリわかるJavaの入門終えたら実践にいくのが普通かな?
みんなどの参考書で勉強してるの?
(´・ω・`)

609 :デフォルトの名無しさん:2017/02/22(水) 20:46:06.49 ID:nXsdQesP.net
ブロンズ71%で受かって、4日後にシルバー受けたら92%だった。
一番の難関はブロンズの制限時間だと思ったわ。

610 :デフォルトの名無しさん:2017/02/22(水) 22:30:14.37 ID:2lSlbJfm.net
>>598
やっつけでいいなら
文字数でソートしてから名前でソート

611 :デフォルトの名無しさん:2017/02/23(木) 00:05:19.73 ID:y4dzqAyu.net
>>610
winapi呼び出そうかなあ

612 :デフォルトの名無しさん:2017/02/23(木) 07:44:10.67 ID:DLcSnxYh.net
CUIのローグライク作りたいんですが矢印キーはどうやって入力するんですか?

613 :デフォルトの名無しさん:2017/02/23(木) 07:45:19.23 ID:Ox0/qNEa.net
>>609
オラクル社の試験は問題セットの当たりはずれがあるんだよ。

簡単なときもあれば難しいのにあたることもある。

614 :デフォルトの名無しさん:2017/02/23(木) 18:12:23.40 ID:H7zaoCok.net
開発で変数とかオブジェクトにstatic使ったりしますか?

615 :デフォルトの名無しさん:2017/02/23(木) 18:22:21.90 ID:nluhxzeP.net
>>608
俺は実践編に行きました。
でも結構難しいです。
入門編のようにさくさく進みません。

616 :デフォルトの名無しさん:2017/02/23(木) 18:31:31.44 ID:OhCBVOHT.net
ある問題で継承においてprivateな変数が引き継げない構成要素と書かれてるんですが
これは継承できないのが正しいんですか?
それとも継承はしてるけど参照できないのが正しいんですか?
メンバ変数は全て引き継ぐって書いてあるから矛盾してるっぽい気がするんですが

>>615
実践編はこんなAPIがあるんだってのを眺めてあとは実際試さないと覚えられないですよね

617 :デフォルトの名無しさん:2017/02/23(木) 18:35:01.06 ID:YD6xHuqc.net
>>614
必要であれば使う。

618 :デフォルトの名無しさん:2017/02/23(木) 20:04:14.99 ID:Q8VBCsnB.net
>>616
継承できるできないと可視性は何の関係もないと思うなあ
継承すると子クラスは親クラスの全てを引き継ぐ
可視不可視の話であれば、子クラスは親クラスのprivateを直接参照することはできない

619 :デフォルトの名無しさん:2017/02/23(木) 20:08:52.68 ID:Q8VBCsnB.net
>>612
そもそもJavaでやる必要があるのかからスタートすべき
どーしてもJavaでやりたいのならゲーム開発に向いたframeworkを探してその使い方を勉強した方が結果的に早いと思う

620 :デフォルトの名無しさん:2017/02/23(木) 20:25:49.59 ID:OhCBVOHT.net
>>618
引き継がれる構成要素はどれですかという問い方でprivateな変数は×だったので?だったのですが感覚的にはこの問題に疑問もって正解みたいで良かったです

621 :デフォルトの名無しさん:2017/02/24(金) 22:22:04.70 ID:uD7i0hkn.net
色々調べてJavaが値渡ししかできない、参照を渡してるように見えるのもCで言うポインタ渡しだという理解をしました
その上で質問なのですが、Cのconstポインタ渡しに相当するものはJavaには存在しないのでしょうか?

622 :デフォルトの名無しさん:2017/02/24(金) 22:56:32.65 ID:KBFO5tFR.net
そんなものは無い
クエリメソッドだけを集めたインターフェースを作ればいいよ

623 :デフォルトの名無しさん:2017/02/24(金) 22:56:43.78 ID:D6NNX7nw.net
>>621
あなたのC言語なんて知りません。

624 :デフォルトの名無しさん:2017/02/24(金) 23:56:21.94 ID:uD7i0hkn.net
質問分かり辛かったようですみません

{
Hoge hoge = new Hoge();
// (1)
func(hoge);
// (2)
}

(1)と(2)でhogeの中身が変わらない事が保証できるfuncのインタフェース定義が知りたいです

625 :デフォルトの名無しさん:2017/02/25(土) 00:03:43.03 ID:5lOXUI5K.net
>>621
ない。しかし String クラスみたいに new して作った後は値を変えられないように作ることはできる。

626 :デフォルトの名無しさん:2017/02/25(土) 00:06:47.52 ID:5lOXUI5K.net
>>624
インターフェースでいいのなら Hoge の方は class Hoge implements Fuga { ... } みたいにして Fuga は読み出しのみの
メソッドアクセスだけ定義しておいて、func は Fuga で受け付ける(つまり func(Fuga x))ように書いておけば良い。

627 :デフォルトの名無しさん:2017/02/25(土) 00:37:38.11 ID:gxYtmtwb.net
>>625-626
constメソッドとか無いんですね…衝撃です
読み専インタフェースを用意する方法は何ともインタフェース志向らしい解決方法ですね、これでいこうと思います
ありがとうございました

628 :デフォルトの名無しさん:2017/02/25(土) 00:55:00.78 ID:YVEx0bdt.net
でもfunc(Fuga x))内でif(x instanceof Hoge)((Hoge)x).setXXX(a);みたいに書けば中身変更されるよな。

629 :デフォルトの名無しさん:2017/02/25(土) 01:55:28.61 ID:1HZAmYU3.net
Rubyなら、freeze でコンテナを凍結できる。
ary = [1, 2, 'A']
ary.freeze

各要素とコンテナも、凍結したいなら、
ary.map(&:freeze).freeze

630 :デフォルトの名無しさん:2017/02/25(土) 02:16:02.95 ID:gxYtmtwb.net
>>628
そこまで考慮に入れるなら不変クラスで渡すようにするしか無さそうですね

自分のケースではメモリ確保の頻発を避けたいのと、割と小規模なプログラムなので読み専であることをインタフェースで示せばそこまで突飛なことは起きない(起きても把握できる)と踏んで>>626の方法で進めるつもりです

631 :デフォルトの名無しさん:2017/02/25(土) 02:57:54.70 ID:g9oOs5Yl.net
そもそもその粒度で不変を求めるならC/C++ででもやればいい

632 :デフォルトの名無しさん:2017/02/25(土) 04:19:33.68 ID:Rbn9x5fz.net
流石にそんな観点で言語選択するのはちょっと…

633 :デフォルトの名無しさん:2017/02/25(土) 08:55:36.23 ID:ArVanU7d.net
そこまでどうでもいいってことだろ

634 :デフォルトの名無しさん:2017/02/25(土) 14:12:07.23 ID:5lOXUI5K.net
>>628
それを言っちゃあおしまいよ

635 :デフォルトの名無しさん:2017/02/25(土) 14:15:12.60 ID:ICVRa4GN.net
クローンを作ればいいのではないか

636 :デフォルトの名無しさん:2017/02/25(土) 19:07:39.60 ID:ArVanU7d.net
immutableなクラスでもクローンでもどっちでもいいよ

637 :デフォルトの名無しさん:2017/02/25(土) 19:12:41.96 ID:Znl6xf+a.net
クローンつっても中で保持しているのが何かのクラスのインスタンスや配列だったらいかんよな。そこのコピー自分でなんとかしないと。

638 :デフォルトの名無しさん:2017/02/25(土) 21:23:55.44 ID:ArVanU7d.net
んなわかりきったこと書かなくてもいいだろ

639 :デフォルトの名無しさん:2017/02/25(土) 21:33:28.87 ID:R92qYa24.net
ここ初心者向けのスレだから書いといた方がいいのでは?

640 :デフォルトの名無しさん:2017/02/26(日) 14:01:27.47 ID:pxnJsBh9.net
int a; //@
int permit(int a){~}; //A

@とAの a は別物であってますか?

641 :デフォルトの名無しさん:2017/02/26(日) 14:07:04.61 ID:SmZkvXpF.net
あってる

642 :デフォルトの名無しさん:2017/02/26(日) 14:25:58.90 ID:pxnJsBh9.net
>>641
ありがとうございます!

643 :デフォルトの名無しさん:2017/02/26(日) 15:54:10.79 ID:pxnJsBh9.net
>>641
ちなみに実際の開発の場でフィールド変数と同じ名前を引数リストやローカル変数に使うよな紛らわしいことをしたりするんですか?

644 :デフォルトの名無しさん:2017/02/26(日) 19:42:11.99 ID:gXc7WSkI.net
>>643
コンストラクタやsetterは仮引数名とフィールド名は同じにしてる。
それ以外でかぶるのは、そもそも設計がおかしい。
昔、フィールドはm_から始めるとか、ローカル変数は_から始めるとかいうコーディング規約もあったっけど、ぶっちゃけどうでもいい

645 :デフォルトの名無しさん:2017/02/27(月) 10:48:18.58 ID:cQVaqrK/.net
>>643
当然やらない

>>644 は必要悪

646 :デフォルトの名無しさん:2017/02/27(月) 11:19:10.90 ID:pstpfQ6l.net
やった場合は this. 付けるが、わざわざそのようにするのが面倒なのと忘れたらまずいのでまずやらない。

647 :デフォルトの名無しさん:2017/02/27(月) 17:21:58.02 ID:KgJz7uRr.net
Bronze受けた方いましたら手応えとか教えて頂けませんか?
引っ掛け問題が多いらしいですが。

648 :デフォルトの名無しさん:2017/02/27(月) 17:40:03.02 ID:wGbPq32l.net
         _人人人人人人人人人人人人人人人_
        >   そうなんだ、すごいね!      <
       ´ ̄^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^ ̄
            __、、=--、、         __
           /    ・ ゙!       /・   `ヽ
           | ・   __,ノ       (_    ・ |
           ヽ、 (三,、,         _)    /
            /ー-=-i'’       (____,,,.ノ
            |__,,/          |__ゝ
             〉  )          (  )

649 :デフォルトの名無しさん:2017/02/27(月) 21:17:24.89 ID:ZmAmQRwL.net
オラクルの貢ぐ君の多いこと

650 :647:2017/02/28(火) 00:10:11.29 ID:hDpdGzmn.net
ディスってるでしょ?

651 :デフォルトの名無しさん:2017/02/28(火) 02:26:33.48 ID:Hoo3RqfE.net
int [] a = { 8 , 0 , 2 , 0 , 5 } ; //要素数5
配列aに現在例えば上記の数値が代入されているとして、

変数bに0、1、2、3、4のいずれかの整数を代入する時、配列aに入っている数値の比率8:0:2:0:5で、どの数値を代入するかが決まるようにしたいと思っています。
変数bに0が代入される確率は8、変数bに1か3が代入される確率は無し、変数bに2が代入される確率は2、変数bに4が代入される確率は5といった具合です。
Math.Randomだとどうも適さないし、どうするべきかわからなくて困っているのですが、いい方法はないでしょうか?

652 :デフォルトの名無しさん:2017/02/28(火) 04:23:24.19 ID:3++kZ/NV.net
(0〜aの総和)の範囲で乱数値取って
0〜a[0]、a[0]〜a[0]+a[1]、…のどこに入るか判定したら終わりじゃないの?

653 :デフォルトの名無しさん:2017/02/28(火) 07:00:43.70 ID:jFkZ2a+t.net
0が8個、2が2個、4が5個入った配列を作る
どれか一つランダムに選ぶ
終わり

654 :デフォルトの名無しさん:2017/02/28(火) 09:32:49.41 ID:pMwCWGGN.net
>>653
おまえは算数の天才か

655 :デフォルトの名無しさん:2017/02/28(火) 09:41:24.82 ID:HD6mrdCw.net
( ゚д゚ )

656 :デフォルトの名無しさん:2017/02/28(火) 09:43:32.86 ID:LbHc6kam.net
>>653
概念的にもわかりやすいですね
ありがとうございます

657 :デフォルトの名無しさん:2017/02/28(火) 10:00:28.92 ID:xXieWbDw.net
>>644
>>645
>>646
ありがとうございます!なら問題様と割り切って覚えれば良さそうですね
でも質問に答えてくれる皆さんは当然分かってるわけでbronzeの問題も馬鹿に出来たものではないですね

>>653
プログラマーの柔軟差ってほんとすごいなー

658 :デフォルトの名無しさん:2017/02/28(火) 14:36:16.76 ID:xXieWbDw.net
Oracle社…
まさかの受験料承りましたメールに最長三日
ITの親玉企業がなんというレスポンスの悪さなんだ…

659 :デフォルトの名無しさん:2017/02/28(火) 14:39:58.65 ID:ym9kvrf3.net
Oracle社と関わると3日でレスポンスが来るなんて、なんて今回は迅速なんだ!
って思うようになるよ。

660 :デフォルトの名無しさん:2017/02/28(火) 14:42:21.56 ID:xXieWbDw.net
>>659
泣けますね
休みの今日心臓バクバクさせてやったる!と思った矢先にこれとは…

661 :デフォルトの名無しさん:2017/02/28(火) 22:34:55.47 ID:XOgi6R7c.net
日本企業:その日のうちに返信がなければクレームが入る
外国企業:レスポンスがあったらラッキー

662 :デフォルトの名無しさん:2017/02/28(火) 23:37:01.69 ID:i3lRW5fA.net
Ctrl+Cで 文字列コピー出来るけど、コピーされる場所にプログラム側から文字列をセットする方法ってないん?

663 :デフォルトの名無しさん:2017/03/01(水) 00:05:34.28 ID:4DwsJRBL.net
>>662
import java.awt.Toolkit;
import java.awt.datatransfer.Clipboard;
import java.awt.datatransfer.StringSelection;

public class ClipboardTest
{
public static void main(String[] args) throws Exception
{
Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
StringSelection selection = new StringSelection("hoge");
clipboard.setContents(selection, selection);
}
}

詳しくは Java クリップボード で検索

664 :デフォルトの名無しさん:2017/03/01(水) 00:06:12.77 ID:toMXAIQh.net
何がしたいのかまるで想像できない

665 :デフォルトの名無しさん:2017/03/01(水) 00:25:34.84 ID:FyLdFaza.net
>>663有難う御座います

666 :デフォルトの名無しさん:2017/03/01(水) 00:40:54.95 ID:fG1+D+Az.net
今開発現場では、カプセル化などの考え方はあまり用いられないというのは本当ですか?

667 :デフォルトの名無しさん:2017/03/01(水) 00:49:29.83 ID:MvC20mv8.net
誰がそんなこと言ったんだ
上司なら職場は変えとけ
不幸になるぞ

668 :666:2017/03/01(水) 01:12:07.30 ID:fG1+D+Az.net
>>667
いや、プログラマー板でそういう意見を目にしたんです。今はオブジェクト指向はあまり使われないと。友人も継承は使わないと言ってました。

669 :デフォルトの名無しさん:2017/03/01(水) 01:27:03.36 ID:s509Orww.net
コマンドプロンプトからコンパイルした際に以下のメソッドを宣言してる1行のみ8つエラー出てコンパイルできないのですが、
別に間違ってないと思うのだけど何が問題なのでしょうか?

public static int furiwake(int a[] , int b) { //振り分けして値を返すメソッド

public の p   式の開始が不正です
static の s   式の開始が不正です
static と int の間  ' ; ' がありません
int a[] の a   ' .class ' がありません
int a[] の ]   式の開始が不正です
int a[] の [   文ではありません
a[] , int b の ,   ' ; ' がありません
) の部分       ' ; ' がありません

670 :デフォルトの名無しさん:2017/03/01(水) 01:41:20.16 ID:4DwsJRBL.net
他のメソッド内でメソッド宣言してるんじゃないだろうか?

671 :デフォルトの名無しさん:2017/03/01(水) 01:45:00.39 ID:4DwsJRBL.net
public class Test {
public static void main(String[] args) {
public static int furiwake(int a[], int b) { return 0; } // あかん
}

public static int furiwake(int a[], int b) { return 0; } // OK
}

672 :デフォルトの名無しさん:2017/03/01(水) 07:17:04.41 ID:1blAx5JV.net
返り値でインスタンス返すメソッドって普段使ってるけど実体はどうなってんの?
メソッド内でインスタンス作成したら、
メソッド終了時にそのインスタンスは消滅しそうな気がするが、
返した場合のみ消えないの?
それとも返すときにメモリコピーとかしてんの?

673 :デフォルトの名無しさん:2017/03/01(水) 07:30:44.52 ID:myGch7Sv.net
>>672
インスタンスはスタックじゃなくてヒープに作られるから消えないんだよ

674 :デフォルトの名無しさん:2017/03/01(水) 08:03:28.40 ID:3ogpjbKC.net
>>670
なるほど
mainの内側に書いちゃってたかも知れません
ありがとうございます

675 :デフォルトの名無しさん:2017/03/01(水) 08:06:34.53 ID:yuocqMDO.net
>>651-653
8+0+2+0+5 = 15

Math.Randomで、0〜14の乱数を得る

0〜7 → 8
8〜9 → 2
10〜14 → 5

676 :デフォルトの名無しさん:2017/03/01(水) 08:27:57.73 ID:x/fyOqvy.net
>>668
マ板と友人なら本人に聞けよ
少なくともJavaでオブジェクト指向使わないとか継承使わないとかあり得ない
別の言語の話か、またはとても限定された場面での話を混同してるんだろう

例えば最近のWeb開発でHttpServletを直接継承するようなことはないとか、F/W部品を継承する代わりにアノテーションで指定することが増えてるとかさ

677 :デフォルトの名無しさん:2017/03/01(水) 08:49:56.55 ID:UySglzi8.net
>>672
基本的にインスタンスは参照されなくなってからガベコレ様の気が向いたときに初めて消滅する
メソッド終了くらいじゃガベコレ様は動いてくれない
どこかでひっそりと参照してるとガベコレ様は動いてくれない
ガベコレ地獄の始まりじゃ

678 :デフォルトの名無しさん:2017/03/01(水) 12:00:26.70 ID:CRzwIyGv.net
>>676
みずほ絡みのコーダー連中は、部品配置単純工だからオブジェクト指向や継承なんて
関係ないだろうね。もっともそういった基盤の考え方があっての部品配置単純工システムなのだが、
単純工自身には関係のない話と言う意味で。

そしてこの部品配置単純工がJava熟練者という触れ込みで世の中出回りだす。

679 :デフォルトの名無しさん:2017/03/01(水) 12:10:07.82 ID:2HFWOrMD.net
せめて青い銀行とか言え
企業名出すな

680 :668:2017/03/01(水) 12:16:03.49 ID:fG1+D+Az.net
>>676
分かりました。
ありがとうございました。

681 :デフォルトの名無しさん:2017/03/01(水) 12:49:45.93 ID:x/fyOqvy.net
>>678
青い銀行のノンプロ見たけど酷いなほんと
管理する側から見たときに統一性があって保守しやすいとか利点挙げたいのはわかるけど、あそこで育ったやつ外に出したら生きていけないぞ
IT版の刺身にたんぽぽ乗せる仕事みたいなw

682 :デフォルトの名無しさん:2017/03/01(水) 13:16:28.83 ID:7k9RxcRI.net
段々スレチ感が漂ってきている
そもそもマ板の話をム板まで持って来るのか

683 :デフォルトの名無しさん:2017/03/01(水) 14:30:11.29 ID:1blAx5JV.net
>>673,>>677
ありがとう。
ついでにガベージコレクションのイメージが少し掴めた気がする。

684 :デフォルトの名無しさん:2017/03/01(水) 20:06:35.24 ID:1blAx5JV.net
スレ違いじゃない!
インスタンスとメモリに関する崇高なJavaの話題だ!

685 :デフォルトの名無しさん:2017/03/01(水) 21:26:21.93 ID:PTRdQr+5.net
>>672
C言語だとmalloc()で確保した構造体へのポインタ返してるのと同じようなものだよ。

と書いてわかってくれるかどうかはわからんが。

686 :デフォルトの名無しさん:2017/03/01(水) 22:19:20.69 ID:X1Ti2hw2.net
>>681
本当にそうですね。
素質ある人も多いだけに尚残念な話です。

そんな人達は青銀行脱出して
もっとのびのびとできる所探して
頑張ってほしいものです。

687 :デフォルトの名無しさん:2017/03/01(水) 23:34:01.09 ID:1blAx5JV.net
>>685
Cのほうが慣れてるからその例えめちゃくちゃ分かりやすい。
それでJavaの場合はCで言うところのfreeが不要で、
ガベージ・コレクションなるおじさんが頃合いを見計らって
使ってない領域を解放しにくるんだな。
ありがとう。

688 :デフォルトの名無しさん:2017/03/02(木) 01:23:14.63 ID:DCGk0mjC.net
その通りぢゃ

689 :デフォルトの名無しさん:2017/03/02(木) 16:54:52.21 ID:1H6wlyeO.net
C言語で下記の様な構造体のデータがあって、このデータをバイナリで書き出しているファイルがあります。

typedef struct {
unsigned char a;
unsigned char b;
unsigned char c;
} A;

typedef struct {
unsigned char d;
unsigned char e;
A a[10];
unsigned char f;
} B;

typedef struct {
B b[10];
unsigned char aa[10];
struct {
unsigned char ab;
unsigned char ac;
unsigned short ad;
} dat[10];
unsigned short sum;
} C;

Javaでこのデータを読み込んで同じデータとして使用したいのですが構造体が無い為、どう実装していいかわかりません。
単純な構造であればシリアライズとデシリアライズで行けるのかと思ったのですが、上記の様な構造体だと
クラスの配列になるのでうまくいかないですよね?

どうすればいいでしょうか?

690 :デフォルトの名無しさん:2017/03/02(木) 17:08:46.51 ID:DKxaAEU+.net
>>689
素でやるならbytestreamで読んでsizeof(Type)で区切って型変換するようなParserを書くんじゃダメ?
固定長になるならそれで行けると思うんだけど

691 :デフォルトの名無しさん:2017/03/02(木) 17:45:01.81 ID:1H6wlyeO.net
>690
やっぱそうするしかないでしょうか。
使用したデータを更新してまた同じ形式で書き出す必要があるので、読み込んだデータをそのままクラスとして
出来て、そのまま書き出す方法が無いかと思ったのですが・・・。

692 :デフォルトの名無しさん:2017/03/02(木) 17:56:00.49 ID:5xdornxH.net
ないんだよなあ。
だからググると世界中の人が似たようなもの作ってたりするんだよなあ。
俺はPrelの pack, unpck みたいなやつ作ったしなあ。

693 :デフォルトの名無しさん:2017/03/02(木) 19:18:46.49 ID:tOCPWbBv.net
Cでバイナリを読んでJsonで吐き出すプログラムを書けばいいじゃん

694 :デフォルトの名無しさん:2017/03/02(木) 22:39:49.72 ID:B/hoSVY0.net
>>687
頃合いを見計らって じゃなくて
気が向いたときに周りの都合にお構いなく だぞ

695 :デフォルトの名無しさん:2017/03/02(木) 22:46:52.45 ID:f8afki70.net
入門書として新・明解Java入門とスッキリわかるJava入門 第2版 で迷っています
プログラミングについてゼロから学びたいと思っているのですがこの2つのどちらがいいか(あるいはほかの何か)アドバイスいただけると嬉しいです

696 :デフォルトの名無しさん:2017/03/02(木) 22:56:40.23 ID:RzY2evT5.net
Javaは0から学ぶには向いてないんじゃないかなーって

697 :デフォルトの名無しさん:2017/03/02(木) 23:26:52.28 ID:tOCPWbBv.net
独習C

698 :デフォルトの名無しさん:2017/03/02(木) 23:38:21.98 ID:XOZN9kk9.net
苦C

699 :デフォルトの名無しさん:2017/03/02(木) 23:44:04.69 ID:f8afki70.net
>>696
難しいのは知っていますが、塾なしで東大に入ったしこれも一人でいけるかなと思ったんですが厳しいですかね
java以外だと何がおすすめですか?一応androidアプリを作りたいという目標はあります
>>697 先にc言語を学んだ方がいいと言うことでしょうか

あとmac使うつもりです

700 :デフォルトの名無しさん:2017/03/02(木) 23:59:04.14 ID:68HRDNS2.net
>>699
そのレベルなら一度やってみたら?
半月くらいやってみたらいいんじゃないかね。
半月くらいやってからAndroid開発やってみれば、
足りないところとか見えてくるから、そこを追加で学習する感じ。

701 :デフォルトの名無しさん:2017/03/03(金) 00:47:45.72 ID:+y/jzG05.net
>>695
俺はアドバイスできるほどのレベルでもないですが、スッキリJavaお薦めですよ。
3、4周しましたが分かりやすいです。
ぜひ立ち読みしてから、購入を考えてみて下さい。

702 :スッキリ厨:2017/03/03(金) 01:13:58.54 ID:VmWbxx1t.net
まずこの本を3回読んで、オブジェクト指向を学ぶ。
スッキリわかる Java入門 第2版、2014

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

それからは、情報処理資格・アルゴリズム・DB・他の言語など、お好きな所へどうぞ。
とにかく、スッキリを極めないと、すべての言語へ行けない

703 :デフォルトの名無しさん:2017/03/03(金) 01:44:08.07 ID:DGONTukY.net
みなさん色々アドバイスありがとうございます
早速明日書店に行ってみようと思います
独習には慣れているとはいえプログラミングは大学の講義で少し触れたことがある程度なので半月でそのようなレベルに達せられる自信はないですが、気長にやっていきます

704 :デフォルトの名無しさん:2017/03/03(金) 08:51:48.91 ID:ZYc8PgeF.net
Progateとかの学習サイトも試してみたらいいかも
俺は本買う前にあれで雰囲気掴んでから始めた
スッキリわかる買ってからは本主体になったけど色んな言語つまみ食いできるし取っ掛かりとしてはいいと思うんだけど

705 :デフォルトの名無しさん:2017/03/03(金) 09:04:54.82 ID:20yRdP3T.net
もう見てないかもしれないが…
本当に初学者ならこの辺から読むといい

・プログラムはなぜ動くのか 第2版 / 日経BP
・オブジェクト指向でなぜつくるのか 第2版 / 日経BP
・コーディングを支える技術 ~成り立ちから学ぶプログラミング作法 / 技術評論社

次に、Javaの参考書見ながら実際にコーディングする段になったら、どこのでもいいからJavaコーディング規約を手元に置いて参照すること
参考書のソースコードは内容理解が第一だから割とヒドいコードが多い
一例
ttps://future-architect.github.io/coding-standards/documents/forJava/Javaコーディング規約.html

一通り終わったらこれを流し読み
・プリンシプル オブ プログラミング3年目までに身につけたい一生役立つ101の原理原則 / 秀和システム

あとはEffective Javaでもリーダブルコードでも名著と呼ばれる奴を気になったものから摘めばいいよ
上に挙げた各書の参考文献から手を出してみてもいいかもね

706 :デフォルトの名無しさん:2017/03/03(金) 09:41:41.00 ID:CN7XccVQ.net
コード一切書いたことないのに基盤技術だけ学ぶとか拷問だろ…

707 :デフォルトの名無しさん:2017/03/03(金) 12:31:16.27 ID:IT/QqIXj.net
何の言語から始めようがどうせ将来的には複数習得するし何でも良いよ
最低でも6種類は欲しい

708 :デフォルトの名無しさん:2017/03/03(金) 20:01:06.40 ID:y06gdcdw.net
Java習得に1日以上かかったらセンスない

709 :デフォルトの名無しさん:2017/03/03(金) 20:20:48.33 ID:FQLKdKxH.net

   ̄ヽ、   _ノ ̄ ̄ ̄ ̄ ̄ ̄ ̄ヽ、   _ノ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
     `'ー '´             `'ー '´
      ○               ○
       O               O 
        o                ____
                       /   __\
         ____        . |「:  「 _・_・_・_∧
       /   __\       V/  |:[【__]∧
      . |「:  「 _・_・_・_∧     .. V/:└━‐ror┘ :〉
        V/  |:[【__]∧     /V/:...|.|_.∧
      .. V/:└━‐ror┘ :〉     八/\_____(7⌒)'  \     と思う幼女たちであった
        /V/:...|.|_.∧     ∨   \「\_ノ}=-  }
        八/\_____(7⌒)'  \    {  /「{{   人  リ
       ∨   \「\_ノ}=-  }   トミ  ヽ\/│{レミ_}
        {  /「{{   人  リ    ∨≧=‐≦ |o| f勺
        トミ  ヽ\/│{レミ_}    ∨ ||  || |o|  /
        ∨≧=‐≦ |o| f勺     | |L二|| |/L/|
        |  ||ー‐l| |o| lL||      ー┬─┬匕゙::::|
         ∨ ||  || |o|  /        | ::::::/ }::::::::|
         | |L二|| |/L/|        {::::::::|  }二7
         ー┬─┬匕゙::::|        マ二} {--リ
            | ::::::/ }::::::::|         {.___) {___ノ
           ,'::::::::}  {:::::::リ
          {::::::::|  }二7
           マ二}  {--リ
           {.___) {___ノ

自分がそうだからと他人に同一を求めるのは愚か

710 :デフォルトの名無しさん:2017/03/03(金) 23:41:34.11 ID:+y/jzG05.net
浅いコピーと深いコピーの違いが分かりません。教えて貰えませんか?

711 :デフォルトの名無しさん:2017/03/04(土) 00:16:49.98 ID:l5kdYc5I.net
数値などのPrimitive には実体だけがあり、代入により実体がコピーされる。
参照を考えなくていい

一方、Objectでは参照(アドレス)を使い、代入により参照がコピーされる。
b = a;
としても、newは1回しか呼ばれていないから、実体は1つで、同じ実体を指してしまう

オブジェクトの中に、オブジェクトを含む構造がある場合、
外 { 中 { 内 }}

内側のオブジェクトを、newせず、コピーするのをshallow copy、
内側のオブジェクトを、再帰的にnewしながら、コピーするのをdeep copyと言う

浅いコピーでは、同じ実体を指しているから、その実体の値を変更すると、
その実体を指す、すべての参照から、変更後の値が見えるので、おかしい挙動になる

712 :デフォルトの名無しさん:2017/03/04(土) 00:24:56.55 ID:2pwhOacN.net
ちゃんと中身まで複製するのが深いコピー
外面だけ複製して中身が複製できてないのが浅いコピー

713 :デフォルトの名無しさん:2017/03/04(土) 00:31:28.95 ID:y+A67JPN.net
>>710
浅いコピーはわら人形
弄ると本体もそれに合わせて動く
人形に五寸釘を刺せば本体も死ぬ
深いコピーはクローン人間
クローンがどうなろうがオリジナルには影響ない

714 :デフォルトの名無しさん:2017/03/04(土) 00:31:45.68 ID:53W8X94X.net
じゃあ中途半端にコピーするのはなんていうんですか?

715 :デフォルトの名無しさん:2017/03/04(土) 00:42:00.27 ID:zcroer3t.net
パクリ

716 :デフォルトの名無しさん:2017/03/04(土) 00:50:43.90 ID:R7TPwJQ0.net
>>713
余計にわけがわからんw

717 :710:2017/03/04(土) 03:59:53.16 ID:WEPLiHPL.net
>>711>>712>>713
詳しい説明ありがとうございました。

718 :デフォルトの名無しさん:2017/03/06(月) 11:06:32.87 ID:Sa3Mqufl.net
>>713
straw と shallow をかけた駄洒落かよ

719 :デフォルトの名無しさん:2017/03/08(水) 19:46:50.58 ID:FydHwzb5.net
質問です
32ビット環境でコンパイルしたjarを、64ビット環境でコンパイルしたjarから呼び出した場合、何か問題が起きたりしますか?

720 :デフォルトの名無しさん:2017/03/08(水) 19:52:10.44 ID:FydHwzb5.net
719です
書き忘れました

Java8で、Java32ビット版と64ビット版の話です

よろしくお願いします

721 :デフォルトの名無しさん:2017/03/08(水) 21:18:07.20 ID:6pFYkqRC.net
>>719
起きない。全く問題なく動く。
ただし、Java VM にバグが無ければだけどね。

722 :デフォルトの名無しさん:2017/03/08(水) 21:20:15.99 ID:6pFYkqRC.net
ま、試してみればわかる。多分動く。

723 :デフォルトの名無しさん:2017/03/08(水) 22:43:35.11 ID:bXqmu+Mu.net
java言語を考えたり、公式のクラスやAPIを書いた人たちって、めちゃ頭いい気がする
彼らはそんな言語を、よく無料で我々に使わせてくれるね
宝くじか何か当たって金持ちなのだろうか?

724 :デフォルトの名無しさん:2017/03/08(水) 22:54:36.27 ID:rHvscfbf.net
白々しい

725 :デフォルトの名無しさん:2017/03/08(水) 23:01:02.73 ID:rCrDm4A6.net
DBが売れて金持ちなんだろう

726 :デフォルトの名無しさん:2017/03/08(水) 23:49:09.84 ID:4P5U5zdU.net
>>721
コンパイルするのにVMは関係ない
知ったかカッコ悪い

727 :デフォルトの名無しさん:2017/03/09(木) 01:06:27.19 ID:IJOiIxAG.net
>>721
承知です
ありがとうございます!

728 :デフォルトの名無しさん:2017/03/09(木) 09:41:49.91 ID:CPC+EEl1.net
>>726
実行時の問題だよ。コンパイルそのものは問題なくバイトコードを作るだろう。しかしそれを実行する環境が違えばそれぞれ違う Java VM だからそれぞれ違うバグがある可能性がある。それで同じ動作にならないことがある。
特にOSが違ったりGUIの環境が違うと起こりうる。Windowsで作ってMacやLinuxで動かすとかね。同様に同じOSでも32bitと64bitで違うバグが Java VM にあるかも知れない。
Write once run anywhere なんて言ってるけど、30億のデバイスで動いて客先で動かないjavaなどとも言われているw。これは実際マルチプラットホームのプログラムを作ってみればわかると思う。
意外な所でほんのちょっと違っていてハマったりする。まあOSの違いであってバグではない事もあるけどね。しかしそれを利用して特定のOS用に作ってしまうと他のOSでは違う動作になる。

729 :デフォルトの名無しさん:2017/03/09(木) 10:09:08.29 ID:sa2C8K0/.net
バグって例えばどんなのがあったの?

730 :デフォルトの名無しさん:2017/03/09(木) 10:23:33.01 ID:CPC+EEl1.net
>>729
例えばこれとか。
http://pentan.info/java/bug_deleteonexit.html
その他「Java OSによって動作が違う」等のキーワードでググれば沢山出てくると思う。

731 :デフォルトの名無しさん:2017/03/09(木) 11:23:56.46 ID:kmqm9+wP.net
JVMの中で閉じてる部分は基本的に問題ないよ
問題は閉じていない部分、例えば入出力とかファイルシステムとか、あとは時間の有効桁数(ミリ秒以下何桁取れるか)も違ってる

732 :デフォルトの名無しさん:2017/03/09(木) 11:33:51.89 ID:CPC+EEl1.net
ああ。そうだね。OSによる違いの吸収をライブラリでどこまでカバーできるかの問題がある。更にそこに運悪くバグも重なる事がある。

733 :デフォルトの名無しさん:2017/03/09(木) 12:11:52.68 ID:c/ajvCtd.net
32bit環境で作成したjarが64bit環境で動くか?って初心者からの質問に対してグダグダ環境依存の話をする事が間違い
質問内容から知識が浅い事は明白なのに稀にしか起きない、しかも初心者が使うようなAPIで起きる可能性がほぼゼロな問題を長々書くのはいかがなものかと

734 :デフォルトの名無しさん:2017/03/09(木) 14:53:34.87 ID:UuUJKGp2.net
しかし確実に動くと断定できる状態にないからな。そう書いたら嘘になる。

735 :デフォルトの名無しさん:2017/03/09(木) 17:34:40.71 ID:KwhssRRL.net
サーブレットなんだけど
軌道が終わった時にログを出すのはどうすればいいの?

736 :デフォルトの名無しさん:2017/03/09(木) 17:56:43.56 ID:kmqm9+wP.net
>>735
もーちょい具体的に
普通はサーブレットコンテナ(tomcat, jettyなど)がログ吐いてるよね?

737 :デフォルトの名無しさん:2017/03/10(金) 10:57:56.71 ID:zmxWZ2DM.net
>>734
確実、絶対と言えるものがあると思ってるのか?

738 :デフォルトの名無しさん:2017/03/10(金) 11:44:15.52 ID:P05rFiiZ.net
この世で変わらないのは、変わるということだけだ。ってエロい人が言ってた

739 :デフォルトの名無しさん:2017/03/10(金) 12:17:08.11 ID:6bgFp/KF.net
宇宙の法則が乱れる

740 :デフォルトの名無しさん:2017/03/10(金) 15:05:36.68 ID:qI0AO+fV.net
>>737
1+1=2

741 :デフォルトの名無しさん:2017/03/10(金) 16:05:35.52 ID:V0V+F4pY.net
>>740
証明してくれ

742 :デフォルトの名無しさん:2017/03/10(金) 17:16:45.99 ID:YR4SAqR1.net
2進数では1+1=0

743 :デフォルトの名無しさん:2017/03/10(金) 17:39:02.79 ID:Lkoti1g0.net
それなら10だろ?

744 :デフォルトの名無しさん:2017/03/10(金) 18:53:35.12 ID:qaWOtCmf.net
1は掛けても元の数が変わらない数、0は足して元の数が変わらない数で定義できるけど、
その他の数は人間が勝手に決めた尺度だからなあ

745 :デフォルトの名無しさん:2017/03/10(金) 19:06:28.00 ID:vQv3LoxK.net
>>741
http://m.chiebukuro.yahoo.co.jp/detail/q1011667290

746 :デフォルトの名無しさん:2017/03/10(金) 19:07:30.89 ID:DgG1RnTz.net
719です

変な質問をしてしまったようですね。
申し訳ないです。

747 :デフォルトの名無しさん:2017/03/11(土) 05:50:48.66 ID:QLy/mZNj.net
気にすんな

748 :デフォルトの名無しさん:2017/03/11(土) 08:55:20.42 ID:5QSeMQ6E.net
外野勝手に喚いてるだけだから気にしなくていい

749 :デフォルトの名無しさん:2017/03/11(土) 12:36:25.36 ID:n8xNyxrE.net
ガイヤが俺にもっと喚けと喚いている
ひろ age 24

750 :デフォルトの名無しさん:2017/03/12(日) 12:39:53.18 ID:e7JBSqYg.net
すいませーん、ちょっと教えてください version 1.8.0_121 です

文字列が日付として扱えるかどうかチェックしようとして

public boolean checkDate(String hizuke) {
if ( hizuke.length() == 0) {
return false;
}

DateFormat format= DateFormat.getDateInstance();
try {
format.setLenient(false);
format.parse(hizuke);
return true;
} catch (Exception e) {
return false;
}
}

というのを作ったんですが "2017-03-11"がfalseになります
"2017/03/11"だとtrueなんですが。

これ、"2017-03-11"の場合でもtrueにしたいんですが。。。
どうすれば良い?

751 :750:2017/03/12(日) 13:03:38.41 ID:e7JBSqYg.net
とりあえず
chghizuke = hizuke.replace("-","/");
としたうえでチェックするようにはしましたが、yyyy-mm-ddが日付として認められないというのは意外というか

752 :デフォルトの名無しさん:2017/03/12(日) 13:14:37.66 ID:1AEjxjTb.net
ロケール依存だから他の環境なら逆(-が認められて/が認められない)の可能性もある)
そういう仕様だから嫌ならフォーマット指定しろ
でなきゃJava使うな

753 :デフォルトの名無しさん:2017/03/12(日) 13:23:40.46 ID:1AEjxjTb.net
Javaを使うなは割と真面目なアドバイスだぞ
Javaを使っていて今後感じるであろう冗長さ面倒さはこんなレベルではない
仕方ないなJavaだからな、で何もかも割り切れる思考が必要。信仰心とも呼ばれる

754 :デフォルトの名無しさん:2017/03/12(日) 13:37:48.11 ID:fSS0LSFN.net
つまりこう!
public static boolean checkDate(String hizuke) {
 DateTimeFormatter[] formats = {
  DateTimeFormatter.ofPattern("uuuu-MM-dd").withResolverStyle(ResolverStyle.STRICT),
  DateTimeFormatter.ofPattern("uuuu/MM/dd").withResolverStyle(ResolverStyle.STRICT)
 };
 for (DateTimeFormatter format : formats) {
  try {
   format.parse(hizuke);
   return true;
  } catch (DateTimeParseException e) {
  }
 }
 return false;
}

755 :デフォルトの名無しさん:2017/03/12(日) 13:37:58.07 ID:e7JBSqYg.net
信仰心ですかーーー w

756 :デフォルトの名無しさん:2017/03/12(日) 13:45:04.83 ID:e7JBSqYg.net
>>754
ありがとうです。
DateTimeFormatterってのはまた後で調べてみます

757 :デフォルトの名無しさん:2017/03/12(日) 21:17:15.40 ID:aYW9kq1o.net
dokojava等のコンパイラアプリで練習してるんですが、各行入力の一文字目が強制的に大文字になります…
ここで聞くべき内容じゃないのかもしれませんが、原因は何でしょうか

758 :デフォルトの名無しさん:2017/03/13(月) 02:55:45.49 ID:0Fbbs/T/.net
あなたの環境

759 :デフォルトの名無しさん:2017/03/13(月) 21:19:29.12 ID:YTRn5nLQ.net
自分で作った文章の文字数を数えてやろうと思ったんですがその場合、統合開発環境で文章ペースト時に改行をunicodeに変換
改行を""にreplaceが最もスマートなやり方ですか?

760 :デフォルトの名無しさん:2017/03/13(月) 22:27:27.96 ID:UVAX4zuU.net
>>759
LinuxみたいなUNIX系OSやCygwinみたいなUNIX環境ならコマンドラインからwcコマンドでできると思う。
もちろんそのコマンドがインストールされてなければできないが。大昔からある基本的なコマンドなので普通はある。
今時はちゃんと漢字とかも一文字でカウントしてくれる。

あ。そうだ。ここJavaのスレだから、Javaで作ればいいじゃん。一文字づつ読んでカウントするだけだから簡単だよ。

761 :デフォルトの名無しさん:2017/03/13(月) 22:59:05.18 ID:LW5xGsJa.net
つまりこう!
public static int count(Path path) throws IOException {
 return Files.lines(path)
   .map(line -> line.length())
   .reduce(0, Integer::sum);
}

762 :デフォルトの名無しさん:2017/03/13(月) 23:07:39.63 ID:nedbFnQ2.net
重いファイルからimageオブジェクト作るときの進捗状況ってどうすればわかりますか

763 :デフォルトの名無しさん:2017/03/14(火) 01:00:03.01 ID:P+kDROuz.net
>>761
なんというか、それは簡単なものを難しくしてしまったかのような印象を受けるな。w

764 :デフォルトの名無しさん:2017/03/14(火) 01:48:57.03 ID:8ZQC9mVP.net
>>761
蛇足的だけどString.length()は正確には文字数を返すメソッドでは無い
サロゲートペアも考慮するならString.codePointCount()を使わないと正しい文字数は分からない

765 :デフォルトの名無しさん:2017/03/14(火) 03:53:49.56 ID:P+kDROuz.net
後は改行をどうするかだな。1文字としてカウントするかどうか。

766 :デフォルトの名無しさん:2017/03/14(火) 19:21:34.50 ID:UFHlOqnN.net
>>762
これ分かる人いないの?

767 :デフォルトの名無しさん:2017/03/14(火) 19:24:58.06 ID:+lPCAJ5X.net
俺はやろうとしたこともなく調べたこともないのでわからない。

768 :デフォルトの名無しさん:2017/03/14(火) 19:35:21.21 ID:7IaablSW.net
そもそもその説明ではわからん
スルーされて当然

769 :デフォルトの名無しさん:2017/03/14(火) 20:51:21.68 ID:UFHlOqnN.net
わかった説明不足すまん

pdfBoxで20MくらいのPDFを画像に読み込む際にここが時間かかるから
BufferedImage bim = pdfRenderer.renderImageWithDPI(0, 300, ImageType.RGB);

読み込み進捗状況がわかればプログレスバーとかで表示できてええなと思った次第です。

770 :デフォルトの名無しさん:2017/03/14(火) 21:08:05.03 ID:oy9qM5dd.net
Servlet+JSPってWeb Formsの.aspx.cs+.aspxみたいなものですか?

771 :デフォルトの名無しさん:2017/03/14(火) 22:45:07.32 ID:RBmfhHqQ.net
>>770
Web Formsの方がまだまし

772 :デフォルトの名無しさん:2017/03/15(水) 09:54:25.35 ID:nvMJjtxM.net
>>769
javaでは無理

773 :デフォルトの名無しさん:2017/03/15(水) 12:43:56.50 ID:8F8YsJXw.net
>>772
ありがとうございました。

774 :デフォルトの名無しさん:2017/03/15(水) 12:47:33.01 ID:YGGhTUX9.net
PDFってAndroidでの話か

775 :デフォルトの名無しさん:2017/03/15(水) 13:56:46.04 ID:8F8YsJXw.net
>>774
Apache PDFBoxですよ
JavaでPDFを操作するライブラリです。

776 :デフォルトの名無しさん:2017/03/15(水) 17:52:42.53 ID:ui/I0OuL.net
スッキリjava読み終わってオブジェクト指向は6割程度理解したところで
とりあえず次に進もうと思うんですが
もうAndroidアプリ作成に挑戦しても大丈夫でしょうか
それとももっと徹底的に基礎やるか
アプリ作成していく上で必要になったものをググってやっていくか
どちらがおすすめですか
それとも他にやることあるでしょうか?

777 :デフォルトの名無しさん:2017/03/15(水) 18:44:36.33 ID:Md4nAop/.net
>>776
よく頑張った
じゃあJavaを窓から放り投げてVS.NET2017入れてXamarinやろう

778 :デフォルトの名無しさん:2017/03/15(水) 20:29:54.14 ID:DqvvjAtL.net
>>776
作れ作れどんどん作れ

779 :デフォルトの名無しさん:2017/03/15(水) 20:34:24.02 ID:bnx9ebzK.net
これから毎日コード書こうぜ
どぅんどぅん書こうぜ

780 :デフォルトの名無しさん:2017/03/15(水) 22:53:08.91 ID:wE2X/iLm.net
>>777
調べてみます
>>778
>>779
わかりましたゴリゴリいきます
ありがとうございます

781 :デフォルトの名無しさん:2017/03/15(水) 23:46:36.27 ID:VEU4RUfR.net
割とまじめに、AndroidをJavaで書くのは少し考えた方がいいよ
HTMLベースでiOSとクロスプラットフォーム開発も増えてるし、AltJavaでKotlin使うところも増えてる
Xamarinもクロスプラットフォームの部類な

782 :デフォルトの名無しさん:2017/03/16(木) 00:23:17.69 ID:XZ4cdjpA.net
>>781
その辺もまだまだ未知なんで調べていきますありがとうございます

783 :デフォルトの名無しさん:2017/03/16(木) 00:32:17.50 ID:yvJi5tFd.net
>>753
まず、System.out.println……で殺意を覚えるけど仕方ないなjavaだもんな(´・ω・`)
cの\n地獄も嫌だしな

784 :デフォルトの名無しさん:2017/03/16(木) 01:49:09.74 ID:IIBob/uG.net
その程度で殺意とか戦闘民族かよ

785 :デフォルトの名無しさん:2017/03/16(木) 02:38:11.15 ID:E3HFu8gT.net
>>781
割とまじめに書くと、AndroidのネイティブはJavaなのでCordova、Kotlin、Xamarin、Unity等々使ってもJavaの知識がいらなくなる訳ではないし、glue層、プラットフォーム層、アプリ層とレイヤーが増えるので不具合が起きた時の解析難易度は一気に上がる

786 :デフォルトの名無しさん:2017/03/16(木) 03:35:53.04 ID:3/mNwmhy.net
全くの無知ですがJpegEncoder
https://www.media.mit.edu/pia/Research/deepview/src/JpegEncoder.java
が必要なために質問させてください
JDKをインストールし次のように実行しましたが、ツールが起動できませんでした
解決法をお願いします

C:\Program Files\Java\jdk1.8.0_121\bin>javac JpegEncoder.java
注意:JpegEncoder.javaの操作は、未チェックまたは安全ではありません。
注意:詳細は、-Xlint:uncheckedオプションを指定して再コンパイルしてください。

C:\Program Files\Java\jdk1.8.0_121\bin>java JpegEncoder
エラー: メイン・メソッドがクラスJpegEncoderで見つかりません。次のようにメイン・
メソッドを定義してください。
public static void main(String[] args)
またはJavaFXアプリケーション・クラスはjavafx.application.Applicationを拡張する必
要があります

787 :デフォルトの名無しさん:2017/03/16(木) 12:54:16.09 ID:LvVdBh1p.net
AndroidでSwiftを採用する噂もあるけど、それ系の話はスレチだから泥スレでやれ

788 :デフォルトの名無しさん:2017/03/16(木) 15:26:50.92 ID:qnnKBm6U.net
javac -Xlint:unchecked JpegEncoder.java じゃないのかよ

789 :デフォルトの名無しさん:2017/03/16(木) 19:05:59.41 ID:enc9YkOF.net
すみません
眠くてログを貼ってなかったです
オプションを使ったら警告のログがでますが、その後javaで実行しても結果は同じでした

C:\Program Files\Java\jdk1.8.0_121\bin>javac -Xlint:unchecked JpegEncoder.java
JpegEncoder.java:865: 警告: [unchecked] raw型VectorのメンバーとしてのaddElement(
E)への無検査呼出しです
bits.addElement(bitsDCluminance);
^
こんな似たようなエラーが8つでます
警告8個です
全文コピペしたいのですが、2chで○っぱいエラーがでるので省略します

790 :デフォルトの名無しさん:2017/03/16(木) 19:16:42.10 ID:JyenaZek.net
いや眠いとかどうでもいいし
何がしたいのかわからんから何も答えようがない
mainがないって怒られてんだからmain書いたら?

791 :デフォルトの名無しさん:2017/03/16(木) 19:49:19.03 ID:jx8lVvlo.net
javacって警告なしだとクラスファイル作成されなかったけ

詳しくは見てはないけどコメントの日付やVector使っているあたり、ジェネリクスすらない時代の遺物だから型推測の部分で警告が出てる

そのソースを絶対に使う必要がないなら別のソースやライブラリ使った方がいいと思うが...クラス名からJpeg変換とかくさそうだし何をしたいかを書いた方がいいと思う

792 :デフォルトの名無しさん:2017/03/16(木) 19:50:28.69 ID:jx8lVvlo.net
間違えた

>警告なし
警告あり

793 :デフォルトの名無しさん:2017/03/16(木) 22:59:32.34 ID:03VPEn4X.net
>>791
おまえも何言ってんだよ
786の実行時のエラーメッセージ見えてないのか一度眼科行ってこい

794 :デフォルトの名無しさん:2017/03/16(木) 23:27:27.15 ID:8Hl8VaYG.net
>>786
C:\Program Files\Java\jdk1.8.0_121\bin>java JpegEncoder

エラー: メイン・メソッドがクラスJpegEncoderで見つかりません。
次のようにメイン・メソッドを定義してください。
public static void main(String[] args)

またはJavaFXアプリケーション・クラスは
javafx.application.Applicationを拡張する必要があります

795 :デフォルトの名無しさん:2017/03/17(金) 02:15:18.86 ID:naakr855.net
てか、javac 実行しているディレクトリなんなんだよ。そんな所に一緒にソース置いてんのかよ。
もしや環境変数のPATHを知らんのか? もし知らないならまずはそれを調べてちゃんとセットしてから使った方が良い。

796 :デフォルトの名無しさん:2017/03/17(金) 03:03:33.94 ID:rn4RzB8t.net
>>790
何がしたいかと言われてもJpegEncoderを起動したいだけ
main書けと言われても>>786で言ったように俺はJAVAに関しては全くの無知だから
JpegEncoder.javaのソースをみてどれがmainとかわからんし
>>791
ちょっと手直ししてあるソースを使っても同じだった
>>795
JAVAのプログラムはこれっきりだし、いちいちパスつけるのが面倒
binのディレクトリの中なら誤作動ないし、そもそも仮想環境だから汚れても平気

797 :デフォルトの名無しさん:2017/03/17(金) 03:14:46.71 ID:naakr855.net
>>796
main作れよ。ないから。
そのクラスをいじりたくないなら他のクラス作ってそっちにmain作ってそっちから実行すればいい。

mainがないと実行できないってことがわかってないようなら入門書の最初の方読め。またはググって探せ。かなり基礎的なことだから。

798 :デフォルトの名無しさん:2017/03/17(金) 03:42:38.23 ID:zPEoLLc9.net
優しいなあ

799 :デフォルトの名無しさん:2017/03/17(金) 07:30:52.32 ID:khMayeoP.net
結局何がやりたいのかわからんのだが…

>>796
もう一回聞くけど、そもそもの目的はなんなんだと
何か目的があってそれに合うものを探したら今回のプログラムが見つかったんではないの?
あんたの本当にやりたいことはJpegEncoderを起動することなの?

例えばさ、Googleがwindows/Linuxで使えるJpegEncoderとか出してるわけで、
ttps://github.com/google/guetzli
そういうのを使わずになぜあえて何も知らないJavaでやるんだよ

800 :デフォルトの名無しさん:2017/03/17(金) 09:23:42.46 ID:mIFirE3d.net
>>796
これ起動するものじゃないよ
別のプログラムから呼び出して使うライブラリだよ
名前が同じ別の何かと間違えてるんじゃない?

801 :デフォルトの名無しさん:2017/03/17(金) 11:34:46.13 ID:wMPJu+yP.net
ほっとけよもうマジで…

802 :デフォルトの名無しさん:2017/03/17(金) 14:34:51.58 ID:XPZs+Dis.net
>>797
俺の代わりにmain作って
俺はJavaを勉強したいわけじゃなくて、JpegEncoderを手に入れたいからSDKを入れただけだし

>>799
JpegEncoderでとある画像を開く、これが目的
これ以上の目的などない
しかもJames RのJpegEncoderじゃないとダメ

>>800
https://www.media.mit.edu/pia/Research/deepview/src/JpegEncoder.javaを利用して
画像を開かないとダメらしい
他のプログラムから読み出すならそのプログラムが何か調べたけどなさそう

803 :デフォルトの名無しさん:2017/03/17(金) 15:10:23.60 ID:fTRgnT5y.net
>>802
「らしい」って誰かにそれで画像開けるようにしてって言われたん?
その人に言えば?main作ってってw

804 :デフォルトの名無しさん:2017/03/17(金) 15:48:11.85 ID:lm0sC0uY.net
>>802
JpegEncoderで開くって?
これは画像ファイルをquality指定してjoeg形式に変換するプログラムだぞ
それを認識した上でmain実装してくれなら対象の画像提供してくれなきゃ動作確認もできんよ

805 :デフォルトの名無しさん:2017/03/17(金) 15:49:01.20 ID:lm0sC0uY.net
joeg -> jpeg

806 :デフォルトの名無しさん:2017/03/17(金) 15:58:50.22 ID:wMPJu+yP.net
プログラマー様からの見積もりをくらいてぇのか

807 :デフォルトの名無しさん:2017/03/17(金) 16:00:38.21 ID:xT3goFZF.net
勉強目的でないならJava入門スレで聞いてんなよツルッパゲ

808 :デフォルトの名無しさん:2017/03/17(金) 16:39:36.94 ID:jlkvHmge.net
コントラスタが public JpegEncoder(Image image, int quality, OutputStream out) だからimage、quality、OutputStreamを作ってよびだして
OutputStreamをファイルに落とすとかじゃねえの?
試しにやってみればいいじゃない

809 :デフォルトの名無しさん:2017/03/17(金) 19:44:35.32 ID:Eh51nHBe.net
>>802
それ使いたいならそれが使える分ぐらいはJava覚えろよ。
そらができないなら金を出して人に頼みな。

810 :デフォルトの名無しさん:2017/03/18(土) 00:33:17.34 ID:aXqcSNDp.net
遂にjavaマスターしました
皆さん今までありがとう

811 :デフォルトの名無しさん:2017/03/18(土) 04:03:37.23 ID:+gS4HKhC.net
おめ

812 :デフォルトの名無しさん:2017/03/18(土) 12:26:16.32 ID:LmyaxlI7.net
おめでとう!おめでとう!

813 :デフォルトの名無しさん:2017/03/18(土) 14:22:05.86 ID:IfcuZKcb.net
マスターってことは弟子を採れるわけだね

814 :デフォルトの名無しさん:2017/03/18(土) 16:05:14.35 ID:+gS4HKhC.net
Jedi Master と Java Master はどちらが強いですか?

815 :デフォルトの名無しさん:2017/03/18(土) 22:57:16.65 ID:kG83N3fY.net
JDBCRealmの挙動が気に入らない(サルトやストレッチングが無いとかそういうの)んだけど
サーバーサイドJava業界ではカスタム認証する場合ってRealmを実装するのが標準的なの?
それともRealmを捨て去って他の方法で実現するのがいいのかな?

816 :デフォルトの名無しさん:2017/03/19(日) 01:47:31.20 ID:2aHcKY24.net
認証が要件に入ってくるような企業なら大体LDAP動いてるからそっちを使う
そういうのが無い企業なら、先に認証周りの基盤作ることを提案するわ
絶対今回だけでは済まないもの

817 :デフォルトの名無しさん:2017/03/19(日) 01:52:30.67 ID:yQ6I5BAH.net
どこまで出来たらマスターしたって言えるん?

818 :デフォルトの名無しさん:2017/03/19(日) 02:14:40.12 ID:AdiyVgxC.net
おいしいコーヒーを淹れることが出来たら

819 :デフォルトの名無しさん:2017/03/19(日) 03:22:15.03 ID:TuVtJt93.net
ゼロ割りして、たまに余りがでるくらいならマスターと名乗ってよい

820 :デフォルトの名無しさん:2017/03/19(日) 09:27:00.03 ID:DJjYEA61.net
>>819
ネ申 かよ

821 :デフォルトの名無しさん:2017/03/19(日) 13:01:15.09 ID:58yonE+5.net
なおチャックノリスもゼロ除算ができるとのこと

822 :デフォルトの名無しさん:2017/03/19(日) 15:20:03.32 ID:bt6/mtIM.net
このスレで質問しても無駄だったか
mainとやらも作る人もいないし、所詮初心者しか集まらないから
ここで聞くのも無意味だったか

823 :デフォルトの名無しさん:2017/03/19(日) 16:03:58.34 ID:9wiwOgEG.net
えっ?mainて本の最初の方にのってる奴だよね
今日から本読み始めた超入門者だけど見た気がするよ
mainから処理がはじまりその中に命令を書いたり他のクラスを利用したりすことができるんだよね

824 :デフォルトの名無しさん:2017/03/19(日) 16:29:47.64 ID:n181mAZK.net
だから作ってやるから検証用に対象の画像出せって言ってるだろ

825 :デフォルトの名無しさん:2017/03/19(日) 17:31:40.50 ID:2aHcKY24.net
いいよもう煽って何かさせようとするだけ無駄

826 :デフォルトの名無しさん:2017/03/19(日) 18:00:02.58 ID:RDzLif+g.net
>>822
必ず必要なmainを作れないのは誰かな?

827 :デフォルトの名無しさん:2017/03/19(日) 18:03:11.99 ID:l+8A/gat.net
目を合わせちゃいけません

828 :デフォルトの名無しさん:2017/03/19(日) 18:26:54.01 ID:cSt3/uVu.net
「目」を合わせちゃ「い」けませ「ん」

829 :デフォルトの名無しさん:2017/03/19(日) 19:04:27.64 ID:HjDu3Co2.net
>>810
ぜひ下記の問題をやってみて下さい。

以下のプログラムがあります。
class A {
public void foo() { System.out.println("A.foo()"); }
}
class B extends A {
public void foo() { System.out.println("B.foo()"); }
}
class C extends B {
public void foo() { System.out.println("C.foo()"); }
}
class Test {
public static void main(String [] args) {
B b = new C();
b.foo();
}
}

実行結果はどうなりますか?

830 :デフォルトの名無しさん:2017/03/19(日) 19:08:25.16 ID:s1NeABnr.net
>>829
staticでもないのにnewしてないC.foo()なんて呼べるの?

831 :デフォルトの名無しさん:2017/03/19(日) 19:09:36.07 ID:s1NeABnr.net
あ、間違えたはずかし
普通にC.foo()か

832 :デフォルトの名無しさん:2017/03/19(日) 20:03:55.41 ID:fXU5KAz6.net
中国語では幸福と書いてシーフーと読みます

833 :デフォルトの名無しさん:2017/03/19(日) 22:59:51.48 ID:tLuoitms.net
>>829
わかりません

834 :デフォルトの名無しさん:2017/03/19(日) 23:38:40.43 ID:eHLQKPhT.net
ダブルコーテーションが罠なのだけはわかる

835 :デフォルトの名無しさん:2017/03/19(日) 23:48:16.41 ID:31KqLn30.net
ここに質問して回答を待つ手間考えたら
自分自身で実行した方が早いと思うんだが

836 :デフォルトの名無しさん:2017/03/20(月) 00:00:44.31 ID:xJB8N6P4.net
>>822
class main {
public static void main(String [] augs) {
//メインってこれのこと?
}
}

837 :829:2017/03/20(月) 00:11:34.00 ID:5XocBJvS.net
>>835
いや、どうなるかは知ってます。
>>810さんに腕試しに解いて頂きたかったんです。そんなに難しくはないですがね。

838 :835:2017/03/20(月) 00:30:30.66 ID:G9ywqs9q.net
>>837
ごめんごめん
アンカー先見てなかったや

839 :デフォルトの名無しさん:2017/03/20(月) 07:12:08.22 ID:0AsGkSL3.net
>>836
惜しい
ちょっと違う

840 :デフォルトの名無しさん:2017/03/20(月) 17:25:46.56 ID:Roh8UBPi.net
augs

841 :デフォルトの名無しさん:2017/03/20(月) 17:46:06.56 ID:5kQCOymv.net
class m ain と[]の位置もね

842 :デフォルトの名無しさん:2017/03/20(月) 21:52:54.31 ID:OIm6dzkc.net
初心者同士の醜いスレだな
マスターしてさっさと卒業するべし

843 :デフォルトの名無しさん:2017/03/20(月) 22:27:04.78 ID:LNmD8hM7.net
お、おう

844 :デフォルトの名無しさん:2017/03/21(火) 21:25:09.69 ID:SpFyyB/8.net
何ができたら初心者でなくなるの?

845 :デフォルトの名無しさん:2017/03/21(火) 21:27:33.58 ID:WThEoqoK.net
就職してコードが書けたら

846 :デフォルトの名無しさん:2017/03/21(火) 21:51:36.12 ID:Isq+NasM.net
openJDKなりapache harmonyのjava.ioパッケージのxxxInputStream、xxxOutputStreamの実装が読めるようになったら初心者じゃないと思う

847 :デフォルトの名無しさん:2017/03/21(火) 22:14:25.83 ID:DWQU0H6F.net
美味しいコーヒーを淹れることができるようになったら

848 :デフォルトの名無しさん:2017/03/21(火) 23:33:09.02 ID:V4lnOeL3.net
初心者すぎる質問ですまんがJavaBeansってあるじゃん?
引数なしコンストラクタとゲッターセッターフルオープンの破廉恥クラスなんてアプリ作るのに必要ないと思うんだが
みんななんであんな規約をありがたがってんの?
あれがないとJavaの世界ではやっていけないの?

849 :デフォルトの名無しさん:2017/03/22(水) 00:05:19.32 ID:OU5ICY6u.net
>>848
それがいいことだと昔そうなっただけで結果的にはそれほどいい考え方でもなかった。それなのに頭が古いのはこだわっていまでもカプセル化が絶対正しいとか言ってるだけ。

850 :デフォルトの名無しさん:2017/03/22(水) 00:22:50.51 ID:0kIqNkR0.net
いやカプセル化は良い事だろ
アクセサ完備とかいう規約は気が狂ってると思う

851 :デフォルトの名無しさん:2017/03/22(水) 07:40:18.69 ID:cndipbBR.net
>>848
ありがたがってはないよ。みんなクソだと思ってるんじゃない。一応Lombokっていうライブラリがあったりもするけど

852 :デフォルトの名無しさん:2017/03/22(水) 09:59:36.50 ID:HKchav2f.net
ビーンズは本当ならDelphiみたいに言語レベルでサポートすべきものを全て人間に書かせて実現しようとしたところに無理があるように思った。

853 :デフォルトの名無しさん:2017/03/22(水) 10:44:56.74 ID:k3+dtBci.net
>>845
初心者クラスを継承する新しいクラスにチェンジできたら……か

854 :デフォルトの名無しさん:2017/03/22(水) 20:43:08.75 ID:CdcF/dkk.net
public class 教えてくん extends 初心者 {
}

855 :デフォルトの名無しさん:2017/03/22(水) 22:38:03.99 ID:qEl3ed9E.net
Beansは機械につくらせりゃいいんだよ!

856 :デフォルトの名無しさん:2017/03/22(水) 23:00:51.38 ID:0Ho4GhDw.net
てか、言語を拡張するか、または Java VM を使った専用の別の言語を作ればよかった。

857 :デフォルトの名無しさん:2017/03/22(水) 23:28:45.01 ID:Tutn10TZ.net
Scalaをもっともっと普及させたい

858 :デフォルトの名無しさん:2017/03/23(木) 00:16:10.05 ID:G4bkYzVL.net
>>854
初心者はある意味インターフェイスみたいなもんでしょ。

859 :デフォルトの名無しさん:2017/03/23(木) 07:18:23.41 ID:24rRszQc.net
Excelで言うところのcombin関数に相当するものはjavaにはあるでしょうか?

860 :デフォルトの名無しさん:2017/03/23(木) 07:34:00.74 ID:d3ayDDDq.net
多分標準にはないが、P(n,k) = n! / k!(n-k)!を知ってりゃ5分もかからずかけるだろ?

861 :デフォルトの名無しさん:2017/03/23(木) 09:18:16.70 ID:Kezp6LUO.net
数学覚えたら捗るよ

862 :デフォルトの名無しさん:2017/03/23(木) 12:47:19.12 ID:KojLK2zr.net
おぼえなくてもググればよくね?

863 :デフォルトの名無しさん:2017/03/23(木) 12:54:30.57 ID:ccyoWIJL.net
Javaは集合で考えたり高階関数使ったりって言語じゃないから、数学覚えても活用は限定的だわな
ラムダ式も導入されたし今後に期待かな

864 :デフォルトの名無しさん:2017/03/23(木) 13:10:07.78 ID:TkRzf2lC.net
ま、数学的な論理的思考はできた方がいいな。わかんないからってすぐにキーッてなるようなのはダメ。

865 :デフォルトの名無しさん:2017/03/23(木) 20:23:02.16 ID:qM4EW3hi.net
>>864
でも数学の本を読んでつくづく思うんだが,
都合のよい定義をふりかざし,これまた都合のよい定理を,意味不明な数式の積み重ねで証明する,
そんな都合のよい積み重ねの論理の権化である数学をやって,思考力が鍛えられるのか?

866 :デフォルトの名無しさん:2017/03/23(木) 20:32:13.18 ID:M994CFFC.net
>>865
応用して自分の生活や仕事で使えればいいんだがな。
使いどころに気づかないと無意味な理論と感じても特に不思議はないな。

867 :デフォルトの名無しさん:2017/03/23(木) 20:39:56.62 ID:qM4EW3hi.net
>>866
もう無意味・ナンセンスな抽象論にしかみえない,数学は

868 :デフォルトの名無しさん:2017/03/23(木) 21:50:02.08 ID:SqyLsKi6.net
腐ってもプログラマーなんだから数学出来なくてもいいけど数学意味ないはないわ

869 :デフォルトの名無しさん:2017/03/23(木) 22:07:02.23 ID:Kezp6LUO.net
高校数学くらいはできなきゃ恥ずかしいぞ

870 :デフォルトの名無しさん:2017/03/23(木) 22:07:51.12 ID:KojLK2zr.net
この数式は実生活のどんな時に使えるのか学校の数学の授業で教えてくれたらいいのにね
そしたら技術立国日本が復活するかも・・・しないかw

871 :デフォルトの名無しさん:2017/03/23(木) 23:53:03.10 ID:TAQVBNgm.net
>>870
役に立たない職業に就いたとしても教えるのが日本のいいところ。

872 :デフォルトの名無しさん:2017/03/23(木) 23:54:58.05 ID:TAQVBNgm.net
>>870
学校の先生がなんの役に立つのかわかるはずがない。

873 :デフォルトの名無しさん:2017/03/24(金) 01:36:05.47 ID:zDXTVpw0.net
とりあえずピタゴラスの定理は日曜大工等をして箱状の物に斜めの棒を入れて強化する時に
棒の長さを求めるのに使える。

874 :デフォルトの名無しさん:2017/03/24(金) 01:41:13.17 ID:zDXTVpw0.net
おそらくだいたいの大工はなんだかよくわからないかも知れないけど計算方法は知っている。

875 :デフォルトの名無しさん:2017/03/24(金) 02:12:57.53 ID:LvaD/h2O.net
Javaと一緒にeclipseの使用方法も詳しく解説している本とかってないでしょうか?
デバッグなど全然使い方が分からず、ただ実行するだけのものになってて勿体無いので……

876 :デフォルトの名無しさん:2017/03/24(金) 05:25:59.08 ID:8SSjzg+S.net
Eclipse 4.3 完全攻略、宮本信二、2013

Javaの解説は無いよ。
もっと新しい本もあるかも

877 :デフォルトの名無しさん:2017/03/24(金) 08:06:42.19 ID:2TMSh7uI.net
>>876
ありがとうございます!
今日の帰りにさっそく買ってきます!

878 :デフォルトの名無しさん:2017/03/24(金) 12:24:05.50 ID:aVUuWHQu.net
>>875
開発環境使うの初めてならeclipseよりIntellij IDEAの方を勧めますよ
android開発環境のAndroidStudioも中身はIntellij IDEAなので新しめのandroidの本なら使い方書いてあると思います
将来android開発もする予定なら開発環境は一つにした方が学習コストが低いと思います

879 :デフォルトの名無しさん:2017/03/24(金) 12:31:42.52 ID:jvHM94jK.net
RainbowDropsが綺麗だからEclipseにしちゃう

880 :デフォルトの名無しさん:2017/03/24(金) 12:49:00.55 ID:ADCvpbjH.net
AndroidStudioは産廃って評判が多いけど、EclipseでAndroid開発してたころよりはマシだし
だいたいGoogleが開発したところがそびえ立つクソなんであって、IntelliJに問題はない

881 :デフォルトの名無しさん:2017/03/24(金) 12:54:34.68 ID:lapEt7PI.net
>>875
エクリプスはJavaのためにあるわけではない。

882 :デフォルトの名無しさん:2017/03/24(金) 13:39:35.12 ID:FBSEgTxs.net
俺の場合CやPerlでも使いたいのでeclipse

883 :デフォルトの名無しさん:2017/03/25(土) 01:07:43.68 ID:t95Dldij.net
swingでguiソフトを作っているのですがpaintcomponentメソッドでdisposeした方がいいのでしょうか?
調べるとdisposeするのがjavaの作法という記事を見ますが個人的にしない方が描画が高速な気がします。ガーベージコレクションがあるので問題ないのでしょうか?disposeしないことでプログラムにバグや動作不良などのデメリットはありますか?

884 :デフォルトの名無しさん:2017/03/25(土) 01:21:58.51 ID:t95Dldij.net
投稿したばかりですがdisposeありと無しを何回か検証した結果特に変わりはありませんでした。僕の勘違いがメモリを多く使いすぎていたかだと思います
すみませんでしたm(_ _)m

885 :デフォルトの名無しさん:2017/03/25(土) 09:04:42.75 ID:crtOPoox.net
kindleストアでスッキリわかるシリーズが4月2日まで半額セール

886 :デフォルトの名無しさん:2017/03/25(土) 13:54:14.56 ID:UTF1keJq.net
スッキリって入りとしてはいいと思うけどそれほど身につかない気がする

887 :デフォルトの名無しさん:2017/03/25(土) 14:07:37.44 ID:omxknQTj.net
会話形式の参考書って内容に集中できないんだよね

888 :デフォルトの名無しさん:2017/03/25(土) 14:50:29.77 ID:1tNyLe59.net
Google先生が最強

889 :デフォルトの名無しさん:2017/03/25(土) 16:52:12.71 ID:ojlfFp+9.net
良い本だと思うけど、演習問題がやや手薄。
他の演習書等で補う必要があると思う。

890 :デフォルトの名無しさん:2017/03/25(土) 17:08:34.27 ID:b8qUt4LL.net
スッキリはサンプルソースコードの名前が全部main.javaなのが凄まじく嫌がらせに感じる
IDEでまとめて見れないやんっていう

891 :デフォルトの名無しさん:2017/03/25(土) 20:04:50.67 ID:E2Mhv2d7.net
>>890
ど、dokojava...

892 :デフォルトの名無しさん:2017/03/25(土) 20:53:42.20 ID:+CWlWdAu.net
スッキリは汎用性皆無のコードで説明するのやめて欲しいわ
考えるな感じろと?

893 :デフォルトの名無しさん:2017/03/25(土) 21:13:49.71 ID:HHm6PAlo.net
Don't think ! Feel.

894 :デフォルトの名無しさん:2017/03/25(土) 21:59:20.88 ID:2rp6TOCR.net
関数型インターフェース調べたら引数の型や数、戻り値の型ごとに違うインターフェースやメソッド使ってて愕然とした
みんなこんなん覚えてんのか……?

895 :デフォルトの名無しさん:2017/03/25(土) 22:20:58.24 ID:6pLpVBst.net
>>883
paintcomponentでdisposeってGraphicsオブジェクトのことだと思うけど
引数で渡されたものなら普通はメソッドの呼び出し側で破棄されるから廃棄不要
後始末のタイミングが生成者側でうまく決められないものは仕方ないけど
基本的には後始末の責任は生成した者が負うようになってるのが真っ当な設計
だからpaintcomponent内で能動的に作成したものならdisposeもpaintcomponent側の責任

896 :デフォルトの名無しさん:2017/03/25(土) 22:25:37.24 ID:6pLpVBst.net
と、うちのばっちゃが言ってた

paintcomponentでなくpaintComponentだね

897 :デフォルトの名無しさん:2017/03/25(土) 23:02:58.80 ID:V66a16Nj.net
>>894
ラムダ式使うんだよ
2,3個こういうのがあったはずと覚えとけば
検索できるし他のメソッドにもたどり着ける

バイキングで料理たくさんあるからといって
全部食べようとしたらお腹痛くなる

898 :デフォルトの名無しさん:2017/03/25(土) 23:22:14.45 ID:t95Dldij.net
>>896
ありがとうございます

899 :デフォルトの名無しさん:2017/03/26(日) 00:45:48.20 ID:AmprMgIj.net
JSFとStruts 2とSpringとSpring MVCの違いは?

900 :デフォルトの名無しさん:2017/03/26(日) 01:44:57.09 ID:dFhrxFHc.net
去年改定したくせにラムダ式載せない新明解ジャバの著者め……
でも、プログラミング言語c++訳したから許すさない

901 :デフォルトの名無しさん:2017/03/26(日) 02:21:47.60 ID:9bRE2FVy.net
スッキリの実戦編まで読み終えたけど
次に読むような本って何なんでしょう?
色々実戦的に作ってみたいです

902 :デフォルトの名無しさん:2017/03/26(日) 04:07:08.11 ID:PRpbdmfu.net
EFFECTIVE JAVA 第2版、2014

Java 最強リファレンス、田中裕一、2014

実践Javaコーディング作法 プロが知るべき、
112の規約と21の心得、森崎雅稔(まさとし)、2014

スッキリわかる サーブレット&JSP入門

それか、Java8 の本

903 :デフォルトの名無しさん:2017/03/26(日) 09:57:13.24 ID:oOxNGfpF.net
>>901
>>705 も読んでないなら参考にしてみるといい

904 :デフォルトの名無しさん:2017/03/26(日) 10:07:25.20 ID:be0M9Ng9.net
>>899
JSF: ASP.NET WebFormsのパチモン。出来損ない
Struts 2: ASP.NET MVCのパチモン。非推奨
Spring: ASP.NET MVCのパチモン。出来損ない
Spring MVC: Springのコンポーネントの一つ

905 :デフォルトの名無しさん:2017/03/26(日) 12:45:26.12 ID:pNW/BSt4.net
新人研修でServletとSQLというのを一応やるらしいんだけど尼のスッキリ半額は別に買っておいた方がいいかな?

906 :デフォルトの名無しさん:2017/03/26(日) 18:50:54.01 ID:oOxNGfpF.net
ちょっとした疑問なんだけど、DBアクセスの並列化って難しいのかな
参照は特に問題ないと思うんだけど更新系は難しい?
少なくともJTAはスレッドとトランザクションを関連付けてるから、
並列化したやつが別スレッドに割り当てられたら別トランザクションになってしまうし厳しそうなイメージはある…

907 :デフォルトの名無しさん:2017/03/26(日) 18:56:41.68 ID:avI+l4ib.net
トランザクションかけなければいいじゃん

908 :デフォルトの名無しさん:2017/03/26(日) 19:06:10.75 ID:oOxNGfpF.net
トランザクションかけないってことはautocommitだよね
更新失敗したらどうするの?

909 :デフォルトの名無しさん:2017/03/26(日) 19:08:45.68 ID:K0FPpjuZ.net
東京電力の新会長に日立製作所の人間が就任

910 :デフォルトの名無しさん:2017/03/26(日) 19:13:34.40 ID:avI+l4ib.net
>>908
もう一回やり直せばいい

911 :デフォルトの名無しさん:2017/03/26(日) 21:06:34.52 ID:sVlg3iWy.net
1行で全部更新するとか
DBによってはできるかも?

912 :デフォルトの名無しさん:2017/03/26(日) 21:41:51.23 ID:Aj20bW+b.net
ストリームをcollect(Collectors.toList())したものをリスト型の変数に代入しようとしたら
「Object cannot be converted to List」と出ます
キャストすると代入出来るのですが、collect(Collectors.toList())の戻り値は
List型ではなくObject型なんですか?

913 :デフォルトの名無しさん:2017/03/26(日) 21:52:32.48 ID:Aj20bW+b.net
>>912
あっ、すみません
ストリームを一旦Stream型の変数に代入してからそれをcollect(Collectors.toList())したものを
List型の変数に代入したら上手くいきました
なぜだ……

914 :デフォルトの名無しさん:2017/03/26(日) 23:26:40.79 ID:Aj20bW+b.net
>>912
何度もすみません、自己解決しました
そもそもStream生成前のListの方でジェネリクスの指定が上手くいってませんでした
お騒がせしました

915 :デフォルトの名無しさん:2017/03/26(日) 23:44:43.93 ID:oOxNGfpF.net
>>910
意味わからん
コミットされて終わったものをもう一度やり直す???

916 :デフォルトの名無しさん:2017/03/26(日) 23:50:24.79 ID:avI+l4ib.net
>>915
更新に失敗したらもう一回更新すればいいだろうが

917 :デフォルトの名無しさん:2017/03/27(月) 01:31:51.49 ID:NVo+TrDo.net
話が通じないな

918 :デフォルトの名無しさん:2017/03/27(月) 02:36:19.07 ID:86gAYyt9.net
DBでは、一度コミットされたら元に戻せないぞ

919 :デフォルトの名無しさん:2017/03/27(月) 04:37:45.89 ID:OrjpaGTs.net
>>908
更新に失敗していればcommitもくそもない。

920 :デフォルトの名無しさん:2017/03/27(月) 04:39:11.66 ID:OrjpaGTs.net
>>906
平行処理なら別トランザクションにねるのに決まっているだろうが。何を意味不明なことを言っているのか?

921 :デフォルトの名無しさん:2017/03/27(月) 09:27:48.50 ID:sSRSimL8.net
別トランザクションになった時点でDB視点では並行じゃないんだけどね。

922 :デフォルトの名無しさん:2017/03/27(月) 09:50:10.88 ID:VgJTF0Ub.net
データベース板に居たっけ?って思ってしまた

923 :デフォルトの名無しさん:2017/03/27(月) 09:58:08.90 ID:0LKgXvpZ.net
並列化してはいけない部分を並列化しただけの話?

924 :デフォルトの名無しさん:2017/03/27(月) 11:27:13.11 ID:hfJnPcD+.net
元々の質問は同一トランザクションで並列化できるかどうかの質問ぽいか
参照系はできるが更新系は難しいでいいんじゃないの?

あとは別トランザクションになってもいいのなら並列化は可能

925 :デフォルトの名無しさん:2017/03/28(火) 20:22:27.29 ID:fgGnm3yR.net
JAVAとC言語どっちが簡単に自由度のあるゲーム作れますか?
DxライブラリみたいなのってJAVAにありますか?

926 :デフォルトの名無しさん:2017/03/28(火) 21:43:52.42 ID:8KHwvxzc.net
>>925
何を作るかにもよるが、まあ、普通に考えてその二つならJavaだな。
ただし、Android用でないと多数の人が使う状態にはならないと思う。

927 :デフォルトの名無しさん:2017/03/28(火) 22:33:24.41 ID:fgGnm3yR.net
>>926
PCで動かすアクションゲームを作りたいです

928 :デフォルトの名無しさん:2017/03/29(水) 00:54:14.87 ID:M4UnQvMB.net
Unityやれば?言語はC#になるけども

929 :デフォルトの名無しさん:2017/03/29(水) 10:45:39.18 ID:CKC2RzK7.net
>>928
unityかDirectXでやろうか迷ってます

930 :デフォルトの名無しさん:2017/03/29(水) 11:27:59.40 ID:CKC2RzK7.net
やっぱり半年はDxlibで作り続けます
皆さん返信ありがとうございました

931 :デフォルトの名無しさん:2017/03/29(水) 17:54:31.92 ID:3mAYmV0J.net
DirectXは玄人向けだしな。

932 :デフォルトの名無しさん:2017/03/30(木) 09:24:05.57 ID:yKZp9elZ.net
エクリプスもしくはWindowsのコマンドプロンプト上で動作させることを前提として、
以下のようなメニューをまずSystem.out.printlnで表示させて、数字を押したらその処理へ分岐させたいと思っています

0)終了 2)分岐A 2)分岐B

この状態で入力待ちし、有効な数字(テンキー)を一回押した時点(エンターキーを押す必要なく)で分岐させたいのですがどうすればできますでしょうか?

933 :デフォルトの名無しさん:2017/03/30(木) 09:34:16.63 ID:yKZp9elZ.net
すみません
メニュー画面は

0)終了 1)分岐A 2)分岐B

でした

934 :デフォルトの名無しさん:2017/03/30(木) 09:46:14.21 ID:7zcp0Qp+.net
JCurses

935 :デフォルトの名無しさん:2017/03/30(木) 10:14:05.58 ID:jHsv1zL4.net
>>932
学校の宿題/課題なら自分で調べろ

仕事ならそういったコントロールはJavaじゃなくてスクリプトでやったほうがいい
スクリプトで処理を決定して、実際の処理だけJavaで書くようなイメージ
役割分担せずに全部Javaで書くのはオススメしない

936 :デフォルトの名無しさん:2017/03/30(木) 18:23:39.16 ID:LF0rDNJx.net
javaブロンズ試験て簡単ですか?

937 :デフォルトの名無しさん:2017/03/30(木) 18:30:29.91 ID:Bv8WFxPo.net
>>934
ありがとうございます

>>935
あぼーんさせていただきました

938 :デフォルトの名無しさん:2017/03/30(木) 19:12:56.71 ID:nJQFz+7u.net
別の言語でCUIフロント書いてJavaでサービスを提供が無難だろうね
というかこの場合はJavaを捨てて他の言語で全部やるのが正解かな

939 :デフォルトの名無しさん:2017/03/30(木) 19:35:19.16 ID:aX4kcfBQ.net
>>936
そんなの人による。オブジェクト指向がわかっていればちょっと問題集をやれば受かる。

940 :デフォルトの名無しさん:2017/03/30(木) 20:32:42.78 ID:LoY/XYZC.net
>>936
知らない。受けようとすら思ったことがないので。

941 :デフォルトの名無しさん:2017/03/30(木) 20:36:33.31 ID:LoY/XYZC.net
>>938
JavaでやるならGUIでボタン並べとくのが楽かも。
かといってその後画面に何も出さなくていいようなプログラムだと無駄か、

942 :デフォルトの名無しさん:2017/03/30(木) 20:47:03.40 ID:aX4kcfBQ.net
>>941
初心者のくせに変なアドバイスするな。

943 :デフォルトの名無しさん:2017/03/30(木) 21:27:26.98 ID:3vwWvZ6d.net
エンターを拒否する理由がわからないし本人も書かない

>>941 はそれほど変ではない。まぁエンターを可にすれば良いだけだけど

KeyListenerにキーボードが押された時にイベントが発生するってのがあった
ttps://www.javadrive.jp/applet/event/index5.html

944 :デフォルトの名無しさん:2017/03/30(木) 21:48:24.46 ID:DOXC6NBl.net
>>936
プログラミング自体初めての人でも1週間あれば受かる

945 :デフォルトの名無しさん:2017/03/30(木) 22:43:45.87 ID:aX4kcfBQ.net
>>944
それは暗記が得意な人間限定だろ。

946 :デフォルトの名無しさん:2017/03/30(木) 23:29:43.34 ID:zmDt1cqU.net
>>936
資格が欲しいならブロンズでは役不足
ブロンズが受かるくらいの能力って意味なら土台くらいに思っていた方がいい
どちらにしてもブロンズでつまずくなら考えた方がいいと思う
学生なら大変って思うのはしょうがないけど

947 :デフォルトの名無しさん:2017/03/31(金) 00:29:00.68 ID:G7JBJ9MS.net
>>936
こんな問題が出ます。

以下のコードがあります。
1. class Num {
2. private int number1 = 10;
3.
4. public void Num() {
5. number1 = 100;
6. }
7.
8. public void disp() {
9. System.out.println(number1);
10. }
11. }
12. public class TestP {
13. public static void main(String[] args) {
14. Num n = new Num();
15. n.disp();
16. }
17. }

実行結果はどれですか?
1.100
2.10
3.2行目が原因でコンパイルエラーになる
4.4行目が原因でコンパイルエラーになる
5.14行目が原因でコンパイルエラーになる
6.実行時に例外が発生する

948 :デフォルトの名無しさん:2017/03/31(金) 00:41:13.49 ID:Otn8HbSa.net
935ってそんなひどい回答か?
至極まっとうな意見に見えるんだが…936がアレなだけ?

949 :デフォルトの名無しさん:2017/03/31(金) 01:22:00.16 ID:hT0rQPiY.net
誰が見ても、935 はまともだろ

>>932
>コマンドプロンプト上で、エンターキーを押す必要なく
もう、この時点で、Javaじゃないしw

950 :デフォルトの名無しさん:2017/03/31(金) 04:33:30.50 ID:osu/qMYT.net
CUIで入力を確定させるのにエンターキー使わない方法ってあるのか……?

951 :デフォルトの名無しさん:2017/03/31(金) 07:23:06.99 ID:Otn8HbSa.net
>>950
あるというか、仕様として決めればいい話
Javaでかつエンターいらないって仕様なら、
1行読みじゃなくて1文字読みすればいいだけのこと

952 :デフォルトの名無しさん:2017/03/31(金) 09:02:39.11 ID:Ynkhy4/h.net
コマンドプロンプトとjavaだけじゃ不可能じゃね?

953 :デフォルトの名無しさん:2017/03/31(金) 09:03:42.27 ID:XdddFVWv.net
cで言う所のgetche()だな

954 :デフォルトの名無しさん:2017/03/31(金) 10:51:24.05 ID:ndHhBxYB.net
>>952
ぐるぐる回ればいいんだよ。

955 :デフォルトの名無しさん:2017/03/31(金) 11:08:45.91 ID:H1pQ0CXA.net
>>953
getche()嫌い(´・ω・`)

956 :デフォルトの名無しさん:2017/03/31(金) 12:08:22.35 ID:r4bo6GQ0.net
ネイティブライブラリ作ってJNIで利用するしか手がなさそう

957 :デフォルトの名無しさん:2017/03/31(金) 20:55:58.48 ID:+RoQYFQA.net
javaでゲームを作っています
キー入力でキャラクターが移動してマウスで様々なイベントの処理をしようとしているのですがマウスでイベントを処理するとキー入力を受け付けなくなってしまいます
原因が分かる方いますか?

958 :デフォルトの名無しさん:2017/03/31(金) 21:09:11.82 ID:w9WwQK5E.net
>>957
わかんない。変な書き方してるんじゃない?

959 :デフォルトの名無しさん:2017/03/31(金) 21:46:30.50 ID:Tf8W7eqI.net
わかったぞ
バグってるからだ!

960 :デフォルトの名無しさん:2017/03/31(金) 21:58:04.26 ID:+RoQYFQA.net
やはりどこかバグがあるんですかね
そこまで複雑な処理はしてないのですが...
しばらく探してみます

961 :デフォルトの名無しさん:2017/03/31(金) 22:13:13.87 ID:mtJPl6/b.net
バグってハニー

962 :デフォルトの名無しさん:2017/04/01(土) 05:25:50.87 ID:2aD1OODW.net
ていうか、どう書いたのかここに書くなり何処かに書いてリンクするなりしてくれないと誰も何とも言えんだろう

963 :デフォルトの名無しさん:2017/04/01(土) 16:16:56.73 ID:2aD1OODW.net
>>953
その関数環境依存で最初からライブラリに入ってるのは主にWindows用Cコンパイラだよな。
他の環境だと自作することになって面倒。

964 :デフォルトの名無しさん:2017/04/01(土) 21:22:01.68 ID:j/176Eap.net
ttps://pastebin.com/eJLwe5pK
コンソルに出力された結果値
A:X, B:〇, C:X, D:X, E: X, -> @@ : TW : 15, $ : 650 <-ここは300
A:X, B:X, C:〇, D:X, E: X, -> @@ : TW : 15, $ : 650 <-ここは350
A:X, B:X, C:X, D:〇, E: X, -> @@ : TW : 15, $ : 650 <-ここは500
A:X, B:X, C:X, D:X, E: X, -> @@ : TW : 15, $ : 650 <-ここは0

質問:<-[ここは~] の箇所は出力値が想定と違うのはなぜでしょうか?

965 :デフォルトの名無しさん:2017/04/01(土) 23:32:20.40 ID:JX3Xm6T9.net
想定がよくわからん。↓みたいな事がしたいのかと思ったけど。
ttps://paiza.io/projects/eGVsgPaiOfG8hG7yst2CBg

966 :デフォルトの名無しさん:2017/04/01(土) 23:52:55.78 ID:j/176Eap.net
>>965

そうです。まさにその通りです。ソースを参考に何が間違っていたのか分析してみます。
大変ありがとうございました。

967 :デフォルトの名無しさん:2017/04/02(日) 00:57:17.53 ID:oPl36p+V.net
ソースコードを見て考えなくても、1行ずつ、デバッグすれば良いだけだろ?

それか、あちこちに、print文をばらまくとか

968 :デフォルトの名無しさん:2017/04/02(日) 09:48:13.58 ID:7PiFqLeo.net
>>964
正直何がしたいか(要件)がわからないけど、やりたいことに対して実装が複雑すぎじゃない?
実業務だったら多分全部書き直してる

969 :デフォルトの名無しさん:2017/04/02(日) 16:17:59.71 ID:E8izrwFB.net
wait()って、notify()ではなくタイムアウトで関数ブロック状態で抜けた場合それを知るすべが無いの?
タイムアウト・InterruptedExceptionで抜けた場合は処理Aを、
notify()で抜けた場合は処理Bを、ってことがやりたいんだが

970 :デフォルトの名無しさん:2017/04/02(日) 19:16:01.75 ID:REfjDWjC.net
>>969
notifyする側でsynchronizedブロック抜ける前になんかのフラグたてて、
wait終わったときにそのフラグ読み込むとかじゃだめかな?

waitObjectにboolean notifyFlagとか持たせて

// wait側
synchronized(waitObject)
{
try {
waitObject.wait(timeout);
} catch (InterruptedException e) {
// Thread.interrupted();
}

if (waitObject.notifyFlag) {
  // 処理B
} else {
// 処理A
}
}


// notify側
synchronized(waitObject)
{
waitObject.notifyFlag = true;
waitObject.notify();
}

971 :デフォルトの名無しさん:2017/04/03(月) 00:57:41.00 ID:uNrfjwY7.net
https://ideone.com/ccxD7R
上記のソースコードで実行時エラーが発生してしまうのですが、
どう直せばよいでしょうか?(Scannerの文)
スッキリわかるJava入門を参考に書いたのですが、
(例えば)String str = new java.util.Scanner(System.in).nextLine();
という文にある問題点が分かりません。

972 :デフォルトの名無しさん:2017/04/03(月) 01:56:35.58 ID:BUL/emew.net
自分の手元で動かせる環境がないのかな?
ideoneの使い方がそもそも間違ってるぞ。

973 :デフォルトの名無しさん:2017/04/03(月) 03:01:27.51 ID:UirRGd7/.net
>>970
ありがとうございます!

974 :デフォルトの名無しさん:2017/04/03(月) 06:44:58.47 ID:UyEHLSu2.net
>>971
単純に入力が無いぞこのやろーっていうエラーを吐いてる
IntelliJ辺りでソースコードコピーして実行したら
ちゃんと動いたぞ

975 :971:2017/04/03(月) 15:54:28.98 ID:QRQ9n9IP.net
>>972>>974
ありがとうございます。

エクリプスが入ってます。確かにそこではコンパイルエラーは出ていません。
しかしこのソースコードだとScannerクラスの使い方がよくないみたいなんですが、その辺りをどなたか説明して頂けないでしょうか?Googleで調べてもよくわかりません…。

976 :デフォルトの名無しさん:2017/04/03(月) 16:11:53.89 ID:yiUlzfB2.net
入力がないぞこのやろーってエラーをはいてるって言ってくれてるんだから入力するだけと違うんか

977 :971:2017/04/03(月) 16:25:25.04 ID:uNrfjwY7.net
>>976
どうやって入力すればいいんですか?
エクリプスのような案内が出ないんですが…。

978 :デフォルトの名無しさん:2017/04/03(月) 16:31:30.42 ID:uA2N3UXp.net
>>977
ideoneでコード書いてる下にstandard inputみたいなのあるはず
手元にEclipseあるならそれでやればいいんじゃないの?

979 :971:2017/04/03(月) 17:08:42.50 ID:QRQ9n9IP.net
>>978
ありがとうございます。

必要とされるであろうリテラルを、まとめて書いておくんですか?

980 :デフォルトの名無しさん:2017/04/03(月) 18:03:17.35 ID:uA2N3UXp.net
>>979
そう
改行挟んでね

981 :971:2017/04/03(月) 19:41:05.11 ID:uNrfjwY7.net
>>980
分かりました。
ありがとうございました。

982 :デフォルトの名無しさん:2017/04/03(月) 19:43:08.35 ID:gZTdU5yD.net
34歳ここにも書き込んでるなら向こうはよくね?

983 :デフォルトの名無しさん:2017/04/03(月) 19:44:04.24 ID:bUINxLhd.net
>>957
キーイベントはフォーカスを持ったパネルとかコントロールしか受け取れない
あと、恐らくjframe使ってると思うけど、Container cont=getContentPane();で
contに直接ボタンとかをaddしてない?それやるとタイトルバーに食い込むよね?
まずpannelをaddするとpanelはバーの下に配置されて左上0,0がバーの下になる。
マウスの位置の取得とかフォーカスとか全てそのパネルを基準にするといい。

984 :デフォルトの名無しさん:2017/04/03(月) 19:50:58.79 ID:C0G2h/2V.net
>>967
わかりました。デバッグしてみます。

>>968
Cで書かれているものをjavaで書こうとしているので、できるだけ、C実装と同じようにしたいと思っています。

985 :デフォルトの名無しさん:2017/04/03(月) 19:55:50.56 ID:jWiaLeMO.net
>>984
他言語で同じ動作をするプログラムを組むってのは同じコードを書くって意味じゃないぞ

986 :デフォルトの名無しさん:2017/04/03(月) 21:40:30.47 ID:C0G2h/2V.net
>>985

はい、今回初めてわかりました。今は以下のようになっています。もう少し修正してみます。

ttps://pastebin.com/5GYupJyS

987 :デフォルトの名無しさん:2017/04/04(火) 05:18:13.74 ID:K8Tf42DL.net
Haxe(ヘックス)はOSSで、JSに型チェックを付けたような言語で(altJS)、
JS(ES5), Flash, PHP, C++, Java, C#, Python, Lua に書き出せる。
Windows8.1対応。IDEは、FlashDevelop

このサイトで、ブラウザでプログラミングして、実行できる
Try Haxe !
try.haxe.org/

Haxeプログラミング入門、尾野政樹、2015

988 :デフォルトの名無しさん:2017/04/04(火) 14:36:15.40 ID:S7/ucjiF.net
なぁ
interrupt()のすぐ後にsleep()入れると何故かスリープ後に割り込みが発生するんだけどこれ仕様?おかしいだろ。
すぐ割り込ませたいんだけど

989 :デフォルトの名無しさん:2017/04/04(火) 19:05:06.01 ID:I9HDP9Y0.net
わからん。
なぜ< Result >
false
false
false
false
false
表示されるんだろうか。
[false, true, false, true, false]が表示されるはずなんだが。
ttps://pastebin.com/DhqE0x1K

990 :デフォルトの名無しさん:2017/04/04(火) 19:18:34.10 ID:865J8TPA.net
>>970
Thread.currentThread().isInterrupted()じゃダメなんだっけ?

991 :デフォルトの名無しさん:2017/04/04(火) 19:47:54.02 ID:iuVo07t1.net
>>989
ざっとしか見てないけど50-58の間にreturnがなくて58で必ずFalse入れてるんだからそうなるだろ

992 :デフォルトの名無しさん:2017/04/04(火) 20:22:21.70 ID:D5e7y0zT.net
40行目、selected = tmpSelect;じゃなくてselected = new ArrayList<>(tmpSelect);じゃないか?

993 :デフォルトの名無しさん:2017/04/04(火) 20:47:18.61 ID:I9HDP9Y0.net
>>991
39行目でtrueの場合(値更新)のみselectedは更新されるので、それ以外ではFalseの影響は受けないと考えます。
デバグ走らせたけど、2回しかこの処理は通っていませんでした。

>>992
ありがとうございます。予想通りに出力されました。
しかし、なぜselected = tmpSelect;では出来なかったのでしょうか。

994 :デフォルトの名無しさん:2017/04/04(火) 20:50:02.91 ID:y0EcmGB0.net
次スレ
Java入門・初心者質問スレ Part.3
http://echo.2ch.net/test/read.cgi/tech/1491306071/

>>990
Thread.currentThread().isInterrupted()でなにをすると?
割り込みステータスじゃタイムアウトとnotifyの判別できないんじゃね?

995 :デフォルトの名無しさん:2017/04/04(火) 22:43:40.74 ID:A2bdtwo3.net
趣味でプログラミング始めようとして、一応入門書一冊読んだだけでプログラム作り始めました。
複数の入力に対して、計算結果を出力する泥アプリを作ろうとしています。
AndroidStrudioでエミュ起動するところまではできましたが、
Caused by: java.lang.NumberFormatException: Invalid int: ""はいています。
該当箇所は以下で、EditTextは入力を数字に制限しています。

EditText edit = (EditText) findViewById(R.id.edit);
String str = edit.getText().toString();
int num = Integer.parseInt(str);

TryCatchが必要のようなので、

String str = edit.getText().toString();
try {
num = Integer.parseInt(str);
}catch (NumberFormatException e){
num = 10;
}

としてひとまず代入が成功しているかのチェックも行いましたが、初期化された数字しか表示できません。
正しく自分の状況を説明できているかもわかりませんが、よろしくお願いいたします。

996 :デフォルトの名無しさん:2017/04/04(火) 23:05:30.35 ID:rl/ytT5/.net
>>995
edit.getText().toString()呼び出すタイミングが悪いのでは?
Activity.onCreate()とかで呼び出してるんじゃないかな
上記ならどのタイミングでEditTextに入力された値を扱いたいかが分からないとそれ以上のアドバイスはできないけど

997 :デフォルトの名無しさん:2017/04/04(火) 23:24:24.85 ID:A2bdtwo3.net
>>996
public class MainActivity extends Activity {

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

int num1 , num2 ;

EditText edit = (EditText) findViewById(R.id.edit_ab);
String str1 = edit_ab.getText().toString();
num1 = Integer.parseInt(str1);

EditText edit2 = (EditText) findViewById(R.id.edit2);
String str2 = edit_hr.getText().toString();
num2 = Integer.parseInt(str2);

final float num0 = num1 + num2 / 100;

final TextView text = (TextView)findViewById(R.id.text);
Button button_done = (Button)findViewById(R.id.button);
button_done.setOnClickListener(new View.OnClickListener(){
public void onClick(View v){
text.setText(String.valueOf(num0));
}
});
}
}

一部割愛していますが、上記のような形になっています。
@Overrideの意味も理解できていない状況ですが、そのonCreateも影響しているのでしょうか。

998 :デフォルトの名無しさん:2017/04/05(水) 00:29:20.89 ID:QXjM+MPV.net
>>997
onClick()の中でnum1、num2取るように直してみな

999 :デフォルトの名無しさん:2017/04/05(水) 00:35:55.27 ID:ft0BvTmE.net
>>993
Cで言うポインタみたいなもんなのよ。
selected = tmpSelect;ってすると以降tmpSelect、selectedが同じインスタンスを指すようになる。
そうなると当然tmpSelectで行った変更はselectedでも見えるし、selectedで行った変更はtmpSelectでも反映される。
ttps://paiza.io/projects/P95uB_jQm3p0-qLv8Y7fuw

1000 :デフォルトの名無しさん:2017/04/05(水) 00:38:09.83 ID:/7gGEn2o.net
>>989
staticおじさんの回答
https://paiza.io/projects/Z4PUIZZTxSSXqP8Xfs0fwQ

総レス数 1000
269 KB
掲示板に戻る 全部 前100 次100 最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★