Java入門・初心者質問スレ Part.2 [無断転載禁止]©2ch.net

レス数が1000を超えています。これ以上書き込みはできません。
1デフォルトの名無しさん2016/11/11(金) 20:25:11.04ID:zFksT2Ki
Java初心者のためのスレッドです。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

41デフォルトの名無しさん2016/11/22(火) 17:18:41.62ID:G/lzbAc1
>>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.53ID:BChNgOUn
>>41
Class#newInstance()はコンストラクタが送出する例外を素通ししなかったっけ?
最後にThrowableをcatchしないとマズいと思うよ

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

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

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

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

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

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

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

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

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

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

51デフォルトの名無しさん2016/11/24(木) 23:27:24.88ID:g1cJ7kXy
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.48ID:b+zcYe4E
>>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.02ID:kblhq0Mt
>>51
>>52
ID:z1OycYrKです。
分かりやすいご説明ありがとうございます。やはり単純にJavaの知識があれば良いと言う訳でもないのですね…
Android開発を目標とする場合にはまずJavaの基本知識とAndroidのフレームワーク、IDEを知ることが最優先事項といったところでしょうか。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

任意の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.54ID:FXT5KC1a
>>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.01ID:FXT5KC1a
あ、そうだ。x進数n桁なら0〜(x^n)-1の整数値のループにしてしまって各桁はxで割った余り+1でも出せるな。

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

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

73デフォルトの名無しさん2016/11/28(月) 02:41:41.42ID:TQQs9y8p
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.31ID:ZvcFWjYe
>>64
Error : catchする必要がない

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

83デフォルトの名無しさん2016/12/03(土) 18:40:26.32ID:WlJHS2BC
>>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.96ID:2l44vQ0O
>83
main に throws Exception を書いとけば?

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

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

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

86デフォルトの名無しさん2016/12/03(土) 23:59:44.58ID:hgmu3ScG
長くなるが、こうだ。
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.58ID:7DvwJVFy
>>86
おおー、ありがとうございます
forEachの中を{}で括ることで複数処理を書けるんですね
処理が1行であれば{}を省略できるだけな事を知りませんでした

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

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

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

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

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

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

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

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

93デフォルトの名無しさん2016/12/07(水) 00:09:59.47ID:xt5+p8pC
>>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.13ID:UOk7UU+s
Listはシーケンスを実装するインターフェース、クラスじゃないよ

95デフォルトの名無しさん2016/12/07(水) 18:58:23.74ID:k92WTPwA
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.08ID:MF980GNn
javadriveは演算子の優先順位説明されてたっけ?

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

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

98デフォルトの名無しさん2016/12/08(木) 00:17:49.54ID:tUPRtp48
>>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.52ID:tUPRtp48
疑問のコード

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.13ID:tUPRtp48
ちなみに

int a = 7;
a = ++a;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

121デフォルトの名無しさん2016/12/11(日) 14:00:45.27ID:x9RdPPr0

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

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

123デフォルトの名無しさん2016/12/12(月) 01:26:56.17ID:38wEAVQO

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

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

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

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

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

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

>>125に2959のダメージ!

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

143デフォルトの名無しさん2016/12/13(火) 20:03:09.70ID:urfJjx8P

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

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

146デフォルトの名無しさん2016/12/14(水) 20:54:28.03ID:/A2KcaJK
>>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.53ID:Dsc7hVXD
Bronzeのテキストを進めていたんですけど、
「インターフェースの定義として正しいものを選べ」という問題で、
String型の宣言について疑問があります。

public interface App {

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

}

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

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

148デフォルトの名無しさん2016/12/15(木) 12:24:50.27ID:7KRIzock

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

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

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

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

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

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

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

App.java:3: error: cannot find symbol

public String id = A001;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

166デフォルトの名無しさん2016/12/19(月) 05:43:23.41ID:x8MqWvxK
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.00ID:Bj4xwR1n
年齢のところでInputMismatchExceptionになるんじゃね

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

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

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

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

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

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

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

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

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

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

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

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

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

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

181デフォルトの名無しさん2016/12/20(火) 04:24:27.61ID:SBU+XmPh
定期的に特定のメソッドを実行するようにしたいんですが、下記のようにすると相当な誤差が発生します。
(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.52ID:SBU+XmPh
すみませんNANOSECONDSがあるのを見落としていました。
だいぶ良くなりました。

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

184デフォルトの名無しさん2016/12/20(火) 10:44:27.40ID:KSEz+8C8
>>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.80ID:M5z+zWvO
Timerと比べて処理も早くなったもんだなぁと思っていたわ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

205デフォルトの名無しさん2016/12/21(水) 10:52:12.33ID:yWiuL9Zz

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

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

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

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

210デフォルトの名無しさん2016/12/22(木) 00:40:25.69ID:nyvvUxi3
スッキリわかる 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.08ID:baYsDkKb
Perl も仲間に入れてくれ

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

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

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


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


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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

>>239
func(型: obj){ }

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

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

Single Abstract Method interfaces (SAM Interfaces)

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

250デフォルトの名無しさん2017/01/02(月) 18:58:02.30ID:MYC95Ajh
継承関係にあるクラスのコンストラクタについてですが、以下の二つの文で
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.43ID:0H4bJ89V
>>250
自分でsuper書いてるからだよ

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

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

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

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

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

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

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

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

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

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

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

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

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

259デフォルトの名無しさん2017/01/10(火) 18:00:43.47ID:H0byBSxj
初めて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.75ID:H0byBSxj
thisとsuper付け忘れたけどいいや

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

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

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

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

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

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

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

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

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

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

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

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

271デフォルトの名無しさん2017/01/11(水) 17:04:24.47ID:4WkdBLi1
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.14ID:wTRJIMgP
こんにちわ
半日ほどウェブサイトを調べてJavaの文法はマスターしたのですがどのIDEを採用するか迷っています
以下の条件を満たすIDEは有りますか?
各項目についてVisual Studio 2013程度の快適さがあれば合格とします

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

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

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

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

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

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

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

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

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

好きなのを選べ

281デフォルトの名無しさん2017/01/13(金) 02:28:16.02ID:ztjdkA7O
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.69ID:/KDgXWHa
>>281
問題作ったやつがアホなのではないかなあ?

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

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

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

285デフォルトの名無しさん2017/01/13(金) 12:42:32.30ID:jduiusCj
>>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.58ID:Z31HhTHu
5行目 public Two foo() { return this; }
8行目(解答) public Three foo() { return this; }
にしたいw

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

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

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

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

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

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

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

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

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

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

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

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

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

295デフォルトの名無しさん2017/01/18(水) 21:04:47.69ID:o2V4sqZs
スッキリわかる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.45ID:WDgxZeys
「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.72ID:b/1fbjQn
今日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.51ID:FPab7ivU
ServletとかJSPのフォルダ構成とか作成されるファイルの意味とかよく分かってないんですけど、そこら辺の概要や基礎が学べる書籍とかありますか??

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

319デフォルトの名無しさん2017/01/27(金) 20:19:10.07ID:SOi9h9fX
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.52ID:CkSOw1AK
入門書3,4冊でプロって面白いなw

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

336デフォルトの名無しさん2017/01/29(日) 09:03:14.19ID:FhMLlKvW
>>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.84ID:5qe8Dt66
ごめんなさい。
YES{ @Override void hoge()}, NO{ @Override void hoge()} abstract void hoge()
をここで書かなければならないのかなっと思って。

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

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

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

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

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

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

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

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

ここまでわかったか?

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

344デフォルトの名無しさん2017/01/30(月) 03:20:52.62ID:Fqv0cswM
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.33ID:d3z1jBJD
javaの練習でたぶん記述の簡略化のためかmainメソッドのあるクラスをインスタンス化する例が多いのですがその書き方としてメインメソッドの前に操作メソッドを書いてる場合が多くてふと疑問に思っていろいろ試したのですが、
javaはルールとしてメインメソッド以下のメソッドをインスタンス化して呼び出すことはできない、
で合ってますか?

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

363デフォルトの名無しさん2017/02/04(土) 19:41:06.69ID:S5JhRADQ
現在簡単な計算機を作ってます
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.39ID:1xHlAr7k
>>363
Androidは分からないけど
if(s_1.equals("") ){
s_1.setText(String.valueOf(x));}

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

365デフォルトの名無しさん2017/02/04(土) 21:47:30.51ID:oIJpumcQ
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.56ID:5tv/t5p3
>>365が必要なのはJREではなくJDKなのではないでしょうか?

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

368デフォルトの名無しさん2017/02/04(土) 22:23:36.33ID:1xHlAr7k
>>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.35ID:1xHlAr7k
あ、;C:\pleiades\java\8\bin を追加するって言うのは、既存のpath項目の末尾に追加する場合ってこと。

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

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

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

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

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

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

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

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

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

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

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

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

376デフォルトの名無しさん2017/02/05(日) 03:58:07.63ID:Tgw8lymJ
>>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.81ID:/q+taLua
if(s_1.equals("") )

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

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

378デフォルトの名無しさん2017/02/05(日) 21:45:53.48ID:1Zv0XByL
>>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.19ID:aBcpT7bR
eclipsで勉強していくよりテキストエディタで勉強していくほうがよいですか?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

一発変換じゃねーか

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

431デフォルトの名無しさん2017/02/10(金) 21:11:17.37ID:8AW3k07M
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.31ID:/+3MF15H
こんなの使おうとして初心者と言っていいのか…

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

456デフォルトの名無しさん2017/02/12(日) 17:43:26.71ID:dtJVwIzd
>> 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.72ID:f8WAyCsr
>>450
後者は構文エラーだか?

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

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

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

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

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

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

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

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

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

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

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

String[] bigArray =....

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

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

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

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

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

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

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

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

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

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

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

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

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

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.41ID:8LdrHc5a
配列の要素に値を代入するところでコンパイルエラーが出たんだけど、
原因を探ると、どうもメソッドの外に書いていたのが駄目だったらしい。
適当なメソッドを作ってその中で配列の要素に値を代入して、
その配列をメソッドの戻り値にすることで解決できた。
それで何が疑問かというと、どうしてメソッドの外で配列の要素に代入できないのか?ということ。

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

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

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

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

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

<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.40ID:qHqpBuMQ
jsスレの誤爆か
ちゃんとスレタイ見ろよな

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

>>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.36ID:MqgvBH2f
toStringで変換した文字列が出力できない件。何故かアドレスが表示される…

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

5175152017/02/17(金) 22:36:16.34ID:6UcXL/TD
>>516
分かりました。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

;ここにSQL文を入れる;

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

539デフォルトの名無しさん2017/02/19(日) 01:27:12.33ID:OVFFDAhv
>>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.36ID:DY9UFKDi
え?トランザクション使えないDBなんてあるの?

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

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

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

で足りるんじゃないかしら

543デフォルトの名無しさん2017/02/19(日) 09:16:23.89ID:TZ/mXSM2
ラウンドトリップ減らしたいだけだろ

544デフォルトの名無しさん2017/02/19(日) 18:04:50.98ID:Qvw0x0uQ
すみません質問です。
ビット数のカウント(x 〉〉〉y)
などはアプリ開発などには必要でしょうか?
なんとなくしか理解できません
〈〈は左へシフトというのはわかっています

545デフォルトの名無しさん2017/02/19(日) 19:34:47.71ID:HYCGJNag
>>544
そんなのほぼ使いません。

546デフォルトの名無しさん2017/02/19(日) 21:18:46.80ID:v7e804cy
その辺のビット操作が真に必要とされたのは20年以上前なのよね

547デフォルトの名無しさん2017/02/19(日) 22:05:23.18ID:s+kTIFf7
組み込みでは今でも普通に使われとるよ

548デフォルトの名無しさん2017/02/19(日) 22:32:11.70ID:Oqs2ldsH
返事ありがとうございます
次に進もうと思います

549デフォルトの名無しさん2017/02/19(日) 22:53:51.01ID:1yj5fQr2
>>548
あまり細かいところを気にする必要はない。実際に何かを作りながら勉強すれば、いることといらないことの分別はつく。

550デフォルトの名無しさん2017/02/19(日) 22:55:36.11ID:jNG/kyqP
>>547
しょぼいコンピュータならそうだろうけどな。Java MEだろ?ここは初心者だからJava SEを基準に話すべき。

551デフォルトの名無しさん2017/02/19(日) 23:00:47.92ID:Oqs2ldsH
>>549
ありがとうございます
そういう感じで頑張ります

552デフォルトの名無しさん2017/02/20(月) 00:02:27.42ID:TCuyHNDs
何の役に立つのかを意識しながら学ぶのはとても大事

553デフォルトの名無しさん2017/02/20(月) 00:06:57.35ID:vUt0nDfp
縁の無い世界と思ってるかもしれないけど、スマホの中がいきなりそうだしな

554デフォルトの名無しさん2017/02/20(月) 00:22:21.97ID:AKZL9lpl
メモリ管理までなってくると文系SE()には全く理解できませぬ

555デフォルトの名無しさん2017/02/20(月) 00:52:14.65ID:VpIGtQew
>>541
ネットワーク経由での他の全然関係ないマシンの全然違うOSからのアクセスでの更新はどうする?

556デフォルトの名無しさん2017/02/20(月) 01:17:23.16ID:VpIGtQew
>>544
必要になることは今では少ないかも知れない。
ただ、作るプログラムによっては必要になると思う。主にシステム寄りなやつとかハードウェア寄りのプログラムとか。
ネットワークで送ってくるデータがバイナリの塊でその中にビット単位でデータが分かれて入ってくるなんてのもあるかも知れない。
まあ、そういうデータ構造までひっくるめて全て自分で作れるならそういう風に作らなければいいだけではあるけどね。
仕事で誰かが決めた使用通りに作らねばならない場合とかは避けて通れない事もある。

557デフォルトの名無しさん2017/02/20(月) 02:10:44.89ID:5JVok8IP
>>556
詳しくありがとうございます
システムズ寄りのものも作りたいなと思っているので
いつになるかわかりませんが
頭にいれておきます
ありがとうございます

558デフォルトの名無しさん2017/02/20(月) 12:21:17.90ID:MFQClxBE
>>554
おまえJavaスレで何を言ってるのか?

559デフォルトの名無しさん2017/02/20(月) 22:47:33.17ID:e3MnNv+f
スッキリわかるjava、第6章〜はdokojava使わないの?
コマンドプロンプトとメモ帳でやるの?

560デフォルトの名無しさん2017/02/20(月) 22:50:14.21ID:ZSqAwaEi
>>559
慣れるためにも素直にeclipse使っとき

561デフォルトの名無しさん2017/02/20(月) 23:03:34.23ID:e3MnNv+f
>>560
ありがとう!

今環境変数とか見てみたけど導入は出来てる
ただオブジェクト指向の開発がメモ帳に書く前提なのか分からへん…

562デフォルトの名無しさん2017/02/20(月) 23:09:25.97ID:3NHWbqj1
いい加減開発環境にeclipse使うのやめようぜ
少なくとも今から開発環境作るなら今更eclipse勧めるのは無いと思うよ

563デフォルトの名無しさん2017/02/20(月) 23:23:33.96ID:e0RSzmB4
>>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.40ID:srR/js2e
>>563
プログラミング言語の主力ってどうなの?
Ruby勧められたけど基本情報処理技術者で使えないから仕方なくjavaにしたんだよね…

565デフォルトの名無しさん2017/02/21(火) 00:12:18.39ID:ehbuiFrf
どこで仕事したいかによる
公共系とか金融系はcobolとかJava
WebサービスだとHTML5+Javascript(Node.js)とかRubyとかPHPとか
組み込みやパッケージはCとかC++
WindowsクライアントはC#とかVB.NETとか

566デフォルトの名無しさん2017/02/21(火) 00:19:13.85ID:Lp7KKl6R
今勉強するなこれ!って感じのが無いんだよな
RubyはRailsとセット覚える事前提だけどほぼwebサービスのみだし
pythonは未だに2系と3系で揉めてるし

567デフォルトの名無しさん2017/02/21(火) 00:21:33.83ID:ET4KfYGt
戦闘機の仕事してた奴はAda使ってたな

568スッキリ厨2017/02/21(火) 00:25:32.83ID:jHRGu1Ca
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.58ID:Cq8abdSM
>>563
antって、、、未だにant使ってるならレガシーってなるでしょ
ビルドはgradleがいいけどmavenのサンプルもまだ多いので両方使える方が望ましい
eclipseでgradle使うならplugin入れたりと手間だし、機能的な面も考えればIDE はIntellij 一択でしょ
eclipseは自分好みのplugin入れて設定して苦労して環境構築したから惰性で使い続けるものになってる
ま、ある意味ユーザ離れが少ないのかも知れないけど

570デフォルトの名無しさん2017/02/21(火) 07:17:15.03ID:N4GHdPkB
趣味でやるならHaskellで関数型に慣れオブジェクト指向という考え方を一切合切捨て去ってからのJavaScript
最初からJavaScriptやっちゃうとどうしてもオブジェクト指向に引っ張られるからね
Java8で関数型の一部が取り入れられたとはいえクラスベースのJavaでは永遠に関数型プログラミングはできない
仕事でやるなら何でもええやろ

571デフォルトの名無しさん2017/02/21(火) 07:31:26.01ID:HBiYBxQP
出先でjavaりたいときの環境についておすすめはどれ?
@winタブ+キーボードorモバイルノート
Adokojavaみたいなオンライン
Bその他の泥アプリ(存在するのかは知らない)

572デフォルトの名無しさん2017/02/21(火) 07:53:02.62ID:YdijoGpr
>>571
@以外ない
環境にこだわれ

573デフォルトの名無しさん2017/02/21(火) 10:04:43.04ID:048NMDMM
自分の環境ぐらい自分で考えろよ

574デフォルトの名無しさん2017/02/21(火) 10:17:52.30ID:0qmR7+9d
>>570
なんでそんなに関数型を勧める?

575デフォルトの名無しさん2017/02/21(火) 11:12:09.27ID:9RGM2Zbi
>>574
速度と安全性の両立が現状一番上手くいってると個人的に思ってるから
言っとくけど俺はオブジェクト指向は好きだぞ
Scalaも割と好き
つーかアラン・ケイリスペクトだ
メッセージパッシングはロマン
ビャーネなんたらは知らん
ハウルの動く城に帰れ
ただ自分が将来的にどういうスタイルでプログラミングするかは別として関数型がどういうものかは知っておくべきだと思う
純粋な手続き型と、純粋なオブジェクト指向型と、純粋な関数型を学べば自然と自分のスタイルも決まるはず

576デフォルトの名無しさん2017/02/21(火) 12:32:51.26ID:5oYsvnfy
eclipseの設定色々聞きたいのですが
http://i.imgur.com/m524H6u.png
スペースの可視性を調整してたら
文字と空白表示がダブって表示されているのですが
これはどこを弄れば治るのでしょうか……?

577デフォルトの名無しさん2017/02/21(火) 12:48:06.99ID:kvQU90/N
純粋な手続き…Cやった、わかる
純粋なOO…Smalltalkやった、わからん
純粋な関数型…Haskellやった、わからん

Javascriptも純粋なJavascriptはだめだろう
やるならTypescriptかelmかpurescriptあたり?

578デフォルトの名無しさん2017/02/21(火) 16:34:11.30ID:HBiYBxQP
>>572
PCがマストかー
なんとかエイスースから適当に見繕うしかないなー

ところで参照型のキャストについて
Animal a = new Dog();
((Dog)a).eat();
この二重括弧の外側の()はどういうルールに基づくものなんだろ?

579デフォルトの名無しさん2017/02/21(火) 16:43:50.64ID:NkXz995W
eatがDogにしかないんじゃないか
Dog d = (Dog)a;
d.eat();
とダウンキャストしている思えばいい

580デフォルトの名無しさん2017/02/21(火) 16:50:43.69ID:HBiYBxQP
>>579
うん、キャストはわかるんだけど
(Dog)a.eat(); じゃなくて
((Dog)a).eat(); という書き方になる理由が分からないんだよね
これは
>>579
の記述を省略して纏めるならこう書きなさいというルールってことなんかな

581デフォルトの名無しさん2017/02/21(火) 17:04:59.11ID:6AK/ye3y
>>578
キャスト演算子
(Type) Expression
Expressionの結果をTypeにキャストする

なので、(Dog)a.eat() は、a.eat()の結果(戻り値)をDogにキャストする
aがeat()を持たないclassだったりeat()の戻り値がDogにキャストできないclassの場合はコンパイルエラー

582デフォルトの名無しさん2017/02/21(火) 17:09:28.70ID:6AK/ye3y
途中で送信しちゃった

((Dog)a).eat()は、(Dog)aを数式演算子としての()で括って最優先で演算し、その結果(戻り値)のDogに定義されたeat()を呼び出してる

583デフォルトの名無しさん2017/02/21(火) 17:10:17.15ID:rz+9lhUG
オブジェクト指向が難しすぎる..
スッキリjava読んでる時は理解できているんですけど
いざ自分で練習すると全然だめです..
ひたすら書いて覚えるしかないですか?
皆さんどういう覚え方をしたか教えてください

5845762017/02/21(火) 17:35:12.92ID:ZVBWfsdv
解決はしてないですが、
どうやらeclipse4.6でメイリオを選択すると
空白のフォントがおかしくなるようでした
諦めて明朝でやっていきます

(何種類か試したところ、いくつかのフォントで同様の現象が発生するみたいです)
メイリオを使わせないという意思でもあるのでじょうか

585デフォルトの名無しさん2017/02/21(火) 17:39:53.29ID:6AK/ye3y
>>584
そもそも等幅フォントじゃない時点で微妙

586デフォルトの名無しさん2017/02/21(火) 17:40:39.23ID:gG4Ydnc/
>>580
演算子の優先順位は(Dog)よりa.eat()の方が高いみたいよ
括弧が無いとa.eat()が先に処理されるんじゃない?

587デフォルトの名無しさん2017/02/21(火) 17:40:49.20ID:HBiYBxQP
>>582
数式演算子!まさか数式演算子とは…
つくづく勉強してて思うけどプログラムは禁止されてるルール以外はあらゆる文法を組み合わせて何でもかけちゃうんだな
そして禁止されてるルールが禁止されてる理由は素人には想像もつかなくて知ってなきゃ分からない
そこそうやっていいの?ってのとそれ駄目だったの?ってのが多すぎるよ…

588デフォルトの名無しさん2017/02/21(火) 17:44:04.41ID:HBiYBxQP
>>586
むづかしいなぁ
これ例題だから何でこう使ってるんだろうって思うけど自分で組んでたらずっと何で(Dog)a.eat();で動かないんだ!
ってなってると思うわ
まぁ頭が固いんだろうなぁ

589デフォルトの名無しさん2017/02/21(火) 17:45:44.78ID:TggSaCtx
チラ裏

590デフォルトの名無しさん2017/02/21(火) 17:56:29.10ID:6AK/ye3y
>>587
ごめんよ、数式じゃなくて、式

591デフォルトの名無しさん2017/02/21(火) 17:58:21.98ID:ZVBWfsdv
>>585
等幅フォントじゃないと表示がずれるんですね
探したらメイリオを等幅にするバッチファイル見つけて
試したら上手く行きました、これで何とかなりそうです

592デフォルトの名無しさん2017/02/21(火) 18:01:17.06ID:HBiYBxQP
>>590
ちょっと演算子の名前は虚覚えだけど要は
(a + b)* c   この()と同じってことだよね?

593デフォルトの名無しさん2017/02/21(火) 18:05:53.01ID:6AK/ye3y
>>591
おおぅ、そこからか
プログラミング用途のテキストエディタや統合開発環境はほぼ全て等幅フォント前提で考えられてる
プログラミング向けのフォントもそこそこあるから自分に向いたのを探すといいよ

例えば
・ Source han code JP
・ Ricty Diminoshed
・ Myrica
・ Rounded M+

594デフォルトの名無しさん2017/02/21(火) 18:06:45.10ID:6AK/ye3y
>>592
同じ
演算の優先度を上げるカッコ

595デフォルトの名無しさん2017/02/21(火) 18:20:21.93ID:HBiYBxQP
>>594
プログラムは全部式なんだから使えて当然、か
丁寧にありがとう!

596デフォルトの名無しさん2017/02/21(火) 18:40:32.24ID:2UxBH0C2
>>595
> (Dog)a.eat(); じゃなくて
> ((Dog)a).eat(); という書き方になる理由が分からないんだよね
前者はa.eat()の結果がDog型に (Dog)(a.eat()) と同じ
後者はaがDog型に

597デフォルトの名無しさん2017/02/21(火) 19:13:38.98ID:vSefmos+
基本情報処理技術者のjava解ける気しねー(´;ω;`)
2ヶ月で間に合うのかな(泣)

598デフォルトの名無しさん2017/02/21(火) 19:43:43.83ID:OZpBqcTf
ファイル名をソートしたいんですが
file1.txt
file2.txt
file10.txt
という順番にソートするにはどうしたらいいでしょうか?
いわゆるエクスプローラでソートしたときの順番にしたいです。

599デフォルトの名無しさん2017/02/21(火) 19:49:51.39ID:HBiYBxQP
最近実践編で読んだんでチラ裏させてくれ
まずいずれかのlistクラスに格納してファイルの自然順序を何にするかをオーバーライドで決めてsort()メソッドで並べ替える
細かいことは知らない

600デフォルトの名無しさん2017/02/21(火) 20:16:46.32ID:6AK/ye3y
>>598
java natural order comparator あたりでググるよろし

601デフォルトの名無しさん2017/02/21(火) 21:19:57.79ID:vSefmos+
スッキリわかるjavaのオブジェクト指向に入ってから、ソースコードどこに保存して書いてるの?
(´・ω・`)

602デフォルトの名無しさん2017/02/21(火) 21:28:42.72ID:vSefmos+
自己解決しました…

603デフォルトの名無しさん2017/02/21(火) 22:07:53.68ID:sSbzoxvW
お、おう

604デフォルトの名無しさん2017/02/22(水) 04:30:51.90ID:mKCy10Km
bronzeでの模試正答率71%…
早く受かって就職したいがこれはギリギリすぎる…

605デフォルトの名無しさん2017/02/22(水) 09:35:33.12ID:pHogyGSV
そういうのは自分のブログにでも書けよ

606デフォルトの名無しさん2017/02/22(水) 10:12:35.66ID:PcTYf6F1
それね
質問スレだから

607デフォルトの名無しさん2017/02/22(水) 10:45:25.66ID:FbwNgaCq
>>605
笑ったわ

608デフォルトの名無しさん2017/02/22(水) 16:49:50.74ID:FbwNgaCq
スッキリわかるJavaの入門終えたら実践にいくのが普通かな?
みんなどの参考書で勉強してるの?
(´・ω・`)

609デフォルトの名無しさん2017/02/22(水) 20:46:06.49ID:nXsdQesP
ブロンズ71%で受かって、4日後にシルバー受けたら92%だった。
一番の難関はブロンズの制限時間だと思ったわ。

610デフォルトの名無しさん2017/02/22(水) 22:30:14.37ID:2lSlbJfm
>>598
やっつけでいいなら
文字数でソートしてから名前でソート

611デフォルトの名無しさん2017/02/23(木) 00:05:19.73ID:y4dzqAyu
>>610
winapi呼び出そうかなあ

612デフォルトの名無しさん2017/02/23(木) 07:44:10.67ID:DLcSnxYh
CUIのローグライク作りたいんですが矢印キーはどうやって入力するんですか?

613デフォルトの名無しさん2017/02/23(木) 07:45:19.23ID:Ox0/qNEa
>>609
オラクル社の試験は問題セットの当たりはずれがあるんだよ。

簡単なときもあれば難しいのにあたることもある。

614デフォルトの名無しさん2017/02/23(木) 18:12:23.40ID:H7zaoCok
開発で変数とかオブジェクトにstatic使ったりしますか?

615デフォルトの名無しさん2017/02/23(木) 18:22:21.90ID:nluhxzeP
>>608
俺は実践編に行きました。
でも結構難しいです。
入門編のようにさくさく進みません。

616デフォルトの名無しさん2017/02/23(木) 18:31:31.44ID:OhCBVOHT
ある問題で継承においてprivateな変数が引き継げない構成要素と書かれてるんですが
これは継承できないのが正しいんですか?
それとも継承はしてるけど参照できないのが正しいんですか?
メンバ変数は全て引き継ぐって書いてあるから矛盾してるっぽい気がするんですが

>>615
実践編はこんなAPIがあるんだってのを眺めてあとは実際試さないと覚えられないですよね

617デフォルトの名無しさん2017/02/23(木) 18:35:01.06ID:YD6xHuqc
>>614
必要であれば使う。

618デフォルトの名無しさん2017/02/23(木) 20:04:14.99ID:Q8VBCsnB
>>616
継承できるできないと可視性は何の関係もないと思うなあ
継承すると子クラスは親クラスの全てを引き継ぐ
可視不可視の話であれば、子クラスは親クラスのprivateを直接参照することはできない

619デフォルトの名無しさん2017/02/23(木) 20:08:52.68ID:Q8VBCsnB
>>612
そもそもJavaでやる必要があるのかからスタートすべき
どーしてもJavaでやりたいのならゲーム開発に向いたframeworkを探してその使い方を勉強した方が結果的に早いと思う

620デフォルトの名無しさん2017/02/23(木) 20:25:49.59ID:OhCBVOHT
>>618
引き継がれる構成要素はどれですかという問い方でprivateな変数は×だったので?だったのですが感覚的にはこの問題に疑問もって正解みたいで良かったです

621デフォルトの名無しさん2017/02/24(金) 22:22:04.70ID:uD7i0hkn
色々調べてJavaが値渡ししかできない、参照を渡してるように見えるのもCで言うポインタ渡しだという理解をしました
その上で質問なのですが、Cのconstポインタ渡しに相当するものはJavaには存在しないのでしょうか?

622デフォルトの名無しさん2017/02/24(金) 22:56:32.65ID:KBFO5tFR
そんなものは無い
クエリメソッドだけを集めたインターフェースを作ればいいよ

623デフォルトの名無しさん2017/02/24(金) 22:56:43.78ID:D6NNX7nw
>>621
あなたのC言語なんて知りません。

624デフォルトの名無しさん2017/02/24(金) 23:56:21.94ID:uD7i0hkn
質問分かり辛かったようですみません

{
Hoge hoge = new Hoge();
// (1)
func(hoge);
// (2)
}

(1)と(2)でhogeの中身が変わらない事が保証できるfuncのインタフェース定義が知りたいです

625デフォルトの名無しさん2017/02/25(土) 00:03:43.03ID:5lOXUI5K
>>621
ない。しかし String クラスみたいに new して作った後は値を変えられないように作ることはできる。

626デフォルトの名無しさん2017/02/25(土) 00:06:47.52ID:5lOXUI5K
>>624
インターフェースでいいのなら Hoge の方は class Hoge implements Fuga { ... } みたいにして Fuga は読み出しのみの
メソッドアクセスだけ定義しておいて、func は Fuga で受け付ける(つまり func(Fuga x))ように書いておけば良い。

627デフォルトの名無しさん2017/02/25(土) 00:37:38.11ID:gxYtmtwb
>>625-626
constメソッドとか無いんですね…衝撃です
読み専インタフェースを用意する方法は何ともインタフェース志向らしい解決方法ですね、これでいこうと思います
ありがとうございました

628デフォルトの名無しさん2017/02/25(土) 00:55:00.78ID:YVEx0bdt
でもfunc(Fuga x))内でif(x instanceof Hoge)((Hoge)x).setXXX(a);みたいに書けば中身変更されるよな。

629デフォルトの名無しさん2017/02/25(土) 01:55:28.61ID:1HZAmYU3
Rubyなら、freeze でコンテナを凍結できる。
ary = [1, 2, 'A']
ary.freeze

各要素とコンテナも、凍結したいなら、
ary.map(&:freeze).freeze

630デフォルトの名無しさん2017/02/25(土) 02:16:02.95ID:gxYtmtwb
>>628
そこまで考慮に入れるなら不変クラスで渡すようにするしか無さそうですね

自分のケースではメモリ確保の頻発を避けたいのと、割と小規模なプログラムなので読み専であることをインタフェースで示せばそこまで突飛なことは起きない(起きても把握できる)と踏んで>>626の方法で進めるつもりです

631デフォルトの名無しさん2017/02/25(土) 02:57:54.70ID:g9oOs5Yl
そもそもその粒度で不変を求めるならC/C++ででもやればいい

632デフォルトの名無しさん2017/02/25(土) 04:19:33.68ID:Rbn9x5fz
流石にそんな観点で言語選択するのはちょっと…

633デフォルトの名無しさん2017/02/25(土) 08:55:36.23ID:ArVanU7d
そこまでどうでもいいってことだろ

634デフォルトの名無しさん2017/02/25(土) 14:12:07.23ID:5lOXUI5K
>>628
それを言っちゃあおしまいよ

635デフォルトの名無しさん2017/02/25(土) 14:15:12.60ID:ICVRa4GN
クローンを作ればいいのではないか

636デフォルトの名無しさん2017/02/25(土) 19:07:39.60ID:ArVanU7d
immutableなクラスでもクローンでもどっちでもいいよ

637デフォルトの名無しさん2017/02/25(土) 19:12:41.96ID:Znl6xf+a
クローンつっても中で保持しているのが何かのクラスのインスタンスや配列だったらいかんよな。そこのコピー自分でなんとかしないと。

638デフォルトの名無しさん2017/02/25(土) 21:23:55.44ID:ArVanU7d
んなわかりきったこと書かなくてもいいだろ

639デフォルトの名無しさん2017/02/25(土) 21:33:28.87ID:R92qYa24
ここ初心者向けのスレだから書いといた方がいいのでは?

640デフォルトの名無しさん2017/02/26(日) 14:01:27.47ID:pxnJsBh9
int a; //@
int permit(int a){~}; //A

@とAの a は別物であってますか?

641デフォルトの名無しさん2017/02/26(日) 14:07:04.61ID:SmZkvXpF
あってる

642デフォルトの名無しさん2017/02/26(日) 14:25:58.90ID:pxnJsBh9
>>641
ありがとうございます!

643デフォルトの名無しさん2017/02/26(日) 15:54:10.79ID:pxnJsBh9
>>641
ちなみに実際の開発の場でフィールド変数と同じ名前を引数リストやローカル変数に使うよな紛らわしいことをしたりするんですか?

644デフォルトの名無しさん2017/02/26(日) 19:42:11.99ID:gXc7WSkI
>>643
コンストラクタやsetterは仮引数名とフィールド名は同じにしてる。
それ以外でかぶるのは、そもそも設計がおかしい。
昔、フィールドはm_から始めるとか、ローカル変数は_から始めるとかいうコーディング規約もあったっけど、ぶっちゃけどうでもいい

645デフォルトの名無しさん2017/02/27(月) 10:48:18.58ID:cQVaqrK/
>>643
当然やらない

>>644 は必要悪

646デフォルトの名無しさん2017/02/27(月) 11:19:10.90ID:pstpfQ6l
やった場合は this. 付けるが、わざわざそのようにするのが面倒なのと忘れたらまずいのでまずやらない。

647デフォルトの名無しさん2017/02/27(月) 17:21:58.02ID:KgJz7uRr
Bronze受けた方いましたら手応えとか教えて頂けませんか?
引っ掛け問題が多いらしいですが。

648デフォルトの名無しさん2017/02/27(月) 17:40:03.02ID:wGbPq32l
         _人人人人人人人人人人人人人人人_
        >   そうなんだ、すごいね!      <
       ´ ̄^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^ ̄
            __、、=--、、         __
           /    ・ ゙!       /・   `ヽ
           | ・   __,ノ       (_    ・ |
           ヽ、 (三,、,         _)    /
            /ー-=-i'’       (____,,,.ノ
            |__,,/          |__ゝ
             〉  )          (  )

649デフォルトの名無しさん2017/02/27(月) 21:17:24.89ID:ZmAmQRwL
オラクルの貢ぐ君の多いこと

6506472017/02/28(火) 00:10:11.29ID:hDpdGzmn
ディスってるでしょ?

651デフォルトの名無しさん2017/02/28(火) 02:26:33.48ID:Hoo3RqfE
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.19ID:3++kZ/NV
(0〜aの総和)の範囲で乱数値取って
0〜a[0]、a[0]〜a[0]+a[1]、…のどこに入るか判定したら終わりじゃないの?

653デフォルトの名無しさん2017/02/28(火) 07:00:43.70ID:jFkZ2a+t
0が8個、2が2個、4が5個入った配列を作る
どれか一つランダムに選ぶ
終わり

654デフォルトの名無しさん2017/02/28(火) 09:32:49.41ID:pMwCWGGN
>>653
おまえは算数の天才か

655デフォルトの名無しさん2017/02/28(火) 09:41:24.82ID:HD6mrdCw
( ゚д゚ )

656デフォルトの名無しさん2017/02/28(火) 09:43:32.86ID:LbHc6kam
>>653
概念的にもわかりやすいですね
ありがとうございます

657デフォルトの名無しさん2017/02/28(火) 10:00:28.92ID:xXieWbDw
>>644
>>645
>>646
ありがとうございます!なら問題様と割り切って覚えれば良さそうですね
でも質問に答えてくれる皆さんは当然分かってるわけでbronzeの問題も馬鹿に出来たものではないですね

>>653
プログラマーの柔軟差ってほんとすごいなー

658デフォルトの名無しさん2017/02/28(火) 14:36:16.76ID:xXieWbDw
Oracle社…
まさかの受験料承りましたメールに最長三日
ITの親玉企業がなんというレスポンスの悪さなんだ…

659デフォルトの名無しさん2017/02/28(火) 14:39:58.65ID:ym9kvrf3
Oracle社と関わると3日でレスポンスが来るなんて、なんて今回は迅速なんだ!
って思うようになるよ。

660デフォルトの名無しさん2017/02/28(火) 14:42:21.56ID:xXieWbDw
>>659
泣けますね
休みの今日心臓バクバクさせてやったる!と思った矢先にこれとは…

661デフォルトの名無しさん2017/02/28(火) 22:34:55.47ID:XOgi6R7c
日本企業:その日のうちに返信がなければクレームが入る
外国企業:レスポンスがあったらラッキー

662デフォルトの名無しさん2017/02/28(火) 23:37:01.69ID:i3lRW5fA
Ctrl+Cで 文字列コピー出来るけど、コピーされる場所にプログラム側から文字列をセットする方法ってないん?

663デフォルトの名無しさん2017/03/01(水) 00:05:34.28ID:4DwsJRBL
>>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.77ID:toMXAIQh
何がしたいのかまるで想像できない

665デフォルトの名無しさん2017/03/01(水) 00:25:34.84ID:FyLdFaza
>>663有難う御座います

666デフォルトの名無しさん2017/03/01(水) 00:40:54.95ID:fG1+D+Az
今開発現場では、カプセル化などの考え方はあまり用いられないというのは本当ですか?

667デフォルトの名無しさん2017/03/01(水) 00:49:29.83ID:MvC20mv8
誰がそんなこと言ったんだ
上司なら職場は変えとけ
不幸になるぞ

6686662017/03/01(水) 01:12:07.30ID:fG1+D+Az
>>667
いや、プログラマー板でそういう意見を目にしたんです。今はオブジェクト指向はあまり使われないと。友人も継承は使わないと言ってました。

669デフォルトの名無しさん2017/03/01(水) 01:27:03.36ID:s509Orww
コマンドプロンプトからコンパイルした際に以下のメソッドを宣言してる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.16ID:4DwsJRBL
他のメソッド内でメソッド宣言してるんじゃないだろうか?

671デフォルトの名無しさん2017/03/01(水) 01:45:00.39ID:4DwsJRBL
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.41ID:1blAx5JV
返り値でインスタンス返すメソッドって普段使ってるけど実体はどうなってんの?
メソッド内でインスタンス作成したら、
メソッド終了時にそのインスタンスは消滅しそうな気がするが、
返した場合のみ消えないの?
それとも返すときにメモリコピーとかしてんの?

673デフォルトの名無しさん2017/03/01(水) 07:30:44.52ID:myGch7Sv
>>672
インスタンスはスタックじゃなくてヒープに作られるから消えないんだよ

674デフォルトの名無しさん2017/03/01(水) 08:03:28.40ID:3ogpjbKC
>>670
なるほど
mainの内側に書いちゃってたかも知れません
ありがとうございます

675デフォルトの名無しさん2017/03/01(水) 08:06:34.53ID:yuocqMDO
>>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.73ID:x/fyOqvy
>>668
マ板と友人なら本人に聞けよ
少なくともJavaでオブジェクト指向使わないとか継承使わないとかあり得ない
別の言語の話か、またはとても限定された場面での話を混同してるんだろう

例えば最近のWeb開発でHttpServletを直接継承するようなことはないとか、F/W部品を継承する代わりにアノテーションで指定することが増えてるとかさ

677デフォルトの名無しさん2017/03/01(水) 08:49:56.55ID:UySglzi8
>>672
基本的にインスタンスは参照されなくなってからガベコレ様の気が向いたときに初めて消滅する
メソッド終了くらいじゃガベコレ様は動いてくれない
どこかでひっそりと参照してるとガベコレ様は動いてくれない
ガベコレ地獄の始まりじゃ

678デフォルトの名無しさん2017/03/01(水) 12:00:26.70ID:CRzwIyGv
>>676
みずほ絡みのコーダー連中は、部品配置単純工だからオブジェクト指向や継承なんて
関係ないだろうね。もっともそういった基盤の考え方があっての部品配置単純工システムなのだが、
単純工自身には関係のない話と言う意味で。

そしてこの部品配置単純工がJava熟練者という触れ込みで世の中出回りだす。

679デフォルトの名無しさん2017/03/01(水) 12:10:07.82ID:2HFWOrMD
せめて青い銀行とか言え
企業名出すな

6806682017/03/01(水) 12:16:03.49ID:fG1+D+Az
>>676
分かりました。
ありがとうございました。

681デフォルトの名無しさん2017/03/01(水) 12:49:45.93ID:x/fyOqvy
>>678
青い銀行のノンプロ見たけど酷いなほんと
管理する側から見たときに統一性があって保守しやすいとか利点挙げたいのはわかるけど、あそこで育ったやつ外に出したら生きていけないぞ
IT版の刺身にたんぽぽ乗せる仕事みたいなw

682デフォルトの名無しさん2017/03/01(水) 13:16:28.83ID:7k9RxcRI
段々スレチ感が漂ってきている
そもそもマ板の話をム板まで持って来るのか

683デフォルトの名無しさん2017/03/01(水) 14:30:11.29ID:1blAx5JV
>>673,>>677
ありがとう。
ついでにガベージコレクションのイメージが少し掴めた気がする。

684デフォルトの名無しさん2017/03/01(水) 20:06:35.24ID:1blAx5JV
スレ違いじゃない!
インスタンスとメモリに関する崇高なJavaの話題だ!

685デフォルトの名無しさん2017/03/01(水) 21:26:21.93ID:PTRdQr+5
>>672
C言語だとmalloc()で確保した構造体へのポインタ返してるのと同じようなものだよ。

と書いてわかってくれるかどうかはわからんが。

686デフォルトの名無しさん2017/03/01(水) 22:19:20.69ID:X1Ti2hw2
>>681
本当にそうですね。
素質ある人も多いだけに尚残念な話です。

そんな人達は青銀行脱出して
もっとのびのびとできる所探して
頑張ってほしいものです。

687デフォルトの名無しさん2017/03/01(水) 23:34:01.09ID:1blAx5JV
>>685
Cのほうが慣れてるからその例えめちゃくちゃ分かりやすい。
それでJavaの場合はCで言うところのfreeが不要で、
ガベージ・コレクションなるおじさんが頃合いを見計らって
使ってない領域を解放しにくるんだな。
ありがとう。

688デフォルトの名無しさん2017/03/02(木) 01:23:14.63ID:DCGk0mjC
その通りぢゃ

689デフォルトの名無しさん2017/03/02(木) 16:54:52.21ID:1H6wlyeO
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.51ID:DKxaAEU+
>>689
素でやるならbytestreamで読んでsizeof(Type)で区切って型変換するようなParserを書くんじゃダメ?
固定長になるならそれで行けると思うんだけど

691デフォルトの名無しさん2017/03/02(木) 17:45:01.81ID:1H6wlyeO
>690
やっぱそうするしかないでしょうか。
使用したデータを更新してまた同じ形式で書き出す必要があるので、読み込んだデータをそのままクラスとして
出来て、そのまま書き出す方法が無いかと思ったのですが・・・。

692デフォルトの名無しさん2017/03/02(木) 17:56:00.49ID:5xdornxH
ないんだよなあ。
だからググると世界中の人が似たようなもの作ってたりするんだよなあ。
俺はPrelの pack, unpck みたいなやつ作ったしなあ。

693デフォルトの名無しさん2017/03/02(木) 19:18:46.49ID:tOCPWbBv
Cでバイナリを読んでJsonで吐き出すプログラムを書けばいいじゃん

694デフォルトの名無しさん2017/03/02(木) 22:39:49.72ID:B/hoSVY0
>>687
頃合いを見計らって じゃなくて
気が向いたときに周りの都合にお構いなく だぞ

695デフォルトの名無しさん2017/03/02(木) 22:46:52.45ID:f8afki70
入門書として新・明解Java入門とスッキリわかるJava入門 第2版 で迷っています
プログラミングについてゼロから学びたいと思っているのですがこの2つのどちらがいいか(あるいはほかの何か)アドバイスいただけると嬉しいです

696デフォルトの名無しさん2017/03/02(木) 22:56:40.23ID:RzY2evT5
Javaは0から学ぶには向いてないんじゃないかなーって

697デフォルトの名無しさん2017/03/02(木) 23:26:52.28ID:tOCPWbBv
独習C

698デフォルトの名無しさん2017/03/02(木) 23:38:21.98ID:XOZN9kk9
苦C

699デフォルトの名無しさん2017/03/02(木) 23:44:04.69ID:f8afki70
>>696
難しいのは知っていますが、塾なしで東大に入ったしこれも一人でいけるかなと思ったんですが厳しいですかね
java以外だと何がおすすめですか?一応androidアプリを作りたいという目標はあります
>>697 先にc言語を学んだ方がいいと言うことでしょうか

あとmac使うつもりです

700デフォルトの名無しさん2017/03/02(木) 23:59:04.14ID:68HRDNS2
>>699
そのレベルなら一度やってみたら?
半月くらいやってみたらいいんじゃないかね。
半月くらいやってからAndroid開発やってみれば、
足りないところとか見えてくるから、そこを追加で学習する感じ。

701デフォルトの名無しさん2017/03/03(金) 00:47:45.72ID:+y/jzG05
>>695
俺はアドバイスできるほどのレベルでもないですが、スッキリJavaお薦めですよ。
3、4周しましたが分かりやすいです。
ぜひ立ち読みしてから、購入を考えてみて下さい。

702スッキリ厨2017/03/03(金) 01:13:58.54ID:VmWbxx1t
まずこの本を3回読んで、オブジェクト指向を学ぶ。
スッキリわかる Java入門 第2版、2014

その後、この2冊をこの順に読む。
たのしいRuby 第5版、2016
みんなのPython 第4版、2017

それからは、情報処理資格・アルゴリズム・DB・他の言語など、お好きな所へどうぞ。
とにかく、スッキリを極めないと、すべての言語へ行けない

703デフォルトの名無しさん2017/03/03(金) 01:44:08.07ID:DGONTukY
みなさん色々アドバイスありがとうございます
早速明日書店に行ってみようと思います
独習には慣れているとはいえプログラミングは大学の講義で少し触れたことがある程度なので半月でそのようなレベルに達せられる自信はないですが、気長にやっていきます

704デフォルトの名無しさん2017/03/03(金) 08:51:48.91ID:ZYc8PgeF
Progateとかの学習サイトも試してみたらいいかも
俺は本買う前にあれで雰囲気掴んでから始めた
スッキリわかる買ってからは本主体になったけど色んな言語つまみ食いできるし取っ掛かりとしてはいいと思うんだけど

705デフォルトの名無しさん2017/03/03(金) 09:04:54.82ID:20yRdP3T
もう見てないかもしれないが…
本当に初学者ならこの辺から読むといい

・プログラムはなぜ動くのか 第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.00ID:CN7XccVQ
コード一切書いたことないのに基盤技術だけ学ぶとか拷問だろ…

707デフォルトの名無しさん2017/03/03(金) 12:31:16.27ID:IT/QqIXj
何の言語から始めようがどうせ将来的には複数習得するし何でも良いよ
最低でも6種類は欲しい

708デフォルトの名無しさん2017/03/03(金) 20:01:06.40ID:y06gdcdw
Java習得に1日以上かかったらセンスない

709デフォルトの名無しさん2017/03/03(金) 20:20:48.33ID:FQLKdKxH

   ̄ヽ、   _ノ ̄ ̄ ̄ ̄ ̄ ̄ ̄ヽ、   _ノ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
     `'ー '´             `'ー '´
      ○               ○
       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.11ID:+y/jzG05
浅いコピーと深いコピーの違いが分かりません。教えて貰えませんか?

711デフォルトの名無しさん2017/03/04(土) 00:16:49.98ID:l5kdYc5I
数値などのPrimitive には実体だけがあり、代入により実体がコピーされる。
参照を考えなくていい

一方、Objectでは参照(アドレス)を使い、代入により参照がコピーされる。
b = a;
としても、newは1回しか呼ばれていないから、実体は1つで、同じ実体を指してしまう

オブジェクトの中に、オブジェクトを含む構造がある場合、
外 { 中 { 内 }}

内側のオブジェクトを、newせず、コピーするのをshallow copy、
内側のオブジェクトを、再帰的にnewしながら、コピーするのをdeep copyと言う

浅いコピーでは、同じ実体を指しているから、その実体の値を変更すると、
その実体を指す、すべての参照から、変更後の値が見えるので、おかしい挙動になる

712デフォルトの名無しさん2017/03/04(土) 00:24:56.55ID:2pwhOacN
ちゃんと中身まで複製するのが深いコピー
外面だけ複製して中身が複製できてないのが浅いコピー

713デフォルトの名無しさん2017/03/04(土) 00:31:28.95ID:y+A67JPN
>>710
浅いコピーはわら人形
弄ると本体もそれに合わせて動く
人形に五寸釘を刺せば本体も死ぬ
深いコピーはクローン人間
クローンがどうなろうがオリジナルには影響ない

714デフォルトの名無しさん2017/03/04(土) 00:31:45.68ID:53W8X94X
じゃあ中途半端にコピーするのはなんていうんですか?

715デフォルトの名無しさん2017/03/04(土) 00:42:00.27ID:zcroer3t
パクリ

716デフォルトの名無しさん2017/03/04(土) 00:50:43.90ID:R7TPwJQ0
>>713
余計にわけがわからんw

7177102017/03/04(土) 03:59:53.16ID:WEPLiHPL
>>711>>712>>713
詳しい説明ありがとうございました。

718デフォルトの名無しさん2017/03/06(月) 11:06:32.87ID:Sa3Mqufl
>>713
straw と shallow をかけた駄洒落かよ

719デフォルトの名無しさん2017/03/08(水) 19:46:50.58ID:FydHwzb5
質問です
32ビット環境でコンパイルしたjarを、64ビット環境でコンパイルしたjarから呼び出した場合、何か問題が起きたりしますか?

720デフォルトの名無しさん2017/03/08(水) 19:52:10.44ID:FydHwzb5
719です
書き忘れました

Java8で、Java32ビット版と64ビット版の話です

よろしくお願いします

721デフォルトの名無しさん2017/03/08(水) 21:18:07.20ID:6pFYkqRC
>>719
起きない。全く問題なく動く。
ただし、Java VM にバグが無ければだけどね。

722デフォルトの名無しさん2017/03/08(水) 21:20:15.99ID:6pFYkqRC
ま、試してみればわかる。多分動く。

723デフォルトの名無しさん2017/03/08(水) 22:43:35.11ID:bXqmu+Mu
java言語を考えたり、公式のクラスやAPIを書いた人たちって、めちゃ頭いい気がする
彼らはそんな言語を、よく無料で我々に使わせてくれるね
宝くじか何か当たって金持ちなのだろうか?

724デフォルトの名無しさん2017/03/08(水) 22:54:36.27ID:rHvscfbf
白々しい

725デフォルトの名無しさん2017/03/08(水) 23:01:02.73ID:rCrDm4A6
DBが売れて金持ちなんだろう

726デフォルトの名無しさん2017/03/08(水) 23:49:09.84ID:4P5U5zdU
>>721
コンパイルするのにVMは関係ない
知ったかカッコ悪い

727デフォルトの名無しさん2017/03/09(木) 01:06:27.19ID:IJOiIxAG
>>721
承知です
ありがとうございます!

728デフォルトの名無しさん2017/03/09(木) 09:41:49.91ID:CPC+EEl1
>>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.29ID:sa2C8K0/
バグって例えばどんなのがあったの?

730デフォルトの名無しさん2017/03/09(木) 10:23:33.01ID:CPC+EEl1
>>729
例えばこれとか。
http://pentan.info/java/bug_deleteonexit.html
その他「Java OSによって動作が違う」等のキーワードでググれば沢山出てくると思う。

731デフォルトの名無しさん2017/03/09(木) 11:23:56.46ID:kmqm9+wP
JVMの中で閉じてる部分は基本的に問題ないよ
問題は閉じていない部分、例えば入出力とかファイルシステムとか、あとは時間の有効桁数(ミリ秒以下何桁取れるか)も違ってる

732デフォルトの名無しさん2017/03/09(木) 11:33:51.89ID:CPC+EEl1
ああ。そうだね。OSによる違いの吸収をライブラリでどこまでカバーできるかの問題がある。更にそこに運悪くバグも重なる事がある。

733デフォルトの名無しさん2017/03/09(木) 12:11:52.68ID:c/ajvCtd
32bit環境で作成したjarが64bit環境で動くか?って初心者からの質問に対してグダグダ環境依存の話をする事が間違い
質問内容から知識が浅い事は明白なのに稀にしか起きない、しかも初心者が使うようなAPIで起きる可能性がほぼゼロな問題を長々書くのはいかがなものかと

734デフォルトの名無しさん2017/03/09(木) 14:53:34.87ID:UuUJKGp2
しかし確実に動くと断定できる状態にないからな。そう書いたら嘘になる。

735デフォルトの名無しさん2017/03/09(木) 17:34:40.71ID:KwhssRRL
サーブレットなんだけど
軌道が終わった時にログを出すのはどうすればいいの?

736デフォルトの名無しさん2017/03/09(木) 17:56:43.56ID:kmqm9+wP
>>735
もーちょい具体的に
普通はサーブレットコンテナ(tomcat, jettyなど)がログ吐いてるよね?

737デフォルトの名無しさん2017/03/10(金) 10:57:56.71ID:zmxWZ2DM
>>734
確実、絶対と言えるものがあると思ってるのか?

738デフォルトの名無しさん2017/03/10(金) 11:44:15.52ID:P05rFiiZ
この世で変わらないのは、変わるということだけだ。ってエロい人が言ってた

739デフォルトの名無しさん2017/03/10(金) 12:17:08.11ID:6bgFp/KF
宇宙の法則が乱れる

740デフォルトの名無しさん2017/03/10(金) 15:05:36.68ID:qI0AO+fV
>>737
1+1=2

741デフォルトの名無しさん2017/03/10(金) 16:05:35.52ID:V0V+F4pY
>>740
証明してくれ

742デフォルトの名無しさん2017/03/10(金) 17:16:45.99ID:YR4SAqR1
2進数では1+1=0

743デフォルトの名無しさん2017/03/10(金) 17:39:02.79ID:Lkoti1g0
それなら10だろ?

744デフォルトの名無しさん2017/03/10(金) 18:53:35.12ID:qaWOtCmf
1は掛けても元の数が変わらない数、0は足して元の数が変わらない数で定義できるけど、
その他の数は人間が勝手に決めた尺度だからなあ

745デフォルトの名無しさん2017/03/10(金) 19:06:28.00ID:vQv3LoxK

746デフォルトの名無しさん2017/03/10(金) 19:07:30.89ID:DgG1RnTz
719です

変な質問をしてしまったようですね。
申し訳ないです。

747デフォルトの名無しさん2017/03/11(土) 05:50:48.66ID:QLy/mZNj
気にすんな

748デフォルトの名無しさん2017/03/11(土) 08:55:20.42ID:5QSeMQ6E
外野勝手に喚いてるだけだから気にしなくていい

749デフォルトの名無しさん2017/03/11(土) 12:36:25.36ID:n8xNyxrE
ガイヤが俺にもっと喚けと喚いている
ひろ age 24

750デフォルトの名無しさん2017/03/12(日) 12:39:53.18ID:e7JBSqYg
すいませーん、ちょっと教えてください 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にしたいんですが。。。
どうすれば良い?

7517502017/03/12(日) 13:03:38.41ID:e7JBSqYg
とりあえず
chghizuke = hizuke.replace("-","/");
としたうえでチェックするようにはしましたが、yyyy-mm-ddが日付として認められないというのは意外というか

752デフォルトの名無しさん2017/03/12(日) 13:14:37.66ID:1AEjxjTb
ロケール依存だから他の環境なら逆(-が認められて/が認められない)の可能性もある)
そういう仕様だから嫌ならフォーマット指定しろ
でなきゃJava使うな

753デフォルトの名無しさん2017/03/12(日) 13:23:40.46ID:1AEjxjTb
Javaを使うなは割と真面目なアドバイスだぞ
Javaを使っていて今後感じるであろう冗長さ面倒さはこんなレベルではない
仕方ないなJavaだからな、で何もかも割り切れる思考が必要。信仰心とも呼ばれる

754デフォルトの名無しさん2017/03/12(日) 13:37:48.11ID:fSS0LSFN
つまりこう!
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.07ID:e7JBSqYg
信仰心ですかーーー w

756デフォルトの名無しさん2017/03/12(日) 13:45:04.83ID:e7JBSqYg
>>754
ありがとうです。
DateTimeFormatterってのはまた後で調べてみます

757デフォルトの名無しさん2017/03/12(日) 21:17:15.40ID:aYW9kq1o
dokojava等のコンパイラアプリで練習してるんですが、各行入力の一文字目が強制的に大文字になります…
ここで聞くべき内容じゃないのかもしれませんが、原因は何でしょうか

758デフォルトの名無しさん2017/03/13(月) 02:55:45.49ID:0Fbbs/T/
あなたの環境

759デフォルトの名無しさん2017/03/13(月) 21:19:29.12ID:YTRn5nLQ
自分で作った文章の文字数を数えてやろうと思ったんですがその場合、統合開発環境で文章ペースト時に改行をunicodeに変換
改行を""にreplaceが最もスマートなやり方ですか?

760デフォルトの名無しさん2017/03/13(月) 22:27:27.96ID:UVAX4zuU
>>759
LinuxみたいなUNIX系OSやCygwinみたいなUNIX環境ならコマンドラインからwcコマンドでできると思う。
もちろんそのコマンドがインストールされてなければできないが。大昔からある基本的なコマンドなので普通はある。
今時はちゃんと漢字とかも一文字でカウントしてくれる。

あ。そうだ。ここJavaのスレだから、Javaで作ればいいじゃん。一文字づつ読んでカウントするだけだから簡単だよ。

761デフォルトの名無しさん2017/03/13(月) 22:59:05.18ID:LW5xGsJa
つまりこう!
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.63ID:nedbFnQ2
重いファイルからimageオブジェクト作るときの進捗状況ってどうすればわかりますか

763デフォルトの名無しさん2017/03/14(火) 01:00:03.01ID:P+kDROuz
>>761
なんというか、それは簡単なものを難しくしてしまったかのような印象を受けるな。w

764デフォルトの名無しさん2017/03/14(火) 01:48:57.03ID:8ZQC9mVP
>>761
蛇足的だけどString.length()は正確には文字数を返すメソッドでは無い
サロゲートペアも考慮するならString.codePointCount()を使わないと正しい文字数は分からない

765デフォルトの名無しさん2017/03/14(火) 03:53:49.56ID:P+kDROuz
後は改行をどうするかだな。1文字としてカウントするかどうか。

766デフォルトの名無しさん2017/03/14(火) 19:21:34.50ID:UFHlOqnN
>>762
これ分かる人いないの?

767デフォルトの名無しさん2017/03/14(火) 19:24:58.06ID:+lPCAJ5X
俺はやろうとしたこともなく調べたこともないのでわからない。

768デフォルトの名無しさん2017/03/14(火) 19:35:21.21ID:7IaablSW
そもそもその説明ではわからん
スルーされて当然

769デフォルトの名無しさん2017/03/14(火) 20:51:21.68ID:UFHlOqnN
わかった説明不足すまん

pdfBoxで20MくらいのPDFを画像に読み込む際にここが時間かかるから
BufferedImage bim = pdfRenderer.renderImageWithDPI(0, 300, ImageType.RGB);

読み込み進捗状況がわかればプログレスバーとかで表示できてええなと思った次第です。

770デフォルトの名無しさん2017/03/14(火) 21:08:05.03ID:oy9qM5dd
Servlet+JSPってWeb Formsの.aspx.cs+.aspxみたいなものですか?

771デフォルトの名無しさん2017/03/14(火) 22:45:07.32ID:RBmfhHqQ
>>770
Web Formsの方がまだまし

772デフォルトの名無しさん2017/03/15(水) 09:54:25.35ID:nvMJjtxM
>>769
javaでは無理

773デフォルトの名無しさん2017/03/15(水) 12:43:56.50ID:8F8YsJXw
>>772
ありがとうございました。

774デフォルトの名無しさん2017/03/15(水) 12:47:33.01ID:YGGhTUX9
PDFってAndroidでの話か

775デフォルトの名無しさん2017/03/15(水) 13:56:46.04ID:8F8YsJXw
>>774
Apache PDFBoxですよ
JavaでPDFを操作するライブラリです。

776デフォルトの名無しさん2017/03/15(水) 17:52:42.53ID:ui/I0OuL
スッキリjava読み終わってオブジェクト指向は6割程度理解したところで
とりあえず次に進もうと思うんですが
もうAndroidアプリ作成に挑戦しても大丈夫でしょうか
それとももっと徹底的に基礎やるか
アプリ作成していく上で必要になったものをググってやっていくか
どちらがおすすめですか
それとも他にやることあるでしょうか?

777デフォルトの名無しさん2017/03/15(水) 18:44:36.33ID:Md4nAop/
>>776
よく頑張った
じゃあJavaを窓から放り投げてVS.NET2017入れてXamarinやろう

778デフォルトの名無しさん2017/03/15(水) 20:29:54.14ID:DqvvjAtL
>>776
作れ作れどんどん作れ

779デフォルトの名無しさん2017/03/15(水) 20:34:24.02ID:bnx9ebzK
これから毎日コード書こうぜ
どぅんどぅん書こうぜ

780デフォルトの名無しさん2017/03/15(水) 22:53:08.91ID:wE2X/iLm
>>777
調べてみます
>>778
>>779
わかりましたゴリゴリいきます
ありがとうございます

781デフォルトの名無しさん2017/03/15(水) 23:46:36.27ID:VEU4RUfR
割とまじめに、AndroidをJavaで書くのは少し考えた方がいいよ
HTMLベースでiOSとクロスプラットフォーム開発も増えてるし、AltJavaでKotlin使うところも増えてる
Xamarinもクロスプラットフォームの部類な

782デフォルトの名無しさん2017/03/16(木) 00:23:17.69ID:XZ4cdjpA
>>781
その辺もまだまだ未知なんで調べていきますありがとうございます

783デフォルトの名無しさん2017/03/16(木) 00:32:17.50ID:yvJi5tFd
>>753
まず、System.out.println……で殺意を覚えるけど仕方ないなjavaだもんな(´・ω・`)
cの\n地獄も嫌だしな

784デフォルトの名無しさん2017/03/16(木) 01:49:09.74ID:IIBob/uG
その程度で殺意とか戦闘民族かよ

785デフォルトの名無しさん2017/03/16(木) 02:38:11.15ID:E3HFu8gT
>>781
割とまじめに書くと、AndroidのネイティブはJavaなのでCordova、Kotlin、Xamarin、Unity等々使ってもJavaの知識がいらなくなる訳ではないし、glue層、プラットフォーム層、アプリ層とレイヤーが増えるので不具合が起きた時の解析難易度は一気に上がる

786デフォルトの名無しさん2017/03/16(木) 03:35:53.04ID:3/mNwmhy
全くの無知ですが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.09ID:LvVdBh1p
AndroidでSwiftを採用する噂もあるけど、それ系の話はスレチだから泥スレでやれ

788デフォルトの名無しさん2017/03/16(木) 15:26:50.92ID:qnnKBm6U
javac -Xlint:unchecked JpegEncoder.java じゃないのかよ

789デフォルトの名無しさん2017/03/16(木) 19:05:59.41ID:enc9YkOF
すみません
眠くてログを貼ってなかったです
オプションを使ったら警告のログがでますが、その後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.10ID:JyenaZek
いや眠いとかどうでもいいし
何がしたいのかわからんから何も答えようがない
mainがないって怒られてんだからmain書いたら?

791デフォルトの名無しさん2017/03/16(木) 19:49:19.03ID:jx8lVvlo
javacって警告なしだとクラスファイル作成されなかったけ

詳しくは見てはないけどコメントの日付やVector使っているあたり、ジェネリクスすらない時代の遺物だから型推測の部分で警告が出てる

そのソースを絶対に使う必要がないなら別のソースやライブラリ使った方がいいと思うが...クラス名からJpeg変換とかくさそうだし何をしたいかを書いた方がいいと思う

792デフォルトの名無しさん2017/03/16(木) 19:50:28.69ID:jx8lVvlo
間違えた

>警告なし
警告あり

793デフォルトの名無しさん2017/03/16(木) 22:59:32.34ID:03VPEn4X
>>791
おまえも何言ってんだよ
786の実行時のエラーメッセージ見えてないのか一度眼科行ってこい

794デフォルトの名無しさん2017/03/16(木) 23:27:27.15ID:8Hl8VaYG
>>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.86ID:naakr855
てか、javac 実行しているディレクトリなんなんだよ。そんな所に一緒にソース置いてんのかよ。
もしや環境変数のPATHを知らんのか? もし知らないならまずはそれを調べてちゃんとセットしてから使った方が良い。

796デフォルトの名無しさん2017/03/17(金) 03:03:33.94ID:rn4RzB8t
>>790
何がしたいかと言われてもJpegEncoderを起動したいだけ
main書けと言われても>>786で言ったように俺はJAVAに関しては全くの無知だから
JpegEncoder.javaのソースをみてどれがmainとかわからんし
>>791
ちょっと手直ししてあるソースを使っても同じだった
>>795
JAVAのプログラムはこれっきりだし、いちいちパスつけるのが面倒
binのディレクトリの中なら誤作動ないし、そもそも仮想環境だから汚れても平気

797デフォルトの名無しさん2017/03/17(金) 03:14:46.71ID:naakr855
>>796
main作れよ。ないから。
そのクラスをいじりたくないなら他のクラス作ってそっちにmain作ってそっちから実行すればいい。

mainがないと実行できないってことがわかってないようなら入門書の最初の方読め。またはググって探せ。かなり基礎的なことだから。

798デフォルトの名無しさん2017/03/17(金) 03:42:38.23ID:zPEoLLc9
優しいなあ

799デフォルトの名無しさん2017/03/17(金) 07:30:52.32ID:khMayeoP
結局何がやりたいのかわからんのだが…

>>796
もう一回聞くけど、そもそもの目的はなんなんだと
何か目的があってそれに合うものを探したら今回のプログラムが見つかったんではないの?
あんたの本当にやりたいことはJpegEncoderを起動することなの?

例えばさ、Googleがwindows/Linuxで使えるJpegEncoderとか出してるわけで、
ttps://github.com/google/guetzli
そういうのを使わずになぜあえて何も知らないJavaでやるんだよ

800デフォルトの名無しさん2017/03/17(金) 09:23:42.46ID:mIFirE3d
>>796
これ起動するものじゃないよ
別のプログラムから呼び出して使うライブラリだよ
名前が同じ別の何かと間違えてるんじゃない?

801デフォルトの名無しさん2017/03/17(金) 11:34:46.13ID:wMPJu+yP
ほっとけよもうマジで…

802デフォルトの名無しさん2017/03/17(金) 14:34:51.58ID:XPZs+Dis
>>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.60ID:fTRgnT5y
>>802
「らしい」って誰かにそれで画像開けるようにしてって言われたん?
その人に言えば?main作ってってw

804デフォルトの名無しさん2017/03/17(金) 15:48:11.85ID:lm0sC0uY
>>802
JpegEncoderで開くって?
これは画像ファイルをquality指定してjoeg形式に変換するプログラムだぞ
それを認識した上でmain実装してくれなら対象の画像提供してくれなきゃ動作確認もできんよ

805デフォルトの名無しさん2017/03/17(金) 15:49:01.20ID:lm0sC0uY
joeg -> jpeg

806デフォルトの名無しさん2017/03/17(金) 15:58:50.22ID:wMPJu+yP
プログラマー様からの見積もりをくらいてぇのか

807デフォルトの名無しさん2017/03/17(金) 16:00:38.21ID:xT3goFZF
勉強目的でないならJava入門スレで聞いてんなよツルッパゲ

808デフォルトの名無しさん2017/03/17(金) 16:39:36.94ID:jlkvHmge
コントラスタが public JpegEncoder(Image image, int quality, OutputStream out) だからimage、quality、OutputStreamを作ってよびだして
OutputStreamをファイルに落とすとかじゃねえの?
試しにやってみればいいじゃない

809デフォルトの名無しさん2017/03/17(金) 19:44:35.32ID:Eh51nHBe
>>802
それ使いたいならそれが使える分ぐらいはJava覚えろよ。
そらができないなら金を出して人に頼みな。

810デフォルトの名無しさん2017/03/18(土) 00:33:17.34ID:aXqcSNDp
遂にjavaマスターしました
皆さん今までありがとう

811デフォルトの名無しさん2017/03/18(土) 04:03:37.23ID:+gS4HKhC
おめ

812デフォルトの名無しさん2017/03/18(土) 12:26:16.32ID:LmyaxlI7
おめでとう!おめでとう!

813デフォルトの名無しさん2017/03/18(土) 14:22:05.86ID:IfcuZKcb
マスターってことは弟子を採れるわけだね

814デフォルトの名無しさん2017/03/18(土) 16:05:14.35ID:+gS4HKhC
Jedi Master と Java Master はどちらが強いですか?

815デフォルトの名無しさん2017/03/18(土) 22:57:16.65ID:kG83N3fY
JDBCRealmの挙動が気に入らない(サルトやストレッチングが無いとかそういうの)んだけど
サーバーサイドJava業界ではカスタム認証する場合ってRealmを実装するのが標準的なの?
それともRealmを捨て去って他の方法で実現するのがいいのかな?

816デフォルトの名無しさん2017/03/19(日) 01:47:31.20ID:2aHcKY24
認証が要件に入ってくるような企業なら大体LDAP動いてるからそっちを使う
そういうのが無い企業なら、先に認証周りの基盤作ることを提案するわ
絶対今回だけでは済まないもの

817デフォルトの名無しさん2017/03/19(日) 01:52:30.67ID:yQ6I5BAH
どこまで出来たらマスターしたって言えるん?

818デフォルトの名無しさん2017/03/19(日) 02:14:40.12ID:AdiyVgxC
おいしいコーヒーを淹れることが出来たら

819デフォルトの名無しさん2017/03/19(日) 03:22:15.03ID:TuVtJt93
ゼロ割りして、たまに余りがでるくらいならマスターと名乗ってよい

820デフォルトの名無しさん2017/03/19(日) 09:27:00.03ID:DJjYEA61
>>819
ネ申 かよ

821デフォルトの名無しさん2017/03/19(日) 13:01:15.09ID:58yonE+5
なおチャックノリスもゼロ除算ができるとのこと

822デフォルトの名無しさん2017/03/19(日) 15:20:03.32ID:bt6/mtIM
このスレで質問しても無駄だったか
mainとやらも作る人もいないし、所詮初心者しか集まらないから
ここで聞くのも無意味だったか

823デフォルトの名無しさん2017/03/19(日) 16:03:58.34ID:9wiwOgEG
えっ?mainて本の最初の方にのってる奴だよね
今日から本読み始めた超入門者だけど見た気がするよ
mainから処理がはじまりその中に命令を書いたり他のクラスを利用したりすことができるんだよね

824デフォルトの名無しさん2017/03/19(日) 16:29:47.64ID:n181mAZK
だから作ってやるから検証用に対象の画像出せって言ってるだろ

825デフォルトの名無しさん2017/03/19(日) 17:31:40.50ID:2aHcKY24
いいよもう煽って何かさせようとするだけ無駄

826デフォルトの名無しさん2017/03/19(日) 18:00:02.58ID:RDzLif+g
>>822
必ず必要なmainを作れないのは誰かな?

827デフォルトの名無しさん2017/03/19(日) 18:03:11.99ID:l+8A/gat
目を合わせちゃいけません

828デフォルトの名無しさん2017/03/19(日) 18:26:54.01ID:cSt3/uVu
「目」を合わせちゃ「い」けませ「ん」

829デフォルトの名無しさん2017/03/19(日) 19:04:27.64ID:HjDu3Co2
>>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.16ID:s1NeABnr
>>829
staticでもないのにnewしてないC.foo()なんて呼べるの?

831デフォルトの名無しさん2017/03/19(日) 19:09:36.07ID:s1NeABnr
あ、間違えたはずかし
普通にC.foo()か

832デフォルトの名無しさん2017/03/19(日) 20:03:55.41ID:fXU5KAz6
中国語では幸福と書いてシーフーと読みます

833デフォルトの名無しさん2017/03/19(日) 22:59:51.48ID:tLuoitms
>>829
わかりません

834デフォルトの名無しさん2017/03/19(日) 23:38:40.43ID:eHLQKPhT
ダブルコーテーションが罠なのだけはわかる

835デフォルトの名無しさん2017/03/19(日) 23:48:16.41ID:31KqLn30
ここに質問して回答を待つ手間考えたら
自分自身で実行した方が早いと思うんだが

836デフォルトの名無しさん2017/03/20(月) 00:00:44.31ID:xJB8N6P4
>>822
class main {
public static void main(String [] augs) {
//メインってこれのこと?
}
}

8378292017/03/20(月) 00:11:34.00ID:5XocBJvS
>>835
いや、どうなるかは知ってます。
>>810さんに腕試しに解いて頂きたかったんです。そんなに難しくはないですがね。

8388352017/03/20(月) 00:30:30.66ID:G9ywqs9q
>>837
ごめんごめん
アンカー先見てなかったや

839デフォルトの名無しさん2017/03/20(月) 07:12:08.22ID:0AsGkSL3
>>836
惜しい
ちょっと違う

840デフォルトの名無しさん2017/03/20(月) 17:25:46.56ID:Roh8UBPi
augs

841デフォルトの名無しさん2017/03/20(月) 17:46:06.56ID:5kQCOymv
class m ain と[]の位置もね

842デフォルトの名無しさん2017/03/20(月) 21:52:54.31ID:OIm6dzkc
初心者同士の醜いスレだな
マスターしてさっさと卒業するべし

843デフォルトの名無しさん2017/03/20(月) 22:27:04.78ID:LNmD8hM7
お、おう

844デフォルトの名無しさん2017/03/21(火) 21:25:09.69ID:SpFyyB/8
何ができたら初心者でなくなるの?

845デフォルトの名無しさん2017/03/21(火) 21:27:33.58ID:WThEoqoK
就職してコードが書けたら

846デフォルトの名無しさん2017/03/21(火) 21:51:36.12ID:Isq+NasM
openJDKなりapache harmonyのjava.ioパッケージのxxxInputStream、xxxOutputStreamの実装が読めるようになったら初心者じゃないと思う

847デフォルトの名無しさん2017/03/21(火) 22:14:25.83ID:DWQU0H6F
美味しいコーヒーを淹れることができるようになったら

848デフォルトの名無しさん2017/03/21(火) 23:33:09.02ID:V4lnOeL3
初心者すぎる質問ですまんがJavaBeansってあるじゃん?
引数なしコンストラクタとゲッターセッターフルオープンの破廉恥クラスなんてアプリ作るのに必要ないと思うんだが
みんななんであんな規約をありがたがってんの?
あれがないとJavaの世界ではやっていけないの?

849デフォルトの名無しさん2017/03/22(水) 00:05:19.32ID:OU5ICY6u
>>848
それがいいことだと昔そうなっただけで結果的にはそれほどいい考え方でもなかった。それなのに頭が古いのはこだわっていまでもカプセル化が絶対正しいとか言ってるだけ。

850デフォルトの名無しさん2017/03/22(水) 00:22:50.51ID:0kIqNkR0
いやカプセル化は良い事だろ
アクセサ完備とかいう規約は気が狂ってると思う

851デフォルトの名無しさん2017/03/22(水) 07:40:18.69ID:cndipbBR
>>848
ありがたがってはないよ。みんなクソだと思ってるんじゃない。一応Lombokっていうライブラリがあったりもするけど

852デフォルトの名無しさん2017/03/22(水) 09:59:36.50ID:HKchav2f
ビーンズは本当ならDelphiみたいに言語レベルでサポートすべきものを全て人間に書かせて実現しようとしたところに無理があるように思った。

853デフォルトの名無しさん2017/03/22(水) 10:44:56.74ID:k3+dtBci
>>845
初心者クラスを継承する新しいクラスにチェンジできたら……か

854デフォルトの名無しさん2017/03/22(水) 20:43:08.75ID:CdcF/dkk
public class 教えてくん extends 初心者 {
}

855デフォルトの名無しさん2017/03/22(水) 22:38:03.99ID:qEl3ed9E
Beansは機械につくらせりゃいいんだよ!

856デフォルトの名無しさん2017/03/22(水) 23:00:51.38ID:0Ho4GhDw
てか、言語を拡張するか、または Java VM を使った専用の別の言語を作ればよかった。

857デフォルトの名無しさん2017/03/22(水) 23:28:45.01ID:Tutn10TZ
Scalaをもっともっと普及させたい

858デフォルトの名無しさん2017/03/23(木) 00:16:10.05ID:G4bkYzVL
>>854
初心者はある意味インターフェイスみたいなもんでしょ。

859デフォルトの名無しさん2017/03/23(木) 07:18:23.41ID:24rRszQc
Excelで言うところのcombin関数に相当するものはjavaにはあるでしょうか?

860デフォルトの名無しさん2017/03/23(木) 07:34:00.74ID:d3ayDDDq
多分標準にはないが、P(n,k) = n! / k!(n-k)!を知ってりゃ5分もかからずかけるだろ?

861デフォルトの名無しさん2017/03/23(木) 09:18:16.70ID:Kezp6LUO
数学覚えたら捗るよ

862デフォルトの名無しさん2017/03/23(木) 12:47:19.12ID:KojLK2zr
おぼえなくてもググればよくね?

863デフォルトの名無しさん2017/03/23(木) 12:54:30.57ID:ccyoWIJL
Javaは集合で考えたり高階関数使ったりって言語じゃないから、数学覚えても活用は限定的だわな
ラムダ式も導入されたし今後に期待かな

864デフォルトの名無しさん2017/03/23(木) 13:10:07.78ID:TkRzf2lC
ま、数学的な論理的思考はできた方がいいな。わかんないからってすぐにキーッてなるようなのはダメ。

865デフォルトの名無しさん2017/03/23(木) 20:23:02.16ID:qM4EW3hi
>>864
でも数学の本を読んでつくづく思うんだが,
都合のよい定義をふりかざし,これまた都合のよい定理を,意味不明な数式の積み重ねで証明する,
そんな都合のよい積み重ねの論理の権化である数学をやって,思考力が鍛えられるのか?

866デフォルトの名無しさん2017/03/23(木) 20:32:13.18ID:M994CFFC
>>865
応用して自分の生活や仕事で使えればいいんだがな。
使いどころに気づかないと無意味な理論と感じても特に不思議はないな。

867デフォルトの名無しさん2017/03/23(木) 20:39:56.62ID:qM4EW3hi
>>866
もう無意味・ナンセンスな抽象論にしかみえない,数学は

868デフォルトの名無しさん2017/03/23(木) 21:50:02.08ID:SqyLsKi6
腐ってもプログラマーなんだから数学出来なくてもいいけど数学意味ないはないわ

869デフォルトの名無しさん2017/03/23(木) 22:07:02.23ID:Kezp6LUO
高校数学くらいはできなきゃ恥ずかしいぞ

870デフォルトの名無しさん2017/03/23(木) 22:07:51.12ID:KojLK2zr
この数式は実生活のどんな時に使えるのか学校の数学の授業で教えてくれたらいいのにね
そしたら技術立国日本が復活するかも・・・しないかw

871デフォルトの名無しさん2017/03/23(木) 23:53:03.10ID:TAQVBNgm
>>870
役に立たない職業に就いたとしても教えるのが日本のいいところ。

872デフォルトの名無しさん2017/03/23(木) 23:54:58.05ID:TAQVBNgm
>>870
学校の先生がなんの役に立つのかわかるはずがない。

873デフォルトの名無しさん2017/03/24(金) 01:36:05.47ID:zDXTVpw0
とりあえずピタゴラスの定理は日曜大工等をして箱状の物に斜めの棒を入れて強化する時に
棒の長さを求めるのに使える。

874デフォルトの名無しさん2017/03/24(金) 01:41:13.17ID:zDXTVpw0
おそらくだいたいの大工はなんだかよくわからないかも知れないけど計算方法は知っている。

875デフォルトの名無しさん2017/03/24(金) 02:12:57.53ID:LvaD/h2O
Javaと一緒にeclipseの使用方法も詳しく解説している本とかってないでしょうか?
デバッグなど全然使い方が分からず、ただ実行するだけのものになってて勿体無いので……

876デフォルトの名無しさん2017/03/24(金) 05:25:59.08ID:8SSjzg+S
Eclipse 4.3 完全攻略、宮本信二、2013

Javaの解説は無いよ。
もっと新しい本もあるかも

877デフォルトの名無しさん2017/03/24(金) 08:06:42.19ID:2TMSh7uI
>>876
ありがとうございます!
今日の帰りにさっそく買ってきます!

878デフォルトの名無しさん2017/03/24(金) 12:24:05.50ID:aVUuWHQu
>>875
開発環境使うの初めてならeclipseよりIntellij IDEAの方を勧めますよ
android開発環境のAndroidStudioも中身はIntellij IDEAなので新しめのandroidの本なら使い方書いてあると思います
将来android開発もする予定なら開発環境は一つにした方が学習コストが低いと思います

879デフォルトの名無しさん2017/03/24(金) 12:31:42.52ID:jvHM94jK
RainbowDropsが綺麗だからEclipseにしちゃう

880デフォルトの名無しさん2017/03/24(金) 12:49:00.55ID:ADCvpbjH
AndroidStudioは産廃って評判が多いけど、EclipseでAndroid開発してたころよりはマシだし
だいたいGoogleが開発したところがそびえ立つクソなんであって、IntelliJに問題はない

881デフォルトの名無しさん2017/03/24(金) 12:54:34.68ID:lapEt7PI
>>875
エクリプスはJavaのためにあるわけではない。

882デフォルトの名無しさん2017/03/24(金) 13:39:35.12ID:FBSEgTxs
俺の場合CやPerlでも使いたいのでeclipse

883デフォルトの名無しさん2017/03/25(土) 01:07:43.68ID:t95Dldij
swingでguiソフトを作っているのですがpaintcomponentメソッドでdisposeした方がいいのでしょうか?
調べるとdisposeするのがjavaの作法という記事を見ますが個人的にしない方が描画が高速な気がします。ガーベージコレクションがあるので問題ないのでしょうか?disposeしないことでプログラムにバグや動作不良などのデメリットはありますか?

884デフォルトの名無しさん2017/03/25(土) 01:21:58.51ID:t95Dldij
投稿したばかりですがdisposeありと無しを何回か検証した結果特に変わりはありませんでした。僕の勘違いがメモリを多く使いすぎていたかだと思います
すみませんでしたm(_ _)m

885デフォルトの名無しさん2017/03/25(土) 09:04:42.75ID:crtOPoox
kindleストアでスッキリわかるシリーズが4月2日まで半額セール

886デフォルトの名無しさん2017/03/25(土) 13:54:14.56ID:UTF1keJq
スッキリって入りとしてはいいと思うけどそれほど身につかない気がする

887デフォルトの名無しさん2017/03/25(土) 14:07:37.44ID:omxknQTj
会話形式の参考書って内容に集中できないんだよね

888デフォルトの名無しさん2017/03/25(土) 14:50:29.77ID:1tNyLe59
Google先生が最強

889デフォルトの名無しさん2017/03/25(土) 16:52:12.71ID:ojlfFp+9
良い本だと思うけど、演習問題がやや手薄。
他の演習書等で補う必要があると思う。

890デフォルトの名無しさん2017/03/25(土) 17:08:34.27ID:b8qUt4LL
スッキリはサンプルソースコードの名前が全部main.javaなのが凄まじく嫌がらせに感じる
IDEでまとめて見れないやんっていう

891デフォルトの名無しさん2017/03/25(土) 20:04:50.67ID:E2Mhv2d7
>>890
ど、dokojava...

892デフォルトの名無しさん2017/03/25(土) 20:53:42.20ID:+CWlWdAu
スッキリは汎用性皆無のコードで説明するのやめて欲しいわ
考えるな感じろと?

893デフォルトの名無しさん2017/03/25(土) 21:13:49.71ID:HHm6PAlo
Don't think ! Feel.

894デフォルトの名無しさん2017/03/25(土) 21:59:20.88ID:2rp6TOCR
関数型インターフェース調べたら引数の型や数、戻り値の型ごとに違うインターフェースやメソッド使ってて愕然とした
みんなこんなん覚えてんのか……?

895デフォルトの名無しさん2017/03/25(土) 22:20:58.24ID:6pLpVBst
>>883
paintcomponentでdisposeってGraphicsオブジェクトのことだと思うけど
引数で渡されたものなら普通はメソッドの呼び出し側で破棄されるから廃棄不要
後始末のタイミングが生成者側でうまく決められないものは仕方ないけど
基本的には後始末の責任は生成した者が負うようになってるのが真っ当な設計
だからpaintcomponent内で能動的に作成したものならdisposeもpaintcomponent側の責任

896デフォルトの名無しさん2017/03/25(土) 22:25:37.24ID:6pLpVBst
と、うちのばっちゃが言ってた

paintcomponentでなくpaintComponentだね

897デフォルトの名無しさん2017/03/25(土) 23:02:58.80ID:V66a16Nj
>>894
ラムダ式使うんだよ
2,3個こういうのがあったはずと覚えとけば
検索できるし他のメソッドにもたどり着ける

バイキングで料理たくさんあるからといって
全部食べようとしたらお腹痛くなる

898デフォルトの名無しさん2017/03/25(土) 23:22:14.45ID:t95Dldij
>>896
ありがとうございます

899デフォルトの名無しさん2017/03/26(日) 00:45:48.20ID:AmprMgIj
JSFとStruts 2とSpringとSpring MVCの違いは?

900デフォルトの名無しさん2017/03/26(日) 01:44:57.09ID:dFhrxFHc
去年改定したくせにラムダ式載せない新明解ジャバの著者め……
でも、プログラミング言語c++訳したから許すさない

901デフォルトの名無しさん2017/03/26(日) 02:21:47.60ID:9bRE2FVy
スッキリの実戦編まで読み終えたけど
次に読むような本って何なんでしょう?
色々実戦的に作ってみたいです

902デフォルトの名無しさん2017/03/26(日) 04:07:08.11ID:PRpbdmfu
EFFECTIVE JAVA 第2版、2014

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

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

スッキリわかる サーブレット&JSP入門

それか、Java8 の本

903デフォルトの名無しさん2017/03/26(日) 09:57:13.24ID:oOxNGfpF
>>901
>>705 も読んでないなら参考にしてみるといい

904デフォルトの名無しさん2017/03/26(日) 10:07:25.20ID:be0M9Ng9
>>899
JSF: ASP.NET WebFormsのパチモン。出来損ない
Struts 2: ASP.NET MVCのパチモン。非推奨
Spring: ASP.NET MVCのパチモン。出来損ない
Spring MVC: Springのコンポーネントの一つ

905デフォルトの名無しさん2017/03/26(日) 12:45:26.12ID:pNW/BSt4
新人研修でServletとSQLというのを一応やるらしいんだけど尼のスッキリ半額は別に買っておいた方がいいかな?

906デフォルトの名無しさん2017/03/26(日) 18:50:54.01ID:oOxNGfpF
ちょっとした疑問なんだけど、DBアクセスの並列化って難しいのかな
参照は特に問題ないと思うんだけど更新系は難しい?
少なくともJTAはスレッドとトランザクションを関連付けてるから、
並列化したやつが別スレッドに割り当てられたら別トランザクションになってしまうし厳しそうなイメージはある…

907デフォルトの名無しさん2017/03/26(日) 18:56:41.68ID:avI+l4ib
トランザクションかけなければいいじゃん

908デフォルトの名無しさん2017/03/26(日) 19:06:10.75ID:oOxNGfpF
トランザクションかけないってことはautocommitだよね
更新失敗したらどうするの?

909デフォルトの名無しさん2017/03/26(日) 19:08:45.68ID:K0FPpjuZ
東京電力の新会長に日立製作所の人間が就任

910デフォルトの名無しさん2017/03/26(日) 19:13:34.40ID:avI+l4ib
>>908
もう一回やり直せばいい

911デフォルトの名無しさん2017/03/26(日) 21:06:34.52ID:sVlg3iWy
1行で全部更新するとか
DBによってはできるかも?

912デフォルトの名無しさん2017/03/26(日) 21:41:51.23ID:Aj20bW+b
ストリームをcollect(Collectors.toList())したものをリスト型の変数に代入しようとしたら
「Object cannot be converted to List」と出ます
キャストすると代入出来るのですが、collect(Collectors.toList())の戻り値は
List型ではなくObject型なんですか?

913デフォルトの名無しさん2017/03/26(日) 21:52:32.48ID:Aj20bW+b
>>912
あっ、すみません
ストリームを一旦Stream型の変数に代入してからそれをcollect(Collectors.toList())したものを
List型の変数に代入したら上手くいきました
なぜだ……

914デフォルトの名無しさん2017/03/26(日) 23:26:40.79ID:Aj20bW+b
>>912
何度もすみません、自己解決しました
そもそもStream生成前のListの方でジェネリクスの指定が上手くいってませんでした
お騒がせしました

915デフォルトの名無しさん2017/03/26(日) 23:44:43.93ID:oOxNGfpF
>>910
意味わからん
コミットされて終わったものをもう一度やり直す???

916デフォルトの名無しさん2017/03/26(日) 23:50:24.79ID:avI+l4ib
>>915
更新に失敗したらもう一回更新すればいいだろうが

917デフォルトの名無しさん2017/03/27(月) 01:31:51.49ID:NVo+TrDo
話が通じないな

918デフォルトの名無しさん2017/03/27(月) 02:36:19.07ID:86gAYyt9
DBでは、一度コミットされたら元に戻せないぞ

919デフォルトの名無しさん2017/03/27(月) 04:37:45.89ID:OrjpaGTs
>>908
更新に失敗していればcommitもくそもない。

920デフォルトの名無しさん2017/03/27(月) 04:39:11.66ID:OrjpaGTs
>>906
平行処理なら別トランザクションにねるのに決まっているだろうが。何を意味不明なことを言っているのか?

921デフォルトの名無しさん2017/03/27(月) 09:27:48.50ID:sSRSimL8
別トランザクションになった時点でDB視点では並行じゃないんだけどね。

922デフォルトの名無しさん2017/03/27(月) 09:50:10.88ID:VgJTF0Ub
データベース板に居たっけ?って思ってしまた

923デフォルトの名無しさん2017/03/27(月) 09:58:08.90ID:0LKgXvpZ
並列化してはいけない部分を並列化しただけの話?

924デフォルトの名無しさん2017/03/27(月) 11:27:13.11ID:hfJnPcD+
元々の質問は同一トランザクションで並列化できるかどうかの質問ぽいか
参照系はできるが更新系は難しいでいいんじゃないの?

あとは別トランザクションになってもいいのなら並列化は可能

925デフォルトの名無しさん2017/03/28(火) 20:22:27.29ID:fgGnm3yR
JAVAとC言語どっちが簡単に自由度のあるゲーム作れますか?
DxライブラリみたいなのってJAVAにありますか?

926デフォルトの名無しさん2017/03/28(火) 21:43:52.42ID:8KHwvxzc
>>925
何を作るかにもよるが、まあ、普通に考えてその二つならJavaだな。
ただし、Android用でないと多数の人が使う状態にはならないと思う。

927デフォルトの名無しさん2017/03/28(火) 22:33:24.41ID:fgGnm3yR
>>926
PCで動かすアクションゲームを作りたいです

928デフォルトの名無しさん2017/03/29(水) 00:54:14.87ID:M4UnQvMB
Unityやれば?言語はC#になるけども

929デフォルトの名無しさん2017/03/29(水) 10:45:39.18ID:CKC2RzK7
>>928
unityかDirectXでやろうか迷ってます

930デフォルトの名無しさん2017/03/29(水) 11:27:59.40ID:CKC2RzK7
やっぱり半年はDxlibで作り続けます
皆さん返信ありがとうございました

931デフォルトの名無しさん2017/03/29(水) 17:54:31.92ID:3mAYmV0J
DirectXは玄人向けだしな。

932デフォルトの名無しさん2017/03/30(木) 09:24:05.57ID:yKZp9elZ
エクリプスもしくはWindowsのコマンドプロンプト上で動作させることを前提として、
以下のようなメニューをまずSystem.out.printlnで表示させて、数字を押したらその処理へ分岐させたいと思っています

0)終了 2)分岐A 2)分岐B

この状態で入力待ちし、有効な数字(テンキー)を一回押した時点(エンターキーを押す必要なく)で分岐させたいのですがどうすればできますでしょうか?

933デフォルトの名無しさん2017/03/30(木) 09:34:16.63ID:yKZp9elZ
すみません
メニュー画面は

0)終了 1)分岐A 2)分岐B

でした

934デフォルトの名無しさん2017/03/30(木) 09:46:14.21ID:7zcp0Qp+
JCurses

935デフォルトの名無しさん2017/03/30(木) 10:14:05.58ID:jHsv1zL4
>>932
学校の宿題/課題なら自分で調べろ

仕事ならそういったコントロールはJavaじゃなくてスクリプトでやったほうがいい
スクリプトで処理を決定して、実際の処理だけJavaで書くようなイメージ
役割分担せずに全部Javaで書くのはオススメしない

936デフォルトの名無しさん2017/03/30(木) 18:23:39.16ID:LF0rDNJx
javaブロンズ試験て簡単ですか?

937デフォルトの名無しさん2017/03/30(木) 18:30:29.91ID:Bv8WFxPo
>>934
ありがとうございます

>>935
あぼーんさせていただきました

938デフォルトの名無しさん2017/03/30(木) 19:12:56.71ID:nJQFz+7u
別の言語でCUIフロント書いてJavaでサービスを提供が無難だろうね
というかこの場合はJavaを捨てて他の言語で全部やるのが正解かな

939デフォルトの名無しさん2017/03/30(木) 19:35:19.16ID:aX4kcfBQ
>>936
そんなの人による。オブジェクト指向がわかっていればちょっと問題集をやれば受かる。

940デフォルトの名無しさん2017/03/30(木) 20:32:42.78ID:LoY/XYZC
>>936
知らない。受けようとすら思ったことがないので。

941デフォルトの名無しさん2017/03/30(木) 20:36:33.31ID:LoY/XYZC
>>938
JavaでやるならGUIでボタン並べとくのが楽かも。
かといってその後画面に何も出さなくていいようなプログラムだと無駄か、

942デフォルトの名無しさん2017/03/30(木) 20:47:03.40ID:aX4kcfBQ
>>941
初心者のくせに変なアドバイスするな。

943デフォルトの名無しさん2017/03/30(木) 21:27:26.98ID:3vwWvZ6d
エンターを拒否する理由がわからないし本人も書かない

>>941 はそれほど変ではない。まぁエンターを可にすれば良いだけだけど

KeyListenerにキーボードが押された時にイベントが発生するってのがあった
ttps://www.javadrive.jp/applet/event/index5.html

944デフォルトの名無しさん2017/03/30(木) 21:48:24.46ID:DOXC6NBl
>>936
プログラミング自体初めての人でも1週間あれば受かる

945デフォルトの名無しさん2017/03/30(木) 22:43:45.87ID:aX4kcfBQ
>>944
それは暗記が得意な人間限定だろ。

946デフォルトの名無しさん2017/03/30(木) 23:29:43.34ID:zmDt1cqU
>>936
資格が欲しいならブロンズでは役不足
ブロンズが受かるくらいの能力って意味なら土台くらいに思っていた方がいい
どちらにしてもブロンズでつまずくなら考えた方がいいと思う
学生なら大変って思うのはしょうがないけど

947デフォルトの名無しさん2017/03/31(金) 00:29:00.68ID:G7JBJ9MS
>>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.49ID:Otn8HbSa
935ってそんなひどい回答か?
至極まっとうな意見に見えるんだが…936がアレなだけ?

949デフォルトの名無しさん2017/03/31(金) 01:22:00.16ID:hT0rQPiY
誰が見ても、935 はまともだろ

>>932
>コマンドプロンプト上で、エンターキーを押す必要なく
もう、この時点で、Javaじゃないしw

950デフォルトの名無しさん2017/03/31(金) 04:33:30.50ID:osu/qMYT
CUIで入力を確定させるのにエンターキー使わない方法ってあるのか……?

951デフォルトの名無しさん2017/03/31(金) 07:23:06.99ID:Otn8HbSa
>>950
あるというか、仕様として決めればいい話
Javaでかつエンターいらないって仕様なら、
1行読みじゃなくて1文字読みすればいいだけのこと

952デフォルトの名無しさん2017/03/31(金) 09:02:39.11ID:Ynkhy4/h
コマンドプロンプトとjavaだけじゃ不可能じゃね?

953デフォルトの名無しさん2017/03/31(金) 09:03:42.27ID:XdddFVWv
cで言う所のgetche()だな

954デフォルトの名無しさん2017/03/31(金) 10:51:24.05ID:ndHhBxYB
>>952
ぐるぐる回ればいいんだよ。

955デフォルトの名無しさん2017/03/31(金) 11:08:45.91ID:H1pQ0CXA
>>953
getche()嫌い(´・ω・`)

956デフォルトの名無しさん2017/03/31(金) 12:08:22.35ID:r4bo6GQ0
ネイティブライブラリ作ってJNIで利用するしか手がなさそう

957デフォルトの名無しさん2017/03/31(金) 20:55:58.48ID:+RoQYFQA
javaでゲームを作っています
キー入力でキャラクターが移動してマウスで様々なイベントの処理をしようとしているのですがマウスでイベントを処理するとキー入力を受け付けなくなってしまいます
原因が分かる方いますか?

958デフォルトの名無しさん2017/03/31(金) 21:09:11.82ID:w9WwQK5E
>>957
わかんない。変な書き方してるんじゃない?

959デフォルトの名無しさん2017/03/31(金) 21:46:30.50ID:Tf8W7eqI
わかったぞ
バグってるからだ!

960デフォルトの名無しさん2017/03/31(金) 21:58:04.26ID:+RoQYFQA
やはりどこかバグがあるんですかね
そこまで複雑な処理はしてないのですが...
しばらく探してみます

961デフォルトの名無しさん2017/03/31(金) 22:13:13.87ID:mtJPl6/b
バグってハニー

962デフォルトの名無しさん2017/04/01(土) 05:25:50.87ID:2aD1OODW
ていうか、どう書いたのかここに書くなり何処かに書いてリンクするなりしてくれないと誰も何とも言えんだろう

963デフォルトの名無しさん2017/04/01(土) 16:16:56.73ID:2aD1OODW
>>953
その関数環境依存で最初からライブラリに入ってるのは主にWindows用Cコンパイラだよな。
他の環境だと自作することになって面倒。

964デフォルトの名無しさん2017/04/01(土) 21:22:01.68ID:j/176Eap
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.40ID:JX3Xm6T9
想定がよくわからん。↓みたいな事がしたいのかと思ったけど。
ttps://paiza.io/projects/eGVsgPaiOfG8hG7yst2CBg

966デフォルトの名無しさん2017/04/01(土) 23:52:55.78ID:j/176Eap
>>965

そうです。まさにその通りです。ソースを参考に何が間違っていたのか分析してみます。
大変ありがとうございました。

967デフォルトの名無しさん2017/04/02(日) 00:57:17.53ID:oPl36p+V
ソースコードを見て考えなくても、1行ずつ、デバッグすれば良いだけだろ?

それか、あちこちに、print文をばらまくとか

968デフォルトの名無しさん2017/04/02(日) 09:48:13.58ID:7PiFqLeo
>>964
正直何がしたいか(要件)がわからないけど、やりたいことに対して実装が複雑すぎじゃない?
実業務だったら多分全部書き直してる

969デフォルトの名無しさん2017/04/02(日) 16:17:59.71ID:E8izrwFB
wait()って、notify()ではなくタイムアウトで関数ブロック状態で抜けた場合それを知るすべが無いの?
タイムアウト・InterruptedExceptionで抜けた場合は処理Aを、
notify()で抜けた場合は処理Bを、ってことがやりたいんだが

970デフォルトの名無しさん2017/04/02(日) 19:16:01.75ID:REfjDWjC
>>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.00ID:uNrfjwY7
https://ideone.com/ccxD7R
上記のソースコードで実行時エラーが発生してしまうのですが、
どう直せばよいでしょうか?(Scannerの文)
スッキリわかるJava入門を参考に書いたのですが、
(例えば)String str = new java.util.Scanner(System.in).nextLine();
という文にある問題点が分かりません。

972デフォルトの名無しさん2017/04/03(月) 01:56:35.58ID:BUL/emew
自分の手元で動かせる環境がないのかな?
ideoneの使い方がそもそも間違ってるぞ。

973デフォルトの名無しさん2017/04/03(月) 03:01:27.51ID:UirRGd7/
>>970
ありがとうございます!

974デフォルトの名無しさん2017/04/03(月) 06:44:58.47ID:UyEHLSu2
>>971
単純に入力が無いぞこのやろーっていうエラーを吐いてる
IntelliJ辺りでソースコードコピーして実行したら
ちゃんと動いたぞ

9759712017/04/03(月) 15:54:28.98ID:QRQ9n9IP
>>972>>974
ありがとうございます。

エクリプスが入ってます。確かにそこではコンパイルエラーは出ていません。
しかしこのソースコードだとScannerクラスの使い方がよくないみたいなんですが、その辺りをどなたか説明して頂けないでしょうか?Googleで調べてもよくわかりません…。

976デフォルトの名無しさん2017/04/03(月) 16:11:53.89ID:yiUlzfB2
入力がないぞこのやろーってエラーをはいてるって言ってくれてるんだから入力するだけと違うんか

9779712017/04/03(月) 16:25:25.04ID:uNrfjwY7
>>976
どうやって入力すればいいんですか?
エクリプスのような案内が出ないんですが…。

978デフォルトの名無しさん2017/04/03(月) 16:31:30.42ID:uA2N3UXp
>>977
ideoneでコード書いてる下にstandard inputみたいなのあるはず
手元にEclipseあるならそれでやればいいんじゃないの?

9799712017/04/03(月) 17:08:42.50ID:QRQ9n9IP
>>978
ありがとうございます。

必要とされるであろうリテラルを、まとめて書いておくんですか?

980デフォルトの名無しさん2017/04/03(月) 18:03:17.35ID:uA2N3UXp
>>979
そう
改行挟んでね

9819712017/04/03(月) 19:41:05.11ID:uNrfjwY7
>>980
分かりました。
ありがとうございました。

982デフォルトの名無しさん2017/04/03(月) 19:43:08.35ID:gZTdU5yD
34歳ここにも書き込んでるなら向こうはよくね?

983デフォルトの名無しさん2017/04/03(月) 19:44:04.24ID:bUINxLhd
>>957
キーイベントはフォーカスを持ったパネルとかコントロールしか受け取れない
あと、恐らくjframe使ってると思うけど、Container cont=getContentPane();で
contに直接ボタンとかをaddしてない?それやるとタイトルバーに食い込むよね?
まずpannelをaddするとpanelはバーの下に配置されて左上0,0がバーの下になる。
マウスの位置の取得とかフォーカスとか全てそのパネルを基準にするといい。

984デフォルトの名無しさん2017/04/03(月) 19:50:58.79ID:C0G2h/2V
>>967
わかりました。デバッグしてみます。

>>968
Cで書かれているものをjavaで書こうとしているので、できるだけ、C実装と同じようにしたいと思っています。

985デフォルトの名無しさん2017/04/03(月) 19:55:50.56ID:jWiaLeMO
>>984
他言語で同じ動作をするプログラムを組むってのは同じコードを書くって意味じゃないぞ

986デフォルトの名無しさん2017/04/03(月) 21:40:30.47ID:C0G2h/2V
>>985

はい、今回初めてわかりました。今は以下のようになっています。もう少し修正してみます。

ttps://pastebin.com/5GYupJyS

987デフォルトの名無しさん2017/04/04(火) 05:18:13.74ID:K8Tf42DL
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.40ID:S7/ucjiF
なぁ
interrupt()のすぐ後にsleep()入れると何故かスリープ後に割り込みが発生するんだけどこれ仕様?おかしいだろ。
すぐ割り込ませたいんだけど

989デフォルトの名無しさん2017/04/04(火) 19:05:06.01ID:I9HDP9Y0
わからん。
なぜ< Result >
false
false
false
false
false
表示されるんだろうか。
[false, true, false, true, false]が表示されるはずなんだが。
ttps://pastebin.com/DhqE0x1K

990デフォルトの名無しさん2017/04/04(火) 19:18:34.10ID:865J8TPA
>>970
Thread.currentThread().isInterrupted()じゃダメなんだっけ?

991デフォルトの名無しさん2017/04/04(火) 19:47:54.02ID:iuVo07t1
>>989
ざっとしか見てないけど50-58の間にreturnがなくて58で必ずFalse入れてるんだからそうなるだろ

992デフォルトの名無しさん2017/04/04(火) 20:22:21.70ID:D5e7y0zT
40行目、selected = tmpSelect;じゃなくてselected = new ArrayList<>(tmpSelect);じゃないか?

993デフォルトの名無しさん2017/04/04(火) 20:47:18.61ID:I9HDP9Y0
>>991
39行目でtrueの場合(値更新)のみselectedは更新されるので、それ以外ではFalseの影響は受けないと考えます。
デバグ走らせたけど、2回しかこの処理は通っていませんでした。

>>992
ありがとうございます。予想通りに出力されました。
しかし、なぜselected = tmpSelect;では出来なかったのでしょうか。

994デフォルトの名無しさん2017/04/04(火) 20:50:02.91ID:y0EcmGB0
次スレ
Java入門・初心者質問スレ Part.3
http://echo.2ch.net/test/read.cgi/tech/1491306071/

>>990
Thread.currentThread().isInterrupted()でなにをすると?
割り込みステータスじゃタイムアウトとnotifyの判別できないんじゃね?

995デフォルトの名無しさん2017/04/04(火) 22:43:40.74ID:A2bdtwo3
趣味でプログラミング始めようとして、一応入門書一冊読んだだけでプログラム作り始めました。
複数の入力に対して、計算結果を出力する泥アプリを作ろうとしています。
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.35ID:rl/ytT5/
>>995
edit.getText().toString()呼び出すタイミングが悪いのでは?
Activity.onCreate()とかで呼び出してるんじゃないかな
上記ならどのタイミングでEditTextに入力された値を扱いたいかが分からないとそれ以上のアドバイスはできないけど

997デフォルトの名無しさん2017/04/04(火) 23:24:24.85ID:A2bdtwo3
>>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.89ID:QXjM+MPV
>>997
onClick()の中でnum1、num2取るように直してみな

999デフォルトの名無しさん2017/04/05(水) 00:35:55.27ID:ft0BvTmE
>>993
Cで言うポインタみたいなもんなのよ。
selected = tmpSelect;ってすると以降tmpSelect、selectedが同じインスタンスを指すようになる。
そうなると当然tmpSelectで行った変更はselectedでも見えるし、selectedで行った変更はtmpSelectでも反映される。
ttps://paiza.io/projects/P95uB_jQm3p0-qLv8Y7fuw

1000デフォルトの名無しさん2017/04/05(水) 00:38:09.83ID:/7gGEn2o

10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
life time: 144日 4時間 13分 0秒

10021002Over 1000Thread
2ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《プレミアム会員の主な特典》
★ 2ちゃんねる専用ブラウザからの広告除去
★ 2ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
https://premium.2ch.net/

▼ 浪人ログインはこちら ▼
https://login.2ch.net/login.php

レス数が1000を超えています。これ以上書き込みはできません。