[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 02/16 04:50 / Filesize : 268 KB / Number-of Response : 1022
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

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



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

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

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

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

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

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

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

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

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

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

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

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

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

520 名前:デフォルトの名無しさん mailto:sage [2017/02/16(木) 20:42:05.61 ID:exKspMH0.net]

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

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



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

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

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

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

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

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

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

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

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

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

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

529 名前:515 mailto:sage [2017/02/17(金) 22:36:16.34 ID:6UcXL/TD.net]
>>516
分かりました。

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

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

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



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

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

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

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

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

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

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

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

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

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

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

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

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

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



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

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

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

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

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

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

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

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

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

;ここにSQL文を入れる;

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

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

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



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

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

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

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

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

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

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

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

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

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

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

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



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

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

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

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

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

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

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

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

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

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



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

573 名前:デフォルトの名無しさん mailto:sage [2017/02/20(月) 23:03:34.23 ID:e3MnNv+f.net]
>>560
ありがとう!

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

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

575 名前:デフォルトの名無しさん [2017/02/20(月) 23:23:33.96 ID:e0RSzmB4.net]
>>561

IDEエディタは好みのものを使えばいいと思うが・・・

その前に、
スッキリわかるjava?とかいうのを読んで理解する時は
最低限の環境・・・つまり
メモ帳で書いて、コマンドラインにてjavac実行でコンパイル→実行をお勧めします。
更に、外部のライブラリを参照する事によるコンパイルにも慣れてから好みのIDEを選びましょう。
(理解するというよりも、体感せよ。)
外部ライブラリ・・・例えばApache Commonsがいいかな?詳しくは調べよう。

https://commons.apache.org/

あと、IDEじゃないけど、antも同様。

いきなり、例えばeclipseで覚えようとすると、eclipse以外で
Javaを書いたり構築したりする事が難しくなる。
何を書いているか分からない?いずれ分かるでしょう・・・。

ようこそ、Javaへwwwww
・・・でもJavaを今から覚えるのか?レガシーな言語ですよ?

576 名前:デフォルトの名無しさん mailto:sage [2017/02/20(月) 23:57:57.40 ID:srR/js2e.net]
>>563
プログラミング言語の主力ってどうなの?
Ruby勧められたけど基本情報処理技術者で使えないから仕方なくjavaにしたんだよね…

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

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

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

580 名前:スッキリ厨 [2017/02/21(火) 00:25:32.83 ID:jHRGu1Ca.net]
YouTubeにある、T Umezawa の動画、2つの言語で、内容は同じだけど、
Javaは秀丸で、C#はメモ帳で書いてる

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

ただし、C#の方は、少し更新が止まっている

「スッキリわかる Java入門」を3回読んで、オブジェクト指向をみっちり学んだら、
「たのしいRuby 第5版、2016」も3回読むといい。
クロージャ・関数型への道が、一気に開けるから、Java8のStreamも理解しやすい。
他のスクリプト言語も理解しやすくなるから、応用力がつく

581 名前:デフォルトの名無しさん mailto:sage [2017/02/21(火) 01:24:59.58 ID:Cq8abdSM.net]
>>563
antって、、、未だにant使ってるならレガシーってなるでしょ
ビルドはgradleがいいけどmavenのサンプルもまだ多いので両方使える方が望ましい
eclipseでgradle使うならplugin入れたりと手間だし、機能的な面も考えればIDE はIntellij 一択でしょ
eclipseは自分好みのplugin入れて設定して苦労して環境構築したから惰性で使い続けるものになってる
ま、ある意味ユーザ離れが少ないのかも知れないけど



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

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

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

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

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

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

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

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

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

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

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

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



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

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

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

594 名前:デフォルトの名無しさん mailto:sage [2017/02/21(火) 17:09:28.70 ID:6AK/ye3y.net]
途中で送信しちゃった

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

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

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

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

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

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

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

600 名前:そうやっていいの?ってのとそれ駄目だったの?ってのが多すぎるよ… []
[ここ壊れてます]

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



602 名前:デフォルトの名無しさん mailto:sage [2017/02/21(火) 17:45:44.78 ID:TggSaCtx.net]
チラ裏

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

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

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

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

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

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

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

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

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

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



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

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






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<268KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef