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


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

☆★Java質問・相談スレッド175★★



1 名前:デフォルトの名無しさん mailto:sage [2015/10/23(金) 23:09:24.14 ID:sB1GrBUA.net]
プログラミング言語Javaに関する質問スレです。
JavaScript, Ajaxの質問は、ここでは受け付けていません。
Web製作管理    pc11.2ch.net/hp/
Webプログラミング pc11.2ch.net/php/
をご利用下さい。

よくある質問
・「コマンドまたはファイル名が違います」
 「'javac' は、内部コマンドまたは外部コマンド、
 操作可能なプログラムまたはバッチ ファイルとして認識されていません。」
 「Exception in thread "main" java.lang.NoClassDefFoundError: 」
 (p)ttp://www.wikiroom.com/java/?path,classpath
・「\12288 は不正な文字です。」
文字リテラル以外で全角スペースは使えません。半角スペースに。
・その他の質問→「APIのjavadoc見ろ」
・String に == は使うな。equals() を使え。※

質問時の心得
・コンパイルエラーか実行時エラーか、エラーではないが意図しない動作なのかはっきりしろ。あとエラーメッセージちゃんと読め。
・前提条件としてOS、開発環境、バージョン、使用フレームワーク等を明記。


前スレ
★★Java質問・相談スレッド174★★ [転載禁止]©2ch.net
peace.2ch.net/test/read.cgi/tech/1435295532/

666 名前:デフォルトの名無しさん mailto:sage [2016/01/01(金) 00:25:11.73 ID:s1q5sKKf.net]
>>660
paizaではクラス名とファイル名をMainにしてやってみました。
groovyとideoneではファイル名の指定はできません。 

667 名前:デフォルトの名無しさん [2016/01/01(金) 09:14:03.76 ID:sVrrx3Fu.net]
スッキリ本が評判ですがそれを読み終えたら実践編へと続くのがいいですか?
この実践編も評判いいですか?

668 名前:デフォルトの名無しさん mailto:sage [2016/01/01(金) 09:54:37.71 ID:sbEMjwWA.net]
入門、実践ともに、一通りの作業をつまみ食いしてるんだから、
新人研修っぽいことを一通りしてみたいなら実践編までおわらせれば
いいんじゃないの?更に次の本までね

他の言語への足がかりなら実践編いらないし、javaを真面目にやるなら
個々の話を別で掘り下げないといけない

ページ数は2冊あわせるとアメリカの教科書に匹敵するけど、
情報量はそれほどでもないかな

669 名前:デフォルトの名無しさん [2016/01/01(金) 10:09:38.54 ID:sVrrx3Fu.net]
>>663
ありがとうございます。
とりあえず実践編に進みます。
更に次の本とはサーブレットの本のことですかね?
Javaは真面目にやるつもりですが個々の話とはどういうことですか?
このスッキリシリーズでは得られにくいものがあるから他の本でいいものがあるのですか?
そのタイトルとは?

670 名前:デフォルトの名無しさん mailto:sage [2016/01/01(金) 11:12:05.62 ID:sbEMjwWA.net]
>>664
javaの知識としては、入門と実践あわせて、アメリカの分厚い入門書より少なめ
アメリカの教科書は練習問題も膨大だからoutput部分でさらに差がつくかな
javaのコア部分ならパーフェクトJava 2edあたりを読んでみるといい

言語コアを超えると、Javaだけに縛られずにデータ構造とアルゴリズム、
オブジェクト指向、デザインパターンとかテーマごとに広い世界が待っている
これらは入門、実践を通して触れられているけど、触れているだけだからね

あとは平行して、自分で解決したい問題を設定してそれに使えそうなライブラリを
調べて使ってみる
たとえば、GUIのどれかの基本とGoogleMap APIを使えば、経路探索
アルゴリズムを勉強するときに、自分のアルゴリズムをgooglemapの
データ上に表示とかできて楽しめる

671 名前:デフォルトの名無しさん mailto:sage [2016/01/01(金) 11:26:28.99 ID:FaFDYlKq.net]
ある程度わかってきたら他の言語もやることをお勧めする
Java齧った人が入りやすくて便利なのはPythonかな
一つの言語ばかりやってると変な癖が付くし本質を本当に理解するのは難しい

672 名前:デフォルトの名無しさん [2016/01/01(金) 11:35:04.81 ID:sVrrx3Fu.net]
>>665
ありがとうございます。
GUIのどれかの基本とはSwiftのことでしょうか?
Googleマップの独自アルゴリズムとはどういうものでしょうか?
ひょっとして太い道路しか使わないとか、曲がるなら右しか曲がらない、のような感じですか?

673 名前:デフォルトの名無しさん [2016/01/01(金) 11:35:56.67 ID:sVrrx3Fu.net]
>>666
Pythonはなにができますか?
プログラミング言語って1つJava覚えればできるだけそれだけでいろいろできるのではないのですか?

674 名前:デフォルトの名無しさん mailto:sage [2016/01/01(金) 11:52:48.69 ID:FaFDYlKq.net]
>>668
プログラミング言語なんて作りたいものに応じて選ぶもんだ
必要なら未経験の言語だって使う
複数の言語をやると、言語なんてプログラミングにおいてそれほど重要な要素ではないことが分かる
例えばPythonは「大量のCSVファイルを集計してグラフを作りたい」みたいな仕事はJavaの1/10くらいのコードで書ける



675 名前:デフォルトの名無しさん mailto:sage [2016/01/01(金) 17:01:24.85 ID:hiTInZp8.net]
Listの内容をJSPでテーブル出力したいんですが、なんとなくダサイです。
もっといい方法はないでしょうか?

今はこんな状態です。
<%
for(Human human : humanList){
out.println("<tr><td>"+human.getCode()+"</td>"+"<td>"+human.getName()+"</td><td>"+human.getFishClass()+"</td></tr>");
}
%>

676 名前:デフォルトの名無しさん mailto:sage [2016/01/01(金) 17:17:18.58 ID:ccisxAxM.net]
jstl使えば見やすくはなる

677 名前:デフォルトの名無しさん mailto:sage [2016/01/01(金) 19:03:00.48 ID:hiTInZp8.net]
>>671
ありがとうございます。だいぶ見やすくなりました。

678 名前:デフォルトの名無しさん mailto:sage [2016/01/02(土) 03:47:22.32 ID:zfNCHDGM.net]
サーブレットを勉強するのにこの本を買おうと思ってるんですが、もし既読の方いらしたら感想を頂けませんか?
www.amazon.co.jp/dp/4798140929/

679 名前:デフォルトの名無しさん mailto:sage [2016/01/02(土) 05:41:15.31 ID:zfNCHDGM.net]
ServletでJSPのデータを取得したいのですが、JSPの"${l.code}"の部分(数値)とinputの入力値をセットで取得するにはどうしたらいいでしょうか。
今は下記のソースで、inputの値だけ受け取れる状態です。

JSP側
<form name="form" method="post" action="TestClass">
<table>
<c:forEach var="l" items="${list}">
<tr>
<td><c:out value="${l.code}" /></td>
<td><c:out value="${l.name}" /></td>
<td><input name="count" type="text" /></td>
</tr>
</c:forEach>
</table>
<input type="submit" value="送信">
</form>

Servlet側
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String[] b = request.getParameterValues("count");
}

680 名前:デフォルトの名無しさん mailto:sage [2016/01/02(土) 09:10:03.66 ID:B+tUCmqX.net]
>String[] b = request.getParameterValues("count");

request.setCharacterEncoding("UTF-8")もいるかも?

request.getParameter() かな?

681 名前:デフォルトの名無しさん [2016/01/04(月) 13:39:26.28 ID:z+lfqffG.net]
Innerクラスについて、勉強してるんだけど、Innerクラスって必要??

682 名前:デフォルトの名無しさん [2016/01/04(月) 13:43:02.67 ID:BoIdS338.net]
いんな(inner)い。

683 名前:デフォルトの名無しさん [2016/01/04(月) 13:43:30.81 ID:BoIdS338.net]
Android開発でも匿名クラスはあたりまえのように頻発してるがな。

684 名前:デフォルトの名無しさん [2016/01/04(月) 13:51:56.74 ID:z+lfqffG.net]
Innerクラス(メンバクラス、ローカルクラス、匿名クラス)
どれが一番頻繁にでる?
重要?
Innerクラス、勉強しなくてもいいって言われたんだけど、実際はどうなの??
因みに私は24歳で新人です><



685 名前:デフォルトの名無しさん mailto:sage [2016/01/04(月) 14:08:16.63 ID:8cSrjSdZ.net]
設計によるけど、staticなnested classでダメな設計したときに
non-staticなinner classの出番

686 名前:デフォルトの名無しさん [2016/01/04(月) 15:46:12.49 ID:MZiI0bqz.net]
匿名クラスが一番使うかな、Java8 でラムダ式使えるようになったから、減らせるようになったけど
ローカルクラスは使ってるのほっとんど見たこと無い、マニアック文法ってイメージ
メンバクラスはまぁまぁ使ってるの見るかな(普通に Inner クラスって言ったらこの事指すから、メンバクラスって用語はあんまり聞かない)

後は、用語としては間違いだけど、static nested class の事を static inner class って呼ぶ人がたまにいる
こっちは、1つのファイルに複数のクラスが宣言出来るようになってからはあんまり使われなくなったけど
クラスで囲って private にしたい時とかはまだ使うかな

687 名前:デフォルトの名無しさん [2016/01/04(月) 18:30:59.20 ID:eOB5Bsfb.net]
基本情報のJavaの穴埋めがなかなか理解できないんですが、どういう方法で勉強したらいいでしょうか?
全ての変数に適当な値を入れて、全ての選択肢のケースでそれぞれどうなるかを地道にトレースするのが一番でしょうか?

仕事でプログラムやってると、何も考えずにスラスラ解けるようになるのでしょうか?(個人差はあると思いますが)

688 名前:デフォルトの名無しさん mailto:sage [2016/01/04(月) 18:48:02.63 ID:PkjUEXaT.net]
>>682
javaは無駄にコード量が多くてまわりから虫食い情報を引き出しやすいから
基礎を理解できてれば慣れるだけ

仕事ではIDE様が助言してくれるから虫食い問題は役に立たない

689 名前:デフォルトの名無しさん mailto:sage [2016/01/04(月) 19:03:57.81 ID:j+bLPT4m.net]
選択肢どころかほぼ同内容の全文を書き下ろせないと仕事にならんよ

ロジックが追えないなら末尾側から追っていくといい
最終的なアウトプットのこれを導くためにどれとどれがどう作用しているか?
と見ていくと無駄が少ない

690 名前:デフォルトの名無しさん mailto:sage [2016/01/04(月) 19:06:04.69 ID:gIMpbeX1.net]
>>683は勘違いしてるみたいだが、基本情報の穴埋めというのは基本的にJavaの文法ではなくロジックとアルゴリズムの問題だ
基本情報レベルだと仕様を読んでコードに起こす能力が求められているわけで、
アルゴリズムの本を読む他は結局はプログラミングの練習をするしかない
プログラム書けないなら時間の無駄だからExcelに転向したほうがいい

691 名前:682 mailto:sage [2016/01/04(月) 19:14:36.83 ID:eOB5Bsfb.net]
>>683-685
ありがとうございます。
とりあえずJava Bronzeはとったのですが、基本情報向けとしては力不足でしょうか。
自分では簡単なサーブレット/JSPを作ってみたりしてるのですが、他人が書いたソースを読む事になるとゲンナリする感じです。

692 名前:デフォルトの名無しさん mailto:sage [2016/01/04(月) 19:30:53.68 ID:6F31ySkc.net]
>>686
>とりあえずJava Bronzeはとったのですが、基本情報向けとしては力不足でしょうか。

過去問やってわからないならそうじゃないの?

693 名前:デフォルトの名無しさん mailto:sage [2016/01/04(月) 21:24:32.22 ID:dQET1/AT.net]
そこまでやって基本情報レベルが分からないなら向いてないんじゃない?
アルゴリズムの本買ってきて自分で一通り実装するくらいしないとダメだと思う

694 名前:デフォルトの名無しさん mailto:sage [2016/01/04(月) 22:44:14.51 ID:V5gihq4M.net]
ローカルクラス初めて知った



695 名前:デフォルトの名無しさん mailto:sage [2016/01/04(月) 23:46:33.21 ID:O1teGQFD.net]
>>688
同意、公務員試験でも目指したら

696 名前:デフォルトの名無しさん mailto:sage [2016/01/05(火) 06:54:01.20 ID:sWMEArmd.net]
スッキリわかるServlet&JSPという入門書を読んでいるのですが、JSPの高性能版?なJSFというのがあるそうなのですが、
今から覚えるならJSPではなくてJSFのほうがいいのでしょうか?

697 名前:デフォルトの名無しさん mailto:sage [2016/01/05(火) 10:18:51.53 ID:C6YUc6a7.net]
JavaFX上で非同期処理をするため、自作でListenerクラスと非同期の処理クラスを作って、処理させたい側から非同期処理クラスにGUIコンポーネントの更新処理をオーバーライドして書き込んだListenerを渡して処理させているのですが、
非同期処理クラス→Listener→GUIコンポーネントの繋がりで参照が残ってしまっているのか、GUIコンポーネントを使わなくなってもリソースが開放されずメモリリークが発生してしまいます。

このようなことが起こらないためには、どのように実装するのが一般的なのでしょうか

698 名前:デフォルトの名無しさん [2016/01/05(火) 11:28:19.72 ID:VgKFWf5a.net]
ログイン機能をJavaで作りたいんですけど、画面系の環境設定せず、作れますか?
私のeclipseだと、文字しか表示されません
環境設定は自分でやる自信がありません。eclipseが壊れるから

699 名前:デフォルトの名無しさん mailto:sage [2016/01/05(火) 14:00:58.52 ID:f7uXcioj.net]
>>691
JSF等のフレームワーク

700 名前:デフォルトの名無しさん [2016/01/05(火) 15:40:45.23 ID:rNrMefwE.net]
>>692
説明下手くそ過ぎてほとんど何言ってるかわからない
どういうコード組んでどういう風に参照が残ってしまうのか、実行可能で簡潔なプログラムで示してくれ

とりあえず思うのは、非同期処理クラスがリスナへの参照を持っているってのは変
処理を使い回す(非同期処理としても呼び出したい)ならリスナとは分けてメソッドを別に書いたほうが良い

701 名前:デフォルトの名無しさん mailto:sage [2016/01/05(火) 17:14:30.47 ID:Oys3mgVD.net]
class MyImageLoader{
static private ArrayList<MyListener> listeners = new ArrayList<>();
static private Executor executor = Executors.newCachedThreadPool();
public static void addListener(MyListener listener){
listeners.add(listener);}
public static void loadImage(Url url){
executor.execute(new Runnable(){
@Override
public void run(){
Image image= // ここでUrlから画像を読み込み
for(MyListener listener:listeners){
listener.loadImage(image);
}}});}}
interface MyListener{
public void loadImage(Image image);
}
class MyFXMLController{
final ImageView imageView = new ImageView();
MyFXMLController{
MyImageLoader.addListener(new MyListener(){
@Overide
public void loadImage(Image image){
Platform.runLator(new Runnable(){
@Override
public void run(){
imageView.setImage(image);
}});}});}
public void showImage(Url url){
MyImageLoader.loadImage(url);
}
}
言葉足らずですみません。概ね この状態です。(改行規制のためカッコを改行せずに閉じています)

702 名前:デフォルトの名無しさん mailto:sage [2016/01/05(火) 17:16:15.62 ID:Oys3mgVD.net]
MyImageLoaderの中のArrayListに入っているMyListenerがImageViewへの参照を持っています。
>>695
リスナとメソッドを分けるというのはどういうふうにすればよいのでしょうか?

703 名前:デフォルトの名無しさん [2016/01/05(火) 17:54:16.31 ID:VgKFWf5a.net]
import java.util.function.IntBinaryOperator;

public class Test76 {
public static int sub(int a, int b) {
return a - b;
}

public static int cal(int x) {
x *= 2;// 6
x += 3;// x=6+3→x=9
return x;
}

public static void main(String[] args) {
// subメソッドの処理ロジックを、変数funcに代入する
// 代入されているのはsubメソッドへの参照
IntBinaryOperator func = Test76::sub;

// 変数funcに格納されている処理ロジックを引数5と3で実行する
int a = func.applyAsInt(5, 3);
System.out.println("5-3は" + a);

IntBinaryOperator func2 = Test76::cal;
int b = func2.applyAsInt(1);
}

}

これ、なんでエラー?

704 名前:デフォルトの名無しさん [2016/01/05(火) 18:24:42.44 ID:VgKFWf5a.net]
エラーにならなくなるにはどうすればいいの?



705 名前:デフォルトの名無しさん mailto:sage [2016/01/05(火) 18:34:53.74 ID:tTU6gw0u.net]
>>699
まず全裸になり、自分の尻を両手でバンバン叩きながら白目をむき
「びっくりするほどユートピア!びっくりするほどユートピア!」
とハイトーンで連呼しながらベットを昇り降りする

これを10分程続けると妙な脱力感に襲われ、解脱気分に浸れる

706 名前:デフォルトの名無しさん [2016/01/05(火) 19:00:36.49 ID:rNrMefwE.net]
>>696, 697

実行可能なプログラムって言ってるのに、なんでコンパイルすら通らないプログラム渡してくるんだよ…
main もないし、綴り間違いもあるし

非同期処理とか関係なくて、要するにこういうプログラム書いて、メモリリークしてるーって言ってるんだよね

pastebin.com/QR8XCxmw

707 名前:デフォルトの名無しさん mailto:sage [2016/01/05(火) 19:32:55.97 ID:C3hlmsJm.net]
>>701
外出先でケータイで書いていたものでして。お手数をお掛けしてすみません。

そうです。タスクにコンポーネントへの強参照が残っているので、ガベージコレクションの対象になりません。
弱参照を使えば解決できるのはわかるのですが、そもそも設計自体に問題があるような気がして質問させて頂きました

708 名前:デフォルトの名無しさん [2016/01/05(火) 20:31:01.45 ID:rNrMefwE.net]
>>702

>>701 のプログラムの問題点は単に強参照を残したまま放置してること
TextField を remove した時に、TextLoaderManager から対応する TextLoader (あなたの言うリスナ) を削除すれば解決する
弱参照使っても解決するけど、WeakReference ってのはコスト高めだからできるならやめたほうが良い

設計がおかしいかどうかはプログラム見てみないとわからない
例えば >>701 をメモリリークなしで実現するだけなら、
わざわざ TextField への参照をもつ TextLoaderManager なんか作らなければいいだけだし
pastebin.com/0agxjUpL

709 名前:デフォルトの名無しさん mailto:sage [2016/01/05(火) 22:45:19.38 ID:LXERuTXK.net]
>>698,699
IntBinaryOperator#applyAsInt(int,int)
IntUnaryOperator#applyAsInt(int)

710 名前:デフォルトの名無しさん [2016/01/06(水) 01:56:51.70 ID:MDvEEgkc.net]
javax.scriptのクラスってどういうアプリを作るときに使うんですか?

711 名前:デフォルトの名無しさん [2016/01/06(水) 09:23:09.32 ID:VMneMEc+.net]
>>705
ググレカス

712 名前:デフォルトの名無しさん mailto:sage [2016/01/06(水) 10:01:02.20 ID:IGqZso0+.net]
>>703
専用のクラス等があるのかもと思いましたが、地道に開放処理を書いていくしかなさそうですね

ソースコードを公開できる種類のものではないので、自分で考え直してみたい思います。
ありがとうございました

713 名前:デフォルトの名無しさん [2016/01/06(水) 13:12:54.08 ID:a8PR2+G7.net]
■変数へのメソッド参照の格納
メソッドがstaticの場合
変数名 = クラス名 :: そのクラスの静的メソッド名
メソッドが非staticの場合
変数名 = インスタンス変数名 :: そのインスタンスのメソッド名

メソッドが非staticの場合の例を下さい!

714 名前:デフォルトの名無しさん [2016/01/06(水) 14:02:05.22 ID:Rj8baaAT.net]
最近始めた者なんですがテキストファイルへの入出力?でつまづいています
質問なのですが、コマンドライン引数に入れるテキストファイル名は既に存在している必要がありますか?



715 名前:デフォルトの名無しさん [2016/01/06(水) 14:32:35.35 ID:Rj8baaAT.net]
askclose は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。
というエラーはどういう意味ですか?
エディタはCpadで、コンパイラのパスは間違っていないはずなのですが

716 名前:デフォルトの名無しさん [2016/01/06(水) 14:35:21.83 ID:gbLUTWbO.net]
>>709
コマンドライン引数ってのは、単に main メソッドの引数として使われるってだけ
そのファイルが存在してないとエラー/例外が発生するかどうかはどんなプログラム組んでるかで変わってくる

717 名前:デフォルトの名無しさん [2016/01/06(水) 14:42:29.10 ID:gbLUTWbO.net]
>>710
detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1169453111
これじゃないの?

718 名前:デフォルトの名無しさん [2016/01/06(水) 14:50:42.76 ID:Rj8baaAT.net]
>>712
使っているのはJcpadですが症状はこの通りです 実行された瞬間に画面が消えるのです

public class test{
public static void main(String[] args){
System.out.println("Hello java");
}
}

例えば上記を実行したときは
Hello java
-askcloseは内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。
と表示されます

フォルダ、ファイル名に日本語やスペースは含まれていません
コマンドの切れ目の解釈?はよくわかりませんが...

719 名前:デフォルトの名無しさん [2016/01/06(水) 15:01:54.63 ID:gbLUTWbO.net]
>>713
JCPad ってのダウンロードしてみてやってみたが、そのコードで普通にコンパイル実行できたぞ
というか、Java2 SE とか糞古い言葉書いてあるし、普通に eclipse とか他の IDE 使うか、コマンドラインでやれば?

720 名前:デフォルトの名無しさん mailto:sage [2016/01/06(水) 15:12:16.78 ID:TV0Wmsb0.net]
>>713
CPad for Java2 SDK 2.31というやつですかね?
ダウンロードして試してみたけど件のエラーはでないですね
実行後に表示されるコンソールのスクリーンショットを見せてもらえれば
ヒントになる情報があるかもしれませんが、エラーを抑制するだけなら、
実行-設定-実行タブ
にある「実行時のウィンドウ制御」を「制御しない」に変更すればいけるかも

721 名前:デフォルトの名無しさん [2016/01/06(水) 15:13:23.94 ID:Rj8baaAT.net]
>>714
実はまだ学生で、学校ではこのエディタを使用しているのでこれを使えるようにしておきたいのです..

ここの方が想像しているより遥かに初心者なのでみなさんなら当たり前にこなしてしまうところでつまずいているみたいです...

722 名前:デフォルトの名無しさん [2016/01/06(水) 15:21:25.70 ID:Rj8baaAT.net]
>>715
そうです!
ウィンドウ制御の設定を変更してみたところ、先程のエラー文は消えました
しかし Thread"th"is not found.in Remove.Thread() なるエラーが別のウィンドウで出てきました

723 名前:デフォルトの名無しさん [2016/01/06(水) 15:36:29.89 ID:gbLUTWbO.net]
>>717
そのエラー出たソースコード載せてもらわないと…
エスパーじゃないんだから

724 名前:デフォルトの名無しさん [2016/01/06(水) 15:39:21.63 ID:Rj8baaAT.net]
>>718
public class test{
public static void main(String[] args){
System.out.println("Hello java");
}
}
これです!ソースコードってこういうことですよね?おかしいこと言ってたらごめんなさい



725 名前:デフォルトの名無しさん [2016/01/06(水) 15:44:04.50 ID:gbLUTWbO.net]
>>719
あぁ、すまんソース自体はいじってないのか。

726 名前:デフォルトの名無しさん [2016/01/06(水) 15:45:39.84 ID:gbLUTWbO.net]
>>719
とりあえず、コンパイラのパスに設定してる値見せてくれる?

727 名前:デフォルトの名無しさん [2016/01/06(水) 15:53:46.49 ID:Rj8baaAT.net]
>>721
iup.2ch-library.com/i/i1576713-1452063128.png
これであってるでしょうか...画像を上げるのすらはじめてですが

728 名前:デフォルトの名無しさん [2016/01/06(水) 15:59:23.16 ID:gbLUTWbO.net]
>>722
まぁ設定はおかしくはないかな。

クラスファイル(.class)はできてる?
できてるならコマンドラインからそのクラスファイル実行できる?

とりあえず俺は、こんな感じで設定して
i.imgur.com/Dd5sRiR.png
ここで青い三角の実行ボタン押せば
i.imgur.com/DPCBX31.png
普通に実行できたぞ、なんにも設定いじらず
i.imgur.com/oAQENWg.png

729 名前:デフォルトの名無しさん [2016/01/06(水) 16:23:34.15 ID:Rj8baaAT.net]
>>722
クラスファイルはあります!
学校で一番最初に設定したパソコンではその手順でできるんですが、以降自分で設定すると不具合が起きるので
自分が何かを間違っているんだと思うんですがそれがなにかさっぱりわからないんです

あと仰っていることとはまた違うのかもしれませんが、コマンドラインにtest.javaを入れてもう一回Jcpadで開くと普通に実行できました

730 名前:デフォルトの名無しさん [2016/01/06(水) 16:24:00.82 ID:Rj8baaAT.net]
>>723ですね、失礼しました

731 名前:デフォルトの名無しさん mailto:sage [2016/01/06(水) 16:24:27.37 ID:C6lgir8o.net]
Oracle認定Java bronse の教科書のお勧めは。

732 名前:デフォルトの名無しさん [2016/01/06(水) 16:30:11.87 ID:gbLUTWbO.net]
>>724
> クラスファイルはあります!
それを java コマンドでコマンドラインから実行できるか聞いてるんやで…

> コマンドラインにtest.javaを入れてもう一回Jcpadで開くと普通に実行できました
コマンドラインに test.java を入れるとか意味わからん。日本語でおk!

733 名前:ピカチュウ [2016/01/06(水) 16:59:23.41 ID:a8PR2+G7.net]
■変数へのメソッド参照の格納
メソッドがstaticの場合
変数名 = クラス名 :: そのクラスの静的メソッド名
メソッドが非staticの場合
変数名 = インスタンス変数名 :: そのインスタンスのメソッド名

メソッドが非staticの場合の例を下さい!

734 名前:デフォルトの名無しさん [2016/01/06(水) 17:13:53.18 ID:gbLUTWbO.net]
>>728
ここでも読んどけ
www.ne.jp/asahi/hishidama/home/tech/java/methodreference.html



735 名前:ピカチュウ [2016/01/06(水) 17:36:02.19 ID:a8PR2+G7.net]
IntConsumerの例を下さい><

736 名前:デフォルトの名無しさん [2016/01/06(水) 17:47:19.61 ID:gbLUTWbO.net]
>>730
IntConsumer consumer = System.out::println;

consumer.accept(1);

737 名前:ピカチュウ [2016/01/06(水) 20:04:10.24 ID:a8PR2+G7.net]
IntConsumerの例ありがとうございます><

import java.util.function.*;

public class Test86 {
public static void main(String[] args) {
(IntBinaryOperator rrr. int a, int b) -> {
int result = rrr.applyAsInt(a, b) +
rrr.applyAsInt(a, b);
return result;
}
}
}
何故エラー?

738 名前:ピカチュウ [2016/01/06(水) 20:13:21.49 ID:a8PR2+G7.net]
IntConsumer consumer = System.out::println;
consumer.accept(1);
実行できました
それ以外のIntConsumerの例はありますか?

739 名前:デフォルトの名無しさん mailto:sage [2016/01/06(水) 20:40:42.24 ID:2BSVuGqW.net]
Selenium と JUnitを使ったテストについて質問があります。

Selenium Builderでテストを自動生成すると、自動的にControllerまでテストされちゃうと思います。
Selenium Builderで自動生成したテストは別に、Controllerのテストを書く必要ってあるのでしょうか?

740 名前:デフォルトの名無しさん [2016/01/06(水) 22:24:04.89 ID:vYy0/gWp.net]
これからプログラムを学びたいのですが、
JAVAとC#は、どちらがお仕事あるでしょうか?

C#のが高性能な気がしますが、
JAVAには歴史があるし、
迷っています。

741 名前:デフォルトの名無しさん mailto:sage [2016/01/06(水) 22:26:19.44 ID:1KAr6o/M.net]
>>735
ま板で聞けw

742 名前:デフォルトの名無しさん mailto:sage [2016/01/06(水) 22:27:25.56 ID:TV0Wmsb0.net]
そんなの聞く前に両方身につけようとする人しか採りたくない

743 名前:735 [2016/01/06(水) 22:40:43.27 ID:vYy0/gWp.net]
両方覚えろなんて簡単に言いますが
オワコン言語を選んだら
時間の無駄だと思ったので
どちらがオワコン、もしくはオワコンに近いのか
知りたかったんです

744 名前:デフォルトの名無しさん mailto:sage [2016/01/06(水) 22:42:16.38 ID:60Ylwggr.net]
>>735
どちらでもいい
先人の教えによれば、この業界で生きていくときは、
少なくとも一年に一つは新しい言語を身につけるのが望ましいという
どちらを選んだとしても、そのうちもう片方も学ぶ機会に恵まれるし、自分もそうしたくなっている



745 名前:デフォルトの名無しさん mailto:sage [2016/01/06(水) 22:42:38.09 ID:TV0Wmsb0.net]
君の相手は時間の無駄だね

746 名前:Office & Gamers @ 試験運用中(トリなしw mailto:アハ♪” uh huh [2016/01/06(水) 22:45:59.64 ID:r1bIfkHM.net]
フツーに99BASIC → DarkBASIC → AGK / VC++コースがいいよw

747 名前:デフォルトの名無しさん mailto:sage [2016/01/06(水) 22:48:56.70 ID:1KAr6o/M.net]
>>739
一年で身に付けられる言語w

748 名前:Office & Gamers @ 試験運用中(トリなしw mailto:アハ♪” uh huh [2016/01/06(水) 22:55:04.07 ID:r1bIfkHM.net]
99BASICなら1年でも習得可能かもなw

749 名前:デフォルトの名無しさん mailto:sage [2016/01/06(水) 22:56:40.40 ID:60Ylwggr.net]
>>742
Lispでもない限り、一年もあれば無理なく確実に身に付くだろ?
名著「達人プログラマー」でも、「プログラマが知るべき97のこと」でも言及されているぞ

750 名前:デフォルトの名無しさん mailto:sage [2016/01/06(水) 23:49:44.97 ID:sDGBVbLY.net]
言語によるな。C++とか何が出来たら身に付いた事になるのか

751 名前:Office & Gamers @ 試験運用中(トリなしw mailto:アハ♪” uh huh [2016/01/07(木) 01:37:14.73 ID:lPhmWPE4.net]
始めは99BASICがいいだろうなw
数式表現の正確さが重要w

あとでVC++をやろうとすると、この部分で分かってない人は挫折するw

752 名前:デフォルトの名無しさん [2016/01/07(木) 04:57:35.43 ID:CtrMVhu3.net]
 
homepage2.nifty.com/e-d-a/scurl/Avatar_Concept_Art_by_Craig_Shoji_01a-gyu
homepage2.nifty.com/e-d-a/scurl/Avatar.html
homepage2.nifty.com/e-d-a/scurl/SWfa.html
 
管理会社、仲介業者が苦情に対応せず困っています
これらの人と知人,家族,親類の方はお知らせ下さい。
 
●浪速建設
南野 東条
www.o-naniwa.com/index.html
社長 岡田常路
www.o-naniwa.com/company/
 
●アパマンショップ八尾支店
加茂正樹 (舟橋大介)
www.apaman-yao.jp/store/
社長 大村浩次
www.data-max.co.jp/2010/10/01/post_11983.html
 
●クリスタル通り122号室の入居者
 
hnps203@gmail.com
 
homepage2.nifty.com/e-d-a/scurl/ia-1-3.html
homepage2.nifty.com/e-d-a/scurl/ia-2-1.html
homepage2.nifty.com/e-d-a/scurl/ia-3-1.html

753 名前:Office & Gamers @ 試験運用中(トリなしw mailto:アハ♪” uh huh [2016/01/07(木) 05:17:13.65 ID:lPhmWPE4.net]
はい次w

754 名前:デフォルトの名無しさん mailto:sage [2016/01/07(木) 10:57:05.05 ID:9ao0fLoC.net]
>>745
たぶん、端末に「hello」と表示するw



755 名前:デフォルトの名無しさん mailto:sage [2016/01/07(木) 12:32:14.93 ID:k23ZNEKE.net]
>>749
デスマ支援要員としては充分なスキルだw

756 名前:デフォルトの名無しさん mailto:sage [2016/01/07(木) 15:27:24.80 ID:56i6wc0F.net]
オラクル認定資格教科書 Javaプログラマ Bronze SE 7/8
山本道子 著 翔泳社
果てしなく難しい。やっと最後のほうまで読んだが
参照型の型変換、わからん。

757 名前:デフォルトの名無しさん mailto:sage [2016/01/07(木) 15:40:11.51 ID:Bkb68/nr.net]
何がわからんのかがわからないけど、コンパイル時になにがチェックされるか、
実行時になにが呼ばれるかを理解できればJavaのコアはそれほど難解ではないような

758 名前:ピカチュウ [2016/01/07(木) 15:53:57.21 ID:Q2NJYYXK.net]
ラムダ式って、重要ですか?

759 名前:ピカチュウ [2016/01/07(木) 15:55:40.69 ID:Q2NJYYXK.net]
pastebin.com/0vKXM8Cm

これが何故エラーになるのか、教えて下さい><

760 名前:デフォルトの名無しさん mailto:sage [2016/01/07(木) 17:48:55.52 ID:56i6wc0F.net]
Java認定資格取得のためのプログラミング入門
米山 学/著  インプレスジャパン
これも有罪

761 名前:デフォルトの名無しさん [2016/01/08(金) 00:52:28.81 ID:M3ksrM60.net]
>>754
(Cat85 c) -> {
return c.getHp();
}

なんで main文にラムダ式単体で書いてるの?
むしろこっちがあなたが何をしたいのか聞きたい

ラムダ式を使っていい場所ってのがある
関数型インターフェースの変数に代入するところか、
メソッド呼び出しで関数型インターフェースを引数にとっている部分でしか使えない
それ以外のところに書いても意味をなさない

762 名前:デフォルトの名無しさん mailto:sage [2016/01/08(金) 01:13:23.80 ID:g6ZAB0sp.net]
>>754
インターフェースにフィールドを定義すると、static final宣言が暗黙的に行われる。
定数に代入しようとしてるからエラーになる。

763 名前:デフォルトの名無しさん mailto:sage [2016/01/08(金) 01:43:22.11 ID:MhlEWiKz.net]
関数に、コールバック関数を渡しておいて、
後でその関数(処理)を呼んでもらう
f(callback)

そのコールバック関数に、
クロージャ・無名関数・ラムダ式などが使われる

関数の引数に、関数(処理)を渡したり、
関数の戻り値として、関数(処理)を返すような関数を、高階関数という

764 名前:デフォルトの名無しさん mailto:sage [2016/01/08(金) 12:34:57.99 ID:jv1GyZfR.net]
GridBagLayoutとJTableの列を合わせたいんですが、何か方法はないでしょうか?



765 名前:デフォルトの名無しさん mailto:sage [2016/01/08(金) 13:05:17.69 ID:M3ksrM60.net]
>>759
>GridBagLayoutとJTableの列を合わせたい
その説明だけじゃよくわからん
列幅を合わせた状態で、上にJTable、下にGridBagLayoutみたいに配置し ってこと?

766 名前:デフォルトの名無しさん mailto:sage [2016/01/08(金) 13:11:47.31 ID:jv1GyZfR.net]
>>760
比率を設定すれば出来るみたいですけど、GridBagLayoutにコンポーネントをaddしても、コンポーネント.get.getWidth()は0が返ってきます(実際はもっと大きい)
もし、GridBagLayoutの各列の幅を取得する方法があれば教えてほしいです。

767 名前:デフォルトの名無しさん mailto:sage [2016/01/08(金) 14:06:43.58 ID:jv1GyZfR.net]
>>761
追記です
setVisible(true)をしたらサイズが0ではなくなるんですが、しないとサイズが0のままみたいです

768 名前:デフォルトの名無しさん mailto:sage [2016/01/08(金) 14:10:43.27 ID:M3ksrM60.net]
>>761
> get.getWidth()は0が返ってきます

それ単に setVisitble(true) の前に呼んでるから 0 が返ってるだけだろ
試してみたが普通に width の値ちゃんと返ってくるぞ

769 名前:デフォルトの名無しさん mailto:sage [2016/01/08(金) 14:11:35.93 ID:M3ksrM60.net]
>>762
それが普通。setVisible(true) で、レイアウトされるんだから、それ以前に width の値を得るのは不可能

770 名前:デフォルトの名無しさん mailto:sage [2016/01/08(金) 14:11:56.63 ID:jv1GyZfR.net]
>>763
出来れば表示する前に呼びたいのですが、方法はないですかね?

771 名前:デフォルトの名無しさん mailto:sage [2016/01/08(金) 14:19:10.96 ID:M3ksrM60.net]
>>765
pack() 呼べば visible の前に width の値が 0 でなくなる

772 名前:ピカチュウ [2016/01/08(金) 14:29:46.45 ID:fOxsJkEj.net]
import java.util.function.*;

public class Test85 {
public static void main(String[] args) {
IntToDoubleFunction func = (int x) -> {
return x * x * 3.14;
};
System.out.println(func.applyAsDouble(30));
}
}
ラムダ式、mainメソッドで書いても動くよ
答え教えて><Cat86インスタンス化でラムダ式使うのがわからない

773 名前:デフォルトの名無しさん mailto:sage [2016/01/08(金) 14:35:46.80 ID:M3ksrM60.net]
>>767
main メソッドで書いてもそりゃ動くよ
誰が main メソッドで書いたら動かないって言ったよ
言葉の意味がわからないならひとつひとつ調べながら勉強しなよ

774 名前:デフォルトの名無しさん mailto:sage [2016/01/08(金) 14:40:34.68 ID:M3ksrM60.net]
IntToDoubleFunction func = (int x) -> {
return x * x * 3.14;
};

ならコンパイル通る

(int x) -> {
return x * x * 3.14;
};

ならエラー出る

ピカチュウのやってるのは後者

後、>>757 もちゃんと読んで直さないとエラー出る

っていうか、あなた基本が滅茶苦茶すぎるから一回ちゃんと本読みなよ



775 名前:ピカチュウ [2016/01/08(金) 15:05:06.93 ID:fOxsJkEj.net]
答えは?

776 名前:デフォルトの名無しさん mailto:sage [2016/01/08(金) 15:34:17.53 ID:M3ksrM60.net]
答えってなんの?
何がやりたいの?

>>754 のなんでエラーになるのかの答えはもう書いてあるんだが
まぁこの短いプログラムにエラーになる箇所いくつあるんだって話だけど

777 名前:デフォルトの名無しさん [2016/01/08(金) 16:55:31.43 ID:2Ps7IMZ7.net]
ここで良いのかわかりませんが質問させてください。
現在遺伝子の研究に用いるため、Genome Enviroment Browserというソフトを動かそうとしています。

しかしこれが、ターミナルから直接動かすもののようなのですが、
メイン・クラスGEB_Setup.GEB_Setup_GUIが見つからなかったかロードできませんでした
と表示され動きません。

以下のコマンドを打てば動くと記載されているのですが、、、
java -Xms512m -Xmx1024m -cp GEB_Setup.jar GEB_Setup.GEB_Setup_GUI

ソフトは以下のサイトからダウンロードできます
web.bioinformatics.ic.ac.uk/geb/

現在の状態は
OS X 10.11.2
java version "1.8.0_65"
です。

不慣れで申し訳ありません。

よろしくお願いします。

778 名前:デフォルトの名無しさん mailto:sage [2016/01/08(金) 18:11:28.54 ID:usbIc1x+.net]
>>772
スレ違いだと思うけど、適切なスレを知らないですね
Macだと
ダウンロードしたGEB.tar.gzに対して
tar zxvf GEB.tar.gz
cd GEB
java -Xms512m -Xmx1024m -cp GEB_Setup.jar GEB_Setup.GEB_Setup_GUI
としてますかね?

これでエラーが出なくなったとしても、サーバー接続エラーで使えなかったです
ドキュメントを斜め読みしたところmysqlを設定する必要があるようでしたが、
geb.iniにある外部サーバでもいいのかはわかりません
mysqlの設定についてはinstallation guideとuser guideにありました
geb.iniに書いてある外部サーバが機能しているのかは未確認

779 名前:デフォルトの名無しさん [2016/01/08(金) 18:27:21.08 ID:2Ps7IMZ7.net]
>>773
レスありがとうございます。スレ汚しすみません。

無知なもので、アドバイスがあまりわかりません。
現在までは、gz、tarを解凍してGEBの状態にしてコマンドを打っていました。
今試しに、gzの状態で上記のコマンドを打ったところ

エラー: メイン・クラスGEB_Setup.GEB_Setup_GUIが見つからなかったかロードできませんでした

と出てしまいました。
また、GEB.tar.gzに対してとありますがファイルをしているする方法がわかっていないので、そもそもそれができているのかわかりません。

サーバーの件に関してですが、こちらはmysqlを設定し現在接続状態にあります。
しかし、これも必至にやったらたまたま出来た感じなので、うまく機能するかわかりませんが、、、

780 名前:デフォルトの名無しさん mailto:sage [2016/01/08(金) 18:37:12.99 ID:usbIc1x+.net]
>>774
わかりにくかったですね
1. GEB.tar.gzを解凍するコマンドが
tar zxvf GEB.tar.gz
これでGEBというディレクトリが作られてそこにファイルが一式入っていました
GEB.jar GEB_Setup.jar GEB_user_guide.pdf geb.ini
GEB_Setup.bat GEB_installation_guide.pdf Perl gpl.txt

2. 1できたGEBディレクトリに移動するのが
cd GEB
これにより、以降はGEBディレクトリ内での操作になります

3. で最後が件のコマンドです
コマンド自体に間違いはないようなので、GEBディレクトリに移動してないか、
解凍に失敗しているのかと

データベースは用意してあるとのことですが、そのための設定もGEBディレクトリの
geb.iniに書かないといけません
内容はguideを見てください

781 名前:デフォルトの名無しさん mailto:sage [2016/01/08(金) 18:50:58.35 ID:U482vqP3.net]
>>754
解決してるのか分からんのでとりあえず。
インターフェイスに定義できるメソッドは、
public static 型 Method(){実装}
public default 型 Method(){実装}
public abstract 型 Method(); //実装無し、このインターフェイスをimplementsするクラスで実装する。
の3パターン。Cat85ではabstractなのに実装してるのが問題。

次に、Supplier<Cat85> supplier = () -> new Cat85();
は、インターフェイスのインスタンスは作れないのでNG。
インターフェイスを実装したクラスならnew出来る。

で、出来るだけ原型を生かすとこんな感じになる。
pastebin.com/hL3ubDGN

782 名前:デフォルトの名無しさん mailto:sage [2016/01/08(金) 19:17:05.42 ID:U482vqP3.net]
>>767
インターフェイスは、定義→実装→使用の3段階で考えると分かりやすい。
関数型インターフェイスも同じ。
IntToDoubleFunctionは、java.util.function.*で定義されているので、実装と使用の段階を踏めば、(クラス外みたいな場所違いしなければ)使える。
で、実装する際は、
関数型 自作するメソッド名 = 引数 -> 処理(戻り値を得る場合はreturnする)
に合わせる。例は、
IntToDoubleFunction func = x -> {return x * x * 3.14;};
で、最後に、実装した機能をインターフェイスで定義されたメソッドで呼び出して使う。
double answer = func.applyAsDouble(123);

783 名前:デフォルトの名無しさん mailto:sage [2016/01/08(金) 19:39:45.51 ID:U482vqP3.net]
で、関数型インターフェイスを自分で定義→実装→使用までの例
pastebin.com/AryW6b68

784 名前:デフォルトの名無しさん mailto:sage [2016/01/08(金) 20:10:14.44 ID:U482vqP3.net]
あと、一応戻り値を返さない例
pastebin.com/a6i3TEX5



785 名前:デフォルトの名無しさん [2016/01/09(土) 01:58:16.13 ID:fjhrcvxE.net]
数値配列の最大値を求めたいのですがうまくいきません。どこが悪いのでしょうか?
public class Saidaichi {

public static void main(String[] args) {
//実行結果 = 10
System.out.println(new Saidaichi().getMax(new int[]{1,2,3,4,11,6,7,8,9,10}));
}

public int getMax(int[] args){
int max = 0;
for(int i = 0; i < args.length-1; i++){
if(args[i] < args[i+1]){
max = args[i+1];
}
}
return max;
}

}

786 名前:デフォルトの名無しさん mailto:sage [2016/01/09(土) 02:17:21.48 ID:fjhrcvxE.net]
すみません事故解決しました

787 名前:デフォルトの名無しさん mailto:sage [2016/01/09(土) 02:30:45.62 ID:4yezZpvR.net]
最大値と比較しないでmaxを更新してるからだね

788 名前:デフォルトの名無しさん mailto:sage [2016/01/09(土) 02:33:53.75 ID:fjhrcvxE.net]
>>782
はい、11と6の比較後に、6と7比較して7が大きいので7をmaxに入れてました。
初めて変数トレース機能使って感動しました。
これで解決しました。
public int getMax(int[] argv){
int max = argv[0];
for(int i = 0; i < argv.length-1;i++){
if(max < argv[i+1]){
max = argv[i+1];
}
}
return max;
}

789 名前:デフォルトの名無しさん [2016/01/09(土) 02:54:41.30 ID:HKMzFh3j.net]
すいません
「モック」はわかるのですが「リッチモック」とはなんでしょうか?

790 名前:デフォルトの名無しさん mailto:sage [2016/01/09(土) 07:43:18.85 ID:iLoewcLB.net]
>>783
素直に
for(int i = 1; i < argv.length; i++){
if(max < argv[i]){
max = argv[i];
}
}
って書いた方がちょっとわかりやすいかも

791 名前:デフォルトの名無しさん mailto:sage [2016/01/09(土) 10:48:42.01 ID:Ty2NT5AN.net]
>>785 おれもそうする

792 名前:デフォルトの名無しさん mailto:sage [2016/01/09(土) 10:56:27.70 ID:/BDqjX/g.net]
俺ならこうだな
int max = Integer.MIN_VALUE;
for (int x : argv) max = Math.max(max, x);
ちなみにJava8なら関数作るまでもなくこれだけ
IntStream.of(argv).max()

793 名前:デフォルトの名無しさん mailto:sage [2016/01/09(土) 11:14:45.66 ID:xA6BhSVF.net]
できるだけ短くした方がかっこいいと思っていた時期が僕にもありました
int a, b, c;

794 名前:デフォルトの名無しさん mailto:sage [2016/01/09(土) 11:28:26.70 ID:1PcbP7SA.net]
>>787は短くしてるというよりは抽象度を上げてる
codegolfみたいなのとは区別すべき



795 名前:デフォルトの名無しさん [2016/01/09(土) 11:38:37.06 ID:hdqMNonU.net]
argvの長さが0のとき挙動が違うね

796 名前:デフォルトの名無しさん mailto:sage [2016/01/09(土) 12:10:15.89 ID:LnCwRjB0.net]
>>787
> max = Integer.MIN_VALUE;
> for (int x : argv) max = Math.max(max, x);

その方式の嫌なところは毎回代入とメソッド呼び出しがあること。

797 名前:デフォルトの名無しさん mailto:sage [2016/01/09(土) 12:26:32.74 ID:eXTQYEr7.net]
そんなこと言ってたらStream使ってられないな…

798 名前:デフォルトの名無しさん mailto:sage [2016/01/09(土) 12:44:11.94 ID:4yezZpvR.net]
>>785
まあ、それは元の間違ったコードがmaxと比較しないで
次の数字と比較していたから、変なループになっていた
からなわけで

799 名前:デフォルトの名無しさん mailto:sage [2016/01/09(土) 15:13:05.72 ID:/zf3lzOM.net]
>>774-775
>エラー: メイン・クラスGEB_Setup.GEB_Setup_GUIが、
見つからなかったかロードできませんでした

たぶん、GEB_Setup.jar にパスが通っていないのだろう

カレントディレクトリに、jarファイルを置いた場合も、
パスに通す必要があるのかね?

800 名前:デフォルトの名無しさん mailto:sage [2016/01/09(土) 15:21:10.62 ID:4yezZpvR.net]
>>794
-cp GEB_Setup.jar
と指定してあるのに?

801 名前:デフォルトの名無しさん mailto:sage [2016/01/09(土) 16:19:55.14 ID:B4VTiUSo.net]
確かデフォルトでカレントディレクトリはクラスパスに含まれなかった気がする

802 名前:デフォルトの名無しさん mailto:sage [2016/01/09(土) 16:25:18.29 ID:8wtPQFlf.net]
初心者が嵌まる罠

クラスパスの設定
https://docs.oracle.com/javase/jp/1.5.0/tooldocs/windows/classpath.html

803 名前:デフォルトの名無しさん mailto:sage [2016/01/11(月) 03:26:28.34 ID:xgbIL+wR.net]
stream apiってどのサイトで皆さん勉強しました?

804 名前:デフォルトの名無しさん mailto:sage [2016/01/11(月) 04:17:21.43 ID:7qKmf/4h.net]
>>798
APIリファレンス見ながら自分で試した。



805 名前:デフォルトの名無しさん [2016/01/11(月) 05:03:51.14 ID:3eUcyomA.net]
サーブレットでSessionに保存したインスタンスをJSPで取得できません。
(同一サーブレット内なら取得出来ます。)
セッションにCartが保存されてないみたいですが、何が原因でしょうか?
Cartは、ArrayList<String>をメンバーに持つだけのクラスです。

pastebin.com/GYQjQGK0

806 名前:デフォルトの名無しさん mailto:sage [2016/01/11(月) 14:46:00.09 ID:UeX+hyF3.net]
stream apiってなんで検査例外無視されてるの?

807 名前:デフォルトの名無しさん mailto:sage [2016/01/11(月) 15:00:23.60 ID:coxhaMrq.net]
検査例外はラムダと相容れないからだよ
現在では「検査例外は失敗だった」ということで決着している
streamとか使うなら検査例外は使っちゃダメ

808 名前:デフォルトの名無しさん mailto:sage [2016/01/11(月) 15:37:54.30 ID:UeX+hyF3.net]
標準APIで検査例外投げてくる奴あるじゃん、リフレクション周りとか
あれらはRuntimeExceptionでラップするしかないのか…

809 名前:デフォルトの名無しさん mailto:sage [2016/01/11(月) 16:08:25.78 ID:GiqteBDS.net]
ウェブプログラミングを学んでいるのですが、dependency injectionって何がいいんですか?
ファクトリーメソッドの方が良くないですか?

810 名前:デフォルトの名無しさん mailto:sage [2016/01/11(月) 17:14:23.73 ID:A5Rx7ofK.net]
spring 見れば分かりやすいでしょ
設定ファイル外出しできるしプロキシはさんだり出来るし

811 名前:デフォルトの名無しさん mailto:sage [2016/01/11(月) 17:28:03.72 ID:iHru9+49.net]
監査ができるらしいw

812 名前:デフォルトの名無しさん mailto:sage [2016/01/11(月) 18:11:56.74 ID:GKJmMW35.net]
検査例外あるメジャー言語ってJava以外にないよね…
JVMで動くものでも、Groovy, Jython, JRuby, Scala と軒並み検査例外握りつぶしてるからな

813 名前:デフォルトの名無しさん mailto:sage [2016/01/11(月) 19:28:28.29 ID:wq6N3Kc5.net]
>>807
C++
だが検査例外の仕様は誤りだったとして見直されようとしている

814 名前:デフォルトの名無しさん mailto:sage [2016/01/11(月) 20:08:15.92 ID:GKJmMW35.net]
C++のは検査例外(checked exception)とは言わないでしょ
検査例外じゃない例外処理だったらモダンなプログラミング言語なら大抵持ってる



815 名前:デフォルトの名無しさん mailto:sage [2016/01/12(火) 00:27:34.38 ID:kuMkbvnL.net]
検査例外は失敗だったで決着してるの?

816 名前:デフォルトの名無しさん mailto:sage [2016/01/12(火) 05:33:13.99 ID:Ummwvfy4.net]
javaのchecked exceptionは最初から批判されたまま10年だからなー
バランスの良いchecked exception実装がでればありだけど、
javaのは負担ばかりが目立つからね

検査例外っていう訳語もひどいな

817 名前:デフォルトの名無しさん mailto:sage [2016/01/12(火) 06:29:40.80 ID:Oks+yyKS.net]
Javaに限ってはは未だに検査例外を盲信してる奴も多いから、決着したとまでは言えない
いずれにせよラムダの導入によって検査例外のシステムは完全に破綻した

818 名前:デフォルトの名無しさん mailto:sage [2016/01/12(火) 08:25:01.87 ID:r3g2ncLm.net]
>>807
握りつぶしはしてないでしょ。というか検査例外ってVM上では考慮されてないんじゃね?

819 名前:デフォルトの名無しさん mailto:sage [2016/01/12(火) 09:16:05.78 ID:r3g2ncLm.net]
>>812
ラムダ追加によってコンパイラが検査例外を無視するようになって
throws HogeException と書いてないメソッドから HogeException が飛んでくるようになった、
みたいな話じゃないから破綻とかいうほどでもないような。

ドラフトにあった例外透過みたいのも後付けしようと思えばできるんじゃねーかと思うし。

820 名前:デフォルトの名無しさん mailto:sage [2016/01/12(火) 10:35:24.38 ID:8rTTpObL.net]
標準APIに↓みたいなのが無いのって例外透過?のためなのか

public interface ThrowingSupplier<R, X extends Throwable> {
 public R get() throws X;
}

821 名前:デフォルトの名無しさん mailto:sage [2016/01/12(火) 15:24:03.14 ID:e632whPz.net]
>>813
例えば、.java で検査例外スローしてるメソッドを .groovy で使ったら、検査しなくても済むようになるでしょ
それを握りつぶしてるって言っただけ

822 名前:デフォルトの名無しさん mailto:sage [2016/01/12(火) 18:29:03.07 ID:z8KsJxfb.net]
KeyboardFocusManager.getCurrentKeyboardFocusManager().setGlobalFocusOwner(Compon

823 名前:ent)でフォーカスを変えようとしたらアクセス規制されてて出来ません
どうすればフォーカスを設定できるでしょうか
[]
[ここ壊れてます]

824 名前:デフォルトの名無しさん mailto:sage [2016/01/12(火) 19:00:03.94 ID:e632whPz.net]
>>817
そのメソッド public じゃないじゃん
なんでそんなメソッド使おうとしてるんだ?
JComponent::grabFocus じゃなんでだめなん?



825 名前:デフォルトの名無しさん mailto:sage [2016/01/12(火) 19:14:05.62 ID:z8KsJxfb.net]
>>818
そんなメソッドあったんですね。気づきませんでした
ありがとうございます


もう質問なんですが、JTextFieldにエンターキーイベントを設定していて、エンターが押されるとgetText()で文字列を取得する処理を行っています
ただ、JTextFieldにフォーカスがあると文字列が返ってきません
フォーカスを別の場所に設定しても文字列が返ってきません
手動でフォーカスを移動させたら文字列が返ってきます

826 名前:デフォルトの名無しさん mailto:sage [2016/01/12(火) 19:45:06.08 ID:e632whPz.net]
>>819
それはお前の書いたコードがどっかおかしいんだろ
フォーカスなんか関係なくテキストは取得できる

827 名前:デフォルトの名無しさん mailto:sage [2016/01/12(火) 19:52:49.54 ID:z8KsJxfb.net]
>>820
ateraimemo.com/Swing/ComboBoxSuggestion.html
これを改造して使っています
普通はフォーカス関係ないんですね。少し調べてみます

828 名前:デフォルトの名無しさん mailto:sage [2016/01/12(火) 20:04:57.12 ID:e632whPz.net]
>>821
よく見てないし、テキスト取得とかは関係ないけど、そのソースの中の
EventQueue.invokeLater は必要ないぞ、リスナのメソッドはもともと EDT から呼び出される。

829 名前:デフォルトの名無しさん mailto:sage [2016/01/12(火) 20:12:06.12 ID:z8KsJxfb.net]
>>822
何しているかよく分からなかったので、もう消していました
スレッドは危ないから使うなと習いましたし

830 名前:デフォルトの名無しさん mailto:sage [2016/01/12(火) 20:28:56.96 ID:BXLnCg6P.net]
JTextField が複数行サポートなら文字扱いで改行が取られるだろうし
フォーカスがないとイベントが来ないのは当然
フォーム側でイベントを先取りできる指定なかったっけ

831 名前:デフォルトの名無しさん [2016/01/12(火) 20:47:47.50 ID:xfQV/BCf.net]
サーブレットを作りたいんですが、大まかにパッケージを分けるなら、構成は以下の通りでいいでしょうか?
model ← テーブルデータを表すエンティティのまとまり
dao  ← DBに送るクエリを実装。
logic ← daoを使ってDBを更新したり、DBから取得したデータを元に、model内のエンティティのインスタンスを作る。雑処理用のlogicも作る。
controller ← logicとviewの仲介。取得データをスコープに保存/取得したり。
view  ← JSPかServlet。controllerからデータを受け取り画面出力やユーザーからの入力受け取り。

832 名前:デフォルトの名無しさん mailto:sage [2016/01/12(火) 20:48:53.41 ID:z8KsJxfb.net]
>>824
一行
イベントも来てるんだけどgetTextで""が返ってくる

833 名前:デフォルトの名無しさん mailto:sage [2016/01/12(火) 21:02:05.23 ID:e632whPz.net]
JTextField はそもそも複数行サポートしてない

>> 823
> スレッドは危ないから使うなと習いましたし
いやその認識はどうかと思うぞ
Swing では、コンポーネントをいじるのは(インスタンス生成も含めて)全部 EDT で行う必要がある
JFrame をメインスレッドで作るのはよくある間違い

834 名前:デフォルトの名無しさん [2016/01/12(火) 21:47:09.91 ID:z8KsJxfb.net]
>>827
www.javadrive.jp/tutorial/
つまりここに書いてあるのは間違いと言う事ですか?EDT使ってるサンプルほぼ見た事ないのでよく分からないんですが



835 名前:デフォルトの名無しさん mailto:sage [2016/01/12(火) 21:51:27.55 ID:e632whPz.net]
>>828
うん、そのサイトは間違えてる
これでも読んどけ
stackoverflow.com/questions/491323/is-it-safe-to-construct-swing-awt-widgets-not-on-the-event-dispatch-thread/491377#491377

836 名前:デフォルトの名無しさん [2016/01/12(火) 23:28:14.58 ID:y8Hcx94q.net]
さくらゆら @sakurayura39
Eclips4.4インストールしようと思ったら404になる( ; ; )
どうしてなのー??
https://twitter.com/sakurayura39/status/686507808141910016

さくらゆら @sakurayura39
ちなみにこのサイトから4.5も4.4も実行してみたんだけどエラー404って表示されるんだ(-"-)
https://twitter.com/sakurayura39/status/686555256197529600

さくらゆら @sakurayura39
あっURLのっけるの忘れてたw
mergedoc.osdn.jp/
https://twitter.com/sakurayura39/status/686555381385064450

さくらゆら @sakurayura39
javaのフルエディション64bitを選択したのにダメだった(-"-)
https://twitter.com/sakurayura39/status/686557557272387584

さくらゆら @sakurayura39
起きてリプを見たら
みんな真剣に答えてくれてた( ; ; )
昨日から思ってたけど
その辺の落として
日本語化してもいいんだけど
なんかここまでみんなも
がんばってくれたから
意地でも日本語版落とすことに決めたw
https://twitter.com/sakurayura39/status/686763759696613376

さくらゆら
pbs.twimg.com/profile_images/664046163432050688/BpjmFKzf.jpg

837 名前:デフォルトの名無しさん [2016/01/12(火) 23:32:27.11 ID:JWuSPrli.net]
>>830
この人の知識なら英語でも全然問題なさそうだけど

838 名前:デフォルトの名無しさん mailto:sage [2016/01/12(火) 23:39:22.85 ID:jo+6BLw8.net]
HelloWorld

839 名前:デフォルトの名無しさん mailto:sage [2016/01/12(火) 23:55:26.92 ID:8rTTpObL.net]
eclipse以外を勧めてやれよ

840 名前:デフォルトの名無しさん mailto:sage [2016/01/13(水) 00:05:45.97 ID:xJu94cyL.net]
4.5の64bitでjavaスタンダード版なら落とせたぞ
ほかのは404なんだからどうあがいたって無理だろ
というかこの人誰?

841 名前:デフォルトの名無しさん [2016/01/13(水) 00:38:46.73 ID:bxEjuDul.net]
>>834
AV女優

842 名前:デフォルトの名無しさん mailto:sage [2016/01/13(水) 01:47:20.67 ID:xJu94cyL.net]
そうなんだ
まあ、人の趣味に口は出すまい

843 名前:デフォルトの名無しさん mailto:sage [2016/01/13(水) 08:11:00.60 ID:ANxfUdY3.net]
Pleiades の all in one ってごちゃごちゃ入ってるから初心者向けじゃないよなあれ
素直に公式から英語版ダウンロードするのが懸命だと思うわ
日本語もしないほうが良い

844 名前:デフォルトの名無しさん mailto:sage [2016/01/13(水) 14:37:12.06 ID:omLuppzy.net]
そうして人はハゲになっていく...



845 名前:デフォルトの名無しさん mailto:sage [2016/01/13(水) 16:44:42.08 ID:QOEE/vUk.net]
またはげのこといってる

846 名前:デフォルトの名無しさん [2016/01/13(水) 16:46:52.38 ID:Oxhewd4/.net]
                 
      / ̄ ̄ ̄ ̄ ̄ ̄\
    /             \
   /                  ヽ 
    l:::::::::.                  | 
    |::::::::::   (●)     (●)   | うるさい
   |:::::::::::::::::   \___/     | ハゲ
    ヽ:::::::::::::::::::.  \/     ノ

847 名前:デフォルトの名無しさん mailto:sage [2016/01/14(木) 00:04:15.33 ID:+dz+BEIT.net]
ハゲ定期

848 名前:デフォルトの名無しさん mailto:sage [2016/01/14(木) 18:43:58.25 ID:PerBWHT+.net]
may.2chan.net/b/res/382183466.htm

849 名前:デフォルトの名無しさん [2016/01/14(木) 20:36:09.50 ID:q8GDBYq3.net]
われわれにJava開発はおまかせください
eki88.info/cgi/shopimg/img-0029-5.jpg

850 名前:デフォルトの名無しさん mailto:sage [2016/01/15(金) 08:24:45.20 ID:LaYRJ9Yy.net]
Javaをやるとハゲるのか
ハゲがJavaをやるのか
鶏が先か、卵が先か並みの因果性のジレンマ

851 名前:デフォルトの名無しさん [2016/01/15(金) 12:56:39.22 ID:O5wAm2F5.net]
>>844
運動もせずポテチばかり食ってるからだよw

852 名前:デフォルトの名無しさん mailto:sage [2016/01/15(金) 20:16:36.51 ID:VGcNezbC.net]
初心者はNetBeansの方がラクだと思いました(ただしフォントをキレイに出来るかどうかは別

853 名前:デフォルトの名無しさん mailto:sage [2016/01/16(土) 1 ]
[ここ壊れてます]

854 名前:3:41:05.16 ID:Rd+JWI1r.net mailto: はっきりいってクラスが20-30ならviとjavacかandでいいよ。それ以上なら
げんなりするからIDE使うわ
[]
[ここ壊れてます]



855 名前:デフォルトの名無しさん mailto:sage [2016/01/16(土) 13:44:15.77 ID:gsiZJ0TF.net]
>>847
>クラスが20-30


856 名前:デフォルトの名無しさん mailto:sage [2016/01/16(土) 13:46:46.51 ID:0/JJB1Ez.net]
クラスファイルが20〜30ならってことじゃないか
それと>>847縦ハゲ
まぁ5〜6個ぐらいなら''ハゲ'しく同意はできるけど、10個以上からは管理がめんどくさいわ

857 名前:デフォルトの名無しさん mailto:sage [2016/01/16(土) 15:45:47.59 ID:6TYiKjgS.net]
最近javaの勉強始めた初心者なんですが、よかったら質問させて下さい。

ネーミングルールや コンストラクタ メソッドやら処理方法のセオリー的な勉強をしたいのですが
おすすめのサイトや本はありませんか。
色々便利な機能や考慮すべき事項は年々増えていると思うのでなるべくなら新しい物で・・・

858 名前:デフォルトの名無しさん mailto:sage [2016/01/16(土) 15:58:57.91 ID:H02FZB8C.net]
「セオリー的な」で何をイメージしてるのかわからない
本当に理論のことなら、そう新しい発見なんてないし変わらんのだけど

859 名前:デフォルトの名無しさん mailto:sage [2016/01/16(土) 16:08:09.30 ID:hmY4MPA+.net]
>>850
求めてるレベルがわからんけど、とりあえずここ読む?
www.ne.jp/asahi/hishidama/home/tech/java/index.html

860 名前:デフォルトの名無しさん mailto:sage [2016/01/16(土) 16:09:49.76 ID:f9Lnoo+b.net]
ifとswichの使い分けとかか?

861 名前:デフォルトの名無しさん mailto:sage [2016/01/16(土) 16:12:10.35 ID:f9Lnoo+b.net]
2つの単語を使った変数名の場合2つ目の単語の頭文字は大文字で書くとかか?

862 名前:デフォルトの名無しさん mailto:sage [2016/01/16(土) 16:45:19.32 ID:+KwJNg6k.net]
推奨のコーディング規約見るとか
エフェクティブjava読むとか

863 名前:デフォルトの名無しさん [2016/01/16(土) 17:34:21.35 ID:R82nwwqc.net]
>>850
デザインパターンの本がいいかも。

たいていプログラミングの入門書のサンプルはクソだよな。

864 名前:デフォルトの名無しさん mailto:sage [2016/01/16(土) 17:38:54.25 ID:bfx9cpPa.net]
デザインパターンは役に立たない



865 名前:デフォルトの名無しさん mailto:sage [2016/01/16(土) 20:40:26.42 ID:CsTfXFKv.net]
命名規則の良い本ある?

866 名前:デフォルトの名無しさん mailto:sage [2016/01/16(土) 22:01:30.37 ID:+KwJNg6k.net]
オラクルのコーディング規約
www.oracle.com/technetwork/java/javase/documentation/codeconvtoc-136057.html
Googleのコーディング規約
https://google.github.io/styleguide/javaguide.html
命名規則とかはこれ守ってれば間違いない

867 名前:デフォルトの名無しさん [2016/01/17(日) 01:04:58.28 ID:Hz/zelCD.net]
>>859
実はまったく守られていない規約w

868 名前:デフォルトの名無しさん [2016/01/17(日) 01:23:56.95 ID:fAjnxN7u.net]
精度落ちに関する質問なんですが
double型にdouble型のリテラルを代入するだけの場合は
もちろんですが精度は落ちなくて
double型とdouble型同士の計算では精度が落ちる場合がある
という認識で宜しいでしょうか?

869 名前:デフォルトの名無しさん mailto:sage [2016/01/17(日) 01:29:24.51 ID:Jnt5hNCi.net]
>>861
final double d = 0.9;

これの誤差が無いわけないだろう

870 名前:デフォルトの名無しさん mailto:sage [2016/01/17(日) 01:31:07.68 ID:fAjnxN7u.net]
>>862
finalじゃなければ、代入時点では精度は落ちないということでしょうか?

871 名前:デフォルトの名無しさん mailto:sage [2016/01/17(日) 02:38:23.40 ID:Fc/iK1Xw.net]
>>863
2進数で 0.9 はどう表わされるか考えてみ?

872 名前:デフォルトの名無しさん [2016/01/17(日) 02:53:01.68 ID:/48Or1RK.net]
0.1001。
誤差ゼロ。

873 名前:デフォルトの名無しさん mailto:sage [2016/01/17(日) 03:03:51.08 ID:Fc/iK1Xw.net]
>>865
小学生からやり直せ

874 名前:デフォルトの名無しさん mailto:sage [2016/01/17(日) 03:14:02.10 ID:sTT4KsYO.net]
0.11100110以下110が循環?



875 名前:デフォルトの名無しさん mailto:sage [2016/01/17(日) 03:15:33.73 ID:Fc/iK1Xw.net]
>>867
お前は中学生くらいからやり直せ

876 名前:デフォルトの名無しさん mailto:sage [2016/01/17(日) 03:17:50.08 ID:sTT4KsYO.net]
違った1100が循環だった・・・・・

877 名前:デフォルトの名無しさん [2016/01/17(日) 03:18:43.98 ID:/48Or1RK.net]
Javaの現実を見た。

878 名前:デフォルトの名無しさん mailto:sage [2016/01/17(日) 03:18:52.69 ID:sTT4KsYO.net]
結局BigDecimal使えってことなの?

879 名前:デフォルトの名無しさん [2016/01/17(日) 03:19:35.97 ID:fAjnxN7u.net]
doubleに代入してからすぐtoStringしても誤差はないですよね?
ということはdouble代入時には誤差は起きないってこと?

880 名前:デフォルトの名無しさん mailto:sage [2016/01/17(日) 03:21:15.13 ID:sTT4KsYO.net]
え、そうなの?
doubleに入れた時点で誤差出ると思ってた・・・・・・・・

881 名前:デフォルトの名無しさん [2016/01/17(日) 03:23:46.70 ID:/48Or1RK.net]
それはオプティマイズされてるんじゃないの。

882 名前:デフォルトの名無しさん mailto:sage [2016/01/17(日) 03:26:07.28 ID:sTT4KsYO.net]
すみません。
サーブレットの勉強してるんですが、MVCモデルってもう古いんですか?
スッキリ分かるServlet+JSP入門読んでるんですが、無駄ですかね・・・

883 名前:デフォルトの名無しさん mailto:sage [2016/01/17(日) 03:29:42.70 ID:fAjnxN7u.net]
>>875
基本を学ぶにはMVCで十分でしょ
そこから発展して別のモデルを覚えていく形でいいと思うよ

884 名前:デフォルトの名無しさん mailto:sage [2016/01/17(日) 03:40:30.34 ID:sTT4KsYO.net]
>>876
一応読了して、曖昧な部分を確認しながら通販サイトモドキを作ってるんですが、
じゃあ次は何をしようかとググってたら「MVCは古い」っていう事に気付いたんです。
React+Fluxというのが新しいようなんですが、これも結局ToDoMVCって書いてあるし、大まかな方向性がよく掴めないです。
ttp://yutapon.hatenablog.com/entry/2015/04/27/150000



885 名前:デフォルトの名無しさん mailto:sage [2016/01/17(日) 03:41:42.08 ID:Fc/iK1Xw.net]
内部表現は2進数なんだから、リテラルの時点で誤差は当然ある

System.out.println(new BigDecimal(0.1));

ってやればある程度正確な値がわかる

886 名前:デフォルトの名無しさん mailto:sage [2016/01/17(日) 03:55:48.10 ID:fAjnxN7u.net]
>>877
モデルはいろいろあって一長一短あるけど
基本ベースはMVCだから
別に最初からそこのサイトに載ってるモデルで作ってみるのでもいいけど
とりあえずMVCで作ってあとでそれぞれのモデルを試してみるのでもいいと思うよ

887 名前:デフォルトの名無しさん mailto:sage [2016/01/17(日) 04:00:12.67 ID:fAjnxN7u.net]
>>878
そのコードで正確な値がわかるのは存じ上げてますが
doubleにリテラル代入して
すぐにtoStringをした場合
表示される値は代入した値が表示されることが保証されているのかどうなのかが知りたいです。
調べてもいまいち確証のとれる情報が見つからなくて・・・

888 名前:デフォルトの名無しさん mailto:sage [2016/01/17(日) 04:00:35.18 ID:sTT4KsYO.net]
>>879
ありがとうございます。そうします。

889 名前:デフォルトの名無しさん mailto:sage [2016/01/17(日) 04:14:03.16 ID:Fc/iK1Xw.net]
>>880
> doubleにリテラル代入して
> すぐにtoStringをした場合
> 表示される値は代入した値が表示されることが保証されているのかどうなのかが知りたいです。

「コードに書いたリテラルの文字列と、toString で得られる文字列が一致する」ってのは保証されない。

System.out.println(0.100000000000000001);

とでも打ってみれば分かるだろ

保証されてるのは、toString で得られる十進表現の最近似値が内部的な二進表現になってるってことだけ

890 名前:デフォルトの名無しさん [2016/01/17(日) 04:20:36.17 ID:YMwfXCWc.net]
>doubleに代入してからすぐtoStringしても誤差はないですよね?
>ということはdouble代入時には誤差は起きないってこと?

Doubleクラスのソース
hg.openjdk.java.net/jdk8/jdk8/jdk/file/687fd7c7986d/src/share/classes/java/lang/Double.java

DoubleクラスのpaseDoubleやtoStringからめぐりめぐって最終的に呼び出すdouble値と文字列を変換する処理が書かれてるソース
hg.openjdk.java.net/jdk8/jdk8/jdk/file/687fd7c7986d/src/share/classes/sun/misc/FloatingDecimal.java

891 名前:デフォルトの名無しさん mailto:sage [2016/01/17(日) 04:58:55.46 ID:sTT4KsYO.net]
すみません。
Java+Webでひとつの作品作ろうと思ったら、JavaScriptはしっかり勉強しておいたほうがいいでしょうか?
データベース・ネットワーク・法律等も勉強中で、何を優先して行くか悩んでるんですが・・・

892 名前:デフォルトの名無しさん mailto:sage [2016/01/17(日) 05:14:49.60 ID:F+WNk6+N.net]
JavaScriptは作るものによって必要かどうか変わってくるだろ
それ以外は優先順位をつけたところで意味がないぞ、だって全部やるんだろ?
好きなものからやれ

893 名前:デフォルトの名無しさん mailto:sage [2016/01/17(日) 07:37:50.69 ID:TkYjcAHo.net]
サーバーにJavaを使うような用途ならJavaScriptはやらなくてもいい。
Java使うのはだいたい業務Webアプリなので画面に動き付けたりするのは重要ではないからな。
そうじゃないんなら、サーバーにJavaを選ぶのは懸命な選択とはいえない。
どうせJavaScript覚えるんならnode.js使えばJavaのところもJavaScriptで書けるよ。

894 名前:デフォルトの名無しさん mailto:sage [2016/01/17(日) 08:03:02.91 ID:lwAJTCbm.net]
>>881
JSF使えば?



895 名前:デフォルトの名無しさん mailto:sage [2016/01/17(日) 10:05:13.82 ID:sTT4KsYO.net]
とりあえずJSFやってみようと思います。
参考書を探してみたんですが、この2冊だと(目次見た感じでは)どっちがいいでしょうか?
自分は、Java(Servlet/JSP/JTTL)、SQL(MySQL)、HTML、CSSあたりの基礎はなんとか・・・というレベルです。
www.shoeisha.co.jp/book/detail/9784798140926
www.shuwasystem.co.jp/products/7980html/4216.html

896 名前:デフォルトの名無しさん mailto:sage [2016/01/17(日) 11:31:33.40 ID:lwAJTCbm.net]
>>888
自分は下の本をとっかかりにした。

897 名前:デフォルトの名無しさん mailto:sage [2016/01/17(日) 11:42:56.02 ID:/Bppo/Tp.net]
一人で勉強するのならjava以外のほうがいいと思うけどな

898 名前:デフォルトの名無しさん mailto:sage [2016/01/17(日) 12:15:10.33 ID:Qzn6azHr.net]
>>880

コンパイル時に浮動小数リテラルが別のリテラルに丸められるのは
よくあること。

toStringを実行した出力が近似値に丸められるのもよくあること。
どんなにひどい結果でも、toStringする前の値の大小関係は
丸められた結果同士でもキープされると期待していい。

Double#toStringの説明は何なんだよ
「検討してみましょう」じゃねーよおまえが検討しろよ
Oracleはこんなもんに知的財産主張してるのか

899 名前:デフォルトの名無しさん mailto:sage [2016/01/17(日) 13:01:07.85 ID:sTT4KsYO.net]
>>889
ありがとうございます。下の本にします。

>>890
すみませんが、その理由を教えていただけないでしょうか。

900 名前:デフォルトの名無しさん [2016/01/17(日) 13:45:51.81 ID:rbU+q6uu.net]
「人」オブジェクトがあって
人情報取得メソッドがあります。
人オブジェクトに人情報取得時に必要な情報をあらかじめセットしておき
メソッドを呼ぶときの引数に人オブジェクトを設定してあげます。

このときメソッド内で
引数で渡された人オブジェクトに取得した結果を格納してあげるのは設計上よくないですよね?
メソッド内で新たに人オブジェクトを作成してあげて
そこに結果を格納し返してあげるのが正しいと思うのですがいかがでしょうか?
基本的な考え方で愚問だとは思いますが
皆さんのご意見をお聞かせ頂きたいです。

901 名前:デフォルトの名無しさん mailto:sage [2016/01/17(日) 14:07:20.26 ID:BJ5EtIoT.net]
状況がわからないけど、メソッドの引数が人オブジェクトなのはおかしいでしょう
人.getInfo()とかにすべきでは?

902 名前:デフォルトの名無しさん mailto:sage [2016/01/17(日) 14:13:43.56 ID:Fc/iK1Xw.net]
>>891
> コンパイル時に浮動小数リテラルが別のリテラルに丸められるのはよくあること。

表現が正確じゃないな。”別のリテラル”じゃなく、最近似の二進表現になるってだけ。

> Double#toStringの説明は何なんだよ
> 「検討してみましょう」じゃねーよおまえが検討しろよ

いや普通に読めば理解できるように書いてあるだろ…
double の値(二進表現)が一意に分かる最低限の桁数の十進表現で表示されるってだけ

System.out.println(0.1) で、"0.1"と表示されるのは、この桁数で二進表現を一意に特定するのに必要十分だから

903 名前:デフォルトの名無しさん [2016/01/17(日) 14:15:17.51 ID:rbU+q6uu.net]
>>894
あっすいません
そこは今回特に意識してない部分だったので詳しくかいてなかったです
正確にはそうです

904 名前:デフォルトの名無しさん mailto:sage [2016/01/17(日) 14:25:28.04 ID:fAjnxN7u.net]
>>895
なるほどなるほど
そういうことか・・

ということはやはりBigDecimalが安定なのか・・



905 名前:デフォルトの名無しさん mailto:sage [2016/01/17(日) 14:49:27.51 ID:Fc/iK1Xw.net]
>>897
> ということはやはりBigDecimalが安定なのか・・
んなもん何に使うかによる

906 名前:デフォルトの名無しさん mailto:sage [2016/01/17(日) 16:18:27.41 ID:pSWLpytB.net]
浮動小数0.1は、2進数で循環小数になるから、
たとえ、0.1と表示されていても誤差がある

お金など誤差が許さないものは、
データを10進数で持っている、decimal系を使う

>>893
func(out)のように、引数を出力目的で使うのだろ?

return でインスタンスを返すと、
オブジェクトが生成されて、GCが呼ばれて廃棄される

そのコストが許せないのなら、引数で出力できるけど、
変数のスコープが広がるので、バグが増える

Object a;
func(a);
a を使う

907 名前:デフォルトの名無しさん mailto:sage [2016/01/17(日) 18:22:27.84 ID:qQLVhcCc.net]
派生クラスのコレクションを親クラスのコレクションにキャストすることができないようですが、
この点に関しては一般的にはどのように

foreach( Class1 v1 : v1s ) {

}

908 名前:デフォルトの名無しさん mailto:sage [2016/01/17(日) 20:05:05.35 ID:Fc/iK1Xw.net]
>>900
stackoverflow.com/questions/5082044/most-efficient-way-to-cast-listsubclass-to-listbaseclass

909 名前:デフォルトの名無しさん mailto:sage [2016/01/18(月) 00:36:47.17 ID:db+cxeqg.net]
Decimalが10進数でデータ持ってるっていうのは、
Decimal以外だと
159 = 10011111
Decimalだと
159 = 00000001 00000101 00001001
っていうことですか?

910 名前:デフォルトの名無しさん [2016/01/18(月) 02:01:50.71 ID:kzzNSGRd.net]
用語の使い方がおかしい人に聞いても良いことないよ。

911 名前:デフォルトの名無しさん mailto:sage [2016/01/18(月) 02:49:43.92 ID:9UzPlEZa.net]
>>902
BigDecimalは超簡単に書くと

class BigDecimal
{
BigInteger intVal;
int scale;
}

で intVal * 10^-scale (^は累乗) の数値を表す

intVal=1 scale=2→0.01
intVal=1 scale=1→0.1
intVal=1 scale=0→1
intVal=1 scale=-1→10
intVal=1 scale=-2→100

intVal=12 scale=2→0.12
intVal=12 scale=1→1.2
intVal=12 scale=0→12
intVal=12 scale=-1→120
intVal=12 scale=-2→1200

とかそんな感じ

912 名前:デフォルトの名無しさん mailto:sage [2016/01/18(月) 03:11:48.22 ID:tdkp4CJHB]
やるじゃん

913 名前:デフォルトの名無しさん mailto:sage [2016/01/18(月) 03:27:28.21 ID:db+cxeqg.net]
>>904
ありがとうございます!

914 名前:デフォルトの名無しさん mailto:sage [2016/01/18(月) 05:08:09.37 ID:S6LQNh+S.net]
すみません。ここでいいのか分かりませんがお願いします。
JSP中のselectコントロールにテーブルの主キーを表示して、選択される項目が変わるたびに、DBから、その主キーに対応するカラムのリストを取得して表示したいんですが、どうやったらいいでしょうか?
出来ればページの一部だけ差し替えるように表示したいんですが。



915 名前:906 mailto:sage [2016/01/18(月) 05:10:10.54 ID:S6LQNh+S.net]
ページ読み込み時に全データを取得すると、HTMLのコード内にデータが全て格納されてしまうので、それは避けたいのです。

916 名前:デフォルトの名無しさん mailto:sage [2016/01/18(月) 07:38:12.62 ID:23fLppyX.net]
>>907
Ajaxでググれ

917 名前:デフォルトの名無しさん [2016/01/18(月) 16:51:35.57 ID:mx4I+vxo.net]
Set の一番ナウくてスマートな初期化の方法を教えてください。

私のレベルで思いつけるのはこの程度です。

Set<String> items = new HashSet<String>();
items.add("item1");
items.add("item2");

918 名前:デフォルトの名無しさん mailto:sage [2016/01/18(月) 16:57:08.02 ID:E7A1qRpW.net]
Set<String> set = Stream.of("item1", "item2").collect(Collectors.toSet());

919 名前:デフォルトの名無しさん mailto:sage [2016/01/18(月) 17:18:42.78 ID:mx4I+vxo.net]
>>911
Stream ! そういうのもあるのか
どうもありがとうございます

920 名前:デフォルトの名無しさん mailto:sage [2016/01/18(月) 17:45:07.00 ID:enBRobGZ.net]
ジェットストリーム、夜空に輝く星

921 名前:デフォルトの名無しさん mailto:sage [2016/01/18(月) 19:33:03.33 ID:sKUqMQzC.net]
ニコ生のような、リアルタイムで音声と映像を配信する技術って
javaで実現可能でしょうか?
javaで実現できるなら方法を教えて下さい。

922 名前:デフォルトの名無しさん mailto:sage [2016/01/18(月) 19:55:03.79 ID:23fLppyX.net]
>>914
ソケット通信でググれ

923 名前:デフォルトの名無しさん mailto:sage [2016/01/18(月) 19:55:58.66 ID:ZuaaGYVC.net]
もっとハードよりのcとかベリログとか使ってそう

924 名前:デフォルトの名無しさん mailto:sage [2016/01/18(月) 19:57:49.62 ID:gQQJtJbt.net]
>>914
それはJavaでどうこうじゃなくてインフラの問題だ
AWSの例
https://aws.amazon.com/jp/cdp/cdn-live/
5000人×2時間で600ドル



925 名前:デフォルトの名無しさん mailto:sage [2016/01/18(月) 21:25:07.46 ID:sKUqMQzC.net]
>>915
はい。ググります。
>>917
インフラですか、さっぱり分かりません。
数千人がアクセスしてサーバー落ちるとか言いますが、
アクセス過多とかがイマイチ理解出来ません

926 名前:デフォルトの名無しさん mailto:sage [2016/01/18(月) 21:35:33.44 ID:RWGC+b6j.net]
>>914
これのソース読め
https://github.com/Red5

927 名前:デフォルトの名無しさん mailto:sage [2016/01/18(月) 22:23:46.49 ID:fb3J4oW9.net]
>>918
インフラ分かんないなら最初は簡単なWebサイトをNode.jsやRailsなんかで
作ってみるところから始めることをお勧めする
セキュリティを確保しながら外からページを見られるようにするだけでも死ぬほど苦労するから

928 名前:デフォルトの名無しさん mailto:sage [2016/01/18(月) 22:47:37.18 ID:sKj6swh6.net]
Node.jsやRailsなんかで、ストリームw

929 名前:デフォルトの名無しさん mailto:sage [2016/01/18(月) 22:56:03.91 ID:fb3J4oW9.net]
>>921
パフォーマンスが重要なコアな部分だけJavaやC++で書いて
Webページの部分はどうせIOバウンドだし頻繁に変わるからLLで作るというのは
決して珍しくないけど?
どうせサーバーは別になるんだし

930 名前:デフォルトの名無しさん [2016/01/19(火) 07:55:06.38 ID:vsW11Ok5.net]
宣言時になんでarraylistをいちいちListインターフェースにキャストするサンプルが多いんでしたっけ?

c#ならListインターフェースを実装しているなら、わざわざインターフェースで宣言しなくてもList型の引数に渡せば勝手にキャストしてくれるんですけど、javaはそういうのないんでしたっけ??

931 名前:デフォルトの名無しさん mailto:sage [2016/01/19(火) 09:12:20.62 ID:H1G67Lxp.net]
日本語で

932 名前:デフォルトの名無しさん mailto:sage [2016/01/19(火) 09:56:25.11 ID:wNgJdiNd.net]
>>923
List list = new ArrayList<String>();

キャストなんて必要ないんだが。

933 名前:デフォルトの名無しさん [2016/01/19(火) 10:02:06.59 ID:vsW11Ok5.net]
え?暗黙的キャストでしょ。

934 名前:デフォルトの名無しさん mailto:sage [2016/01/19(火) 10:44:22.57 ID:wNgJdiNd.net]
いやだから、明示的なキャストが必要ないって言ってんだよ
お前が C# なら勝手にキャストしてくれるって言うから



935 名前:デフォルトの名無しさん mailto:sage [2016/01/19(火) 10:58:56.56 ID:unNXfSBy.net]
キャストどころかJVM的には参照型の値は何も区別してないっしょ

936 名前:デフォルトの名無しさん mailto:sage [2016/01/19(火) 11:03:26.79 ID:TS4012zz.net]
そもそも

> arraylistをいちいちListインターフェースにキャストするサンプルが多い

こっからして意味不明w
んなもん一個も見たことないんだが
OOPの根源をなすポリモの理解が狂ってでもないと書けないはず

937 名前:デフォルトの名無しさん [2016/01/19(火) 11:10:13.85 ID:vsW11Ok5.net]
>>929
>>925の宣言方法です。

やっぱ狂ってますよね。
インターフェースでの制限かけるのはメソッドの引数型が担当するもんですよね。

なんかjavaって変な風習あるのかなって。

938 名前:デフォルトの名無しさん mailto:sage [2016/01/19(火) 11:11:20.35 ID:7c8TWihj.net]
ふぁっ??

939 名前:デフォルトの名無しさん mailto:sage [2016/01/19(火) 11:17:06.84 ID:wNgJdiNd.net]
そもそも C# の List ってインターフェースじぇねーし言ってること滅茶苦茶だなこいつ
何言ってんだほんと

940 名前:デフォルトの名無しさん [2016/01/19(火) 11:22:57.26 ID:vsW11Ok5.net]
>>932
Ilistです。はいはい、君は黙ってて

941 名前:デフォルトの名無しさん mailto:sage [2016/01/19(火) 11:28:49.40 ID:wNgJdiNd.net]
>>933
stackoverflow.com/questions/1367539/ilistint-vs-listint

そもそも C# でも
IList<int> list = new List<int>();
みたいな宣言することはあるし、可能。

C# と Java で違いがあるってのなら、その違いをソースコードで示してみろよ

942 名前:デフォルトの名無しさん mailto:sage [2016/01/19(火) 11:37:51.74 ID:74fDunfU.net]
なんとなくコイツの勘違い分かったわw
C#なら
ArrayList list = new ArrayListを
foo(List list)に渡せるのに、
Javaは
List list = new ArrayListというふうに「いちいち(>>923)」しないと
foo(List list)に渡せないんじゃないかと思ってるんじゃないかと

あるメソッドの引数にあらかじめ「型をあわせる為」に
宣言時に「いちいち」Listに代入していると勘違いしている

943 名前:デフォルトの名無しさん [2016/01/19(火) 11:41:28.51 ID:vsW11Ok5.net]
>>934
可能かどうかじゃなくて、
java界隈で常識?らしい、なぜarraylist型のままでなくlistにするのか問うておるんだが。

何一つ疑問に答えてないぞ君は。

今度的はずれなこと言ったら口聞かないからね。

944 名前:928 mailto:sage [2016/01/19(火) 11:44:35.52 ID:kozL0Mk3.net]
>>930
あとこれにも一応ちゃんとレスつけとく

> >>925の宣言方法です。
> やっぱ狂ってますよね。

俺が狂っているといったのは
List list = (List)new ArrayList ←これであって
List list = new ArrayList ←これではない
親クラスの参照に子クラスのインスタンスを代入するのは当たり前

キャストという用語の食い違いについては言及するつもりはない



945 名前:デフォルトの名無しさん mailto:sage [2016/01/19(火) 11:47:34.75 ID:wNgJdiNd.net]
>>936
的はずれなこと言い続けてるのはお前だカス

> java界隈で常識?らしい、なぜarraylist型のままでなくlistにするのか問うておるんだが。
Javaで常識とかではなく、Java でも C# でも一緒。リンク先に答え書いてあるだろ…。

C# で言うなら、List のすべてのメソッドを公開するよりも、IList に定義されてるメソッドだけを公開する方が
プログラムを修正/変更に対する影響範囲を極小化できるから

クラスのメンバをアクセス修飾子出来る限り外部に隠蔽するのと同じ理屈。

946 名前:デフォルトの名無しさん mailto:sage [2016/01/19(火) 11:49:18.49 ID:wNgJdiNd.net]
誤)クラスのメンバをアクセス修飾子出来る限り外部に隠蔽するのと同じ理屈。
正)クラスのメンバをアクセス修飾子で出来る限り外部に隠蔽するのと同じ理屈。

947 名前:デフォルトの名無しさん [2016/01/19(火) 11:56:31.85 ID:vsW11Ok5.net]
>>935
そんなかんじです。
でも、ちょっと違うかも。
で、調べたら

arraylist list = new arraylist();
って、宣言してたら
foo(arraylist array)
に渡っちゃうだろ!
必要最低限の型にしとけ!というものでした。

948 名前:デフォルトの名無しさん mailto:sage [2016/01/19(火) 12:02:13.26 ID:wNgJdiNd.net]
> arraylist list = new arraylist();
> って、宣言してたら
> foo(arraylist array)
> に渡っちゃうだろ!
> 必要最低限の型にしとけ!というものでした。

何言ってるのこの子…

949 名前:デフォルトの名無しさん [2016/01/19(火) 12:03:00.49 ID:vsW11Ok5.net]
>>938
インターフェースの意味理解してますか?

外部と接続のためにインターフェースを実装するのであって、外部と遮断するためにインターフェースを実装するのではないよ?

950 名前:928 mailto:sage [2016/01/19(火) 12:03:30.60 ID:gb1JG2bL.net]
>>941
俺も半笑いですw
久々に意識レベルを疑う池沼が来たな…とw
酒でも飲んでるか、脳にデッカイ腫瘍でもあるんじゃないですかねこの子

951 名前:デフォルトの名無しさん mailto:sage [2016/01/19(火) 12:07:35.84 ID:qBj82rYb.net]
印象派のプログラマかな(適当)

952 名前:デフォルトの名無しさん mailto:sage [2016/01/19(火) 12:21:35.18 ID:wNgJdiNd.net]
なぜかインターフェースの意味を説明し始めたぞこいつ…

>>942
「外部との接続のためのインターフェース」 だからこそ、そこには必要十分なメソッドだけが定義されてるんだよ

Java で言うなら、
List<Integer> list = new ArrayList<>();

List<Integer> list = new LinkedList<>();
に書き換えるのは容易でそこだけ書き換えれば良いけど

ArrayList<Integer> list = new ArrayList<>();

LinkedList<Integer> list = new LinkedList<>();
に書き換えると、この変数使ってるすべての箇所で修正が必要な可能性が生じる

インターフェースを使うことで、公開するメソッドの数に制限をかけることができて、修正の可能性を極小化出来る

何度も言うが、これは Java だけに限ったことじゃなく C# でも他のOOP言語でも同様

953 名前:デフォルトの名無しさん mailto:sage [2016/01/19(火) 12:47:40.68 ID:1PZtH04E.net]
話逸れるけど、個人的にはJavaのListに関してははインタフェースじゃなくてArrayListなりLinkedListとして使いたいなぁ
周りがみんなインタフェース使ってるから倣ってるけど

954 名前:デフォルトの名無しさん mailto:sage [2016/01/19(火) 13:30:07.42 ID:qBj82rYb.net]
>>946
いやそこはList使えよ
わざわざArrayListとかで型を宣言する意味がわからない



955 名前:デフォルトの名無しさん mailto:sage [2016/01/19(火) 13:38:16.49 ID:qBj82rYb.net]
言葉足りなかった
enaureCapacityやtrimToSize とか使うならArrayListで宣言は必要と思うけど、普段使わないだろ

956 名前:デフォルトの名無しさん mailto:sage [2016/01/19(火) 13:38:56.83 ID:OfRjP77Z.net]
デザインパターンとともに学ぶオブジェクト指向のこころの第一章だけでも読んでほしいところ

957 名前:デフォルトの名無しさん [2016/01/19(火) 13:45:36.84 ID:8TTjRiqP.net]
いや別に使ってもいいでしょ。
このメソッドの引数にはスレッドセーフなリストを渡せってような時は意図的にシグネチャに具象型定義して使用者に分からせるようにしたりとか、まああまり親切では無いけど。

958 名前:デフォルトの名無しさん mailto:sage [2016/01/19(火) 13:55:08.82 ID:qBj82rYb.net]
逆に意図した意味がなかったらそこで型を限定する必要性がないでしょ
むしろしちゃダメでしょ

959 名前:945 mailto:sage [2016/01/19(火) 16:01:27.27 ID:xj7vEpfK.net]
コレクション以外は素直にインタフェース使えるんだが
List#addのUnsupportedOperationに怯えるのが嫌なんよ

大抵の場合そんなプログラムの作りになってるのが悪いんだけど
引数にList受けてそのままaddして返してるようなの見ると怖くなっちゃう

960 名前:デフォルトの名無しさん mailto:sage [2016/01/19(火) 17:54:30.97 ID:9Rb1UiHl.net]
ArrayListとLinkedListが両方ListなのはJavaの大きな設計ミスの一つだな
というか共通に実装するにはListが多機能すぎるんだよ
パフォーマンス的にも地雷になりうるから、2つは明確に区別するか、もしくはListではなくCollectionを使った方がいい

961 名前:デフォルトの名無しさん mailto:sage [2016/01/19(火) 18:01:50.35 ID:9Rb1UiHl.net]
あと>>945みたいなことを言いながら単に複数の値を受け渡ししたいだけのときにListを使う奴の多いこと
大抵のケースではIterableで十分だ

962 名前:デフォルトの名無しさん mailto:sage [2016/01/19(火) 19:09:02.88 ID:wNgJdiNd.net]
List のどこが多機能すぎるんだ?
順序付けられた Collection って明確な実装目的があるし、メソッド自体も Collection のそれと大して変わりないだろ
他の言語でも大体同じような感じの実装になってると思うが、Java の List が失敗なら例えばどんな言語のどんな実装なら理想なの?

963 名前:デフォルトの名無しさん mailto:sage [2016/01/19(火) 19:27:56.09 ID:9Rb1UiHl.net]
>>955
インデックスを指定するメソッド全てだな
「順序がある」と「ランダムアクセスできる」は理論的には同じでも実用的には全く異なるのに、
それを同一としてしまったことがミスだ
後発の.NETの場合はIListはランダムアクセスのためのインターフェースとして定義され、LinkedListはIListを実装していない
あくまで「順序がある」としての共通化に拘るのなら、Listはランダムアクセス無しにして
ランダムアクセスするためのインターフェースを別途作るべきだった

964 名前:デフォルトの名無しさん mailto:sage [2016/01/19(火) 20:14:44.81 ID:wNgJdiNd.net]
「順序がある」と「ランダムアクセスできる」は別に同一にしてないと思うけどなJavaでも

List が意味するのはあくまで「順序がある」で 、これ使って確かにインデックスアクセスもできるが、
それはランダムアクセス可能なことを意味したものじゃない(C# でも、LinkedList#ElmentAt は使える)

ランダムアクセス可能かどうかは、RandomAccess っていうマーカーインターフェースが別にある



965 名前:デフォルトの名無しさん mailto:sage [2016/01/19(火) 20:31:57.67 ID:WA9VNBRk.net]
リンクリストに対してget(int)するのは不利だろうけど
add(int,Object)やremove(int)はすればするほどアレイリストより有利だよね?
リンクリストにランダムアクセスできることの何が問題なの?

966 名前:デフォルトの名無しさん mailto:sage [2016/01/19(火) 20:38:18.24 ID:i1u/RpO5.net]
>>958
いやリンクリストはaddやremoveも毎回線形走査が走るからArrayListより遥かに遅いよ
ListIterator使わないとパフォーマンス上の利点はない
使ってもArrayListより早くなるケースは稀だけどね

967 名前:デフォルトの名無しさん mailto:sage [2016/01/19(火) 20:55:01.60 ID:i1u/RpO5.net]
基本的にはほとんどすべてのケースでArrayListの方が速いと考えていい
リンクリストは極めて特殊な状況で使うものなので、
.NETではリンクリストなんか無視してArrayList構造前提のインターフェースにした方が便利だという判断になったんだろうね

968 名前:デフォルトの名無しさん [2016/01/19(火) 20:56:09.33 ID:UvexcXui.net]
どうしたらエラー消えるか教えてくださいm(_ _)m
import java.awt.*; import java.awt.event.*; import java.util.*;
public class Kadai74 extends Frame implements ActionListener{
TextField t1 = new TextField(25); //25は最大表示可能文字数
public static void main(String[] args){
new Kadai74();
}
public Kadai74(){
this.setTitle("時刻表示");
this.setSize(320,120);
this.setVisible(true);
addWindowListener(new WindowAdapter(){

public void windowClosing(WindowEvent e){
System.exit(0);
}
});
setLayout(new FlowLayout());
Button button = new Button("時刻の表示");
button.addActionListener(this);
add(button);
button.setSize(1,3);
add(t1);
}
public void actionPerformed(ActionEvent e){
Date date1 = new Date();
TextField.setText(date1.toString());
}
}
エラー文↓
package74/Kadai74.java:59: static でない メソッド setText(java.lang.String) を static コンテキストから参照することはできません。
TextField.setText(date1.toString());

969 名前:デフォルトの名無しさん mailto:sage [2016/01/19(火) 20:59:38.12 ID:wNgJdiNd.net]
>>961
誤) TextField.setText(date1.toString());
正) t1.setText(date1.toString());

970 名前:デフォルトの名無しさん mailto:sage [2016/01/19(火) 21:03:09.49 ID:UEki8ydx.net]
どうすると959みたいな嘘つき&馬鹿が生まれるのか不思議でしょうがない

971 名前:デフォルトの名無しさん [2016/01/19(火) 21:08:01.56 ID:UvexcXui.net]
>>962
ありがとうございます!!エラーがなくなりました!

あと表示させたいのがクリックした時の時刻なんですがアドレス値が表示されてしまいます…
どうすればよいでしょうか?

実行結果↓
package74.Date@7e6536b7

972 名前:デフォルトの名無しさん mailto:sage [2016/01/19(火) 21:09:53.72 ID:wNgJdiNd.net]
いや>>960は正しいと思うけど俺は
LinkedList はメモリフットプリントが若干大きくなるぶん
理論上の計算量が同じでも ArrayList より遅くなることが多い
そして、LinkedList の ArrayList に対する利点は、イテレータ使って add, remove する時だけ

stackoverflow.com/questions/322715/when-to-use-linkedlist-over-arraylist
ここでも議論されてるが、LinkedList を使うのはかなり限られた特殊な状況ってので大体見解が一致してる
中には LinkedList は糞だから全部 ArrayList で良いって言ってる人もいる

973 名前:デフォルトの名無しさん mailto:sage [2016/01/19(火) 21:15:53.20 ID:wNgJdiNd.net]
>>964
いや、お前のコードコピペして、>>962 でレスしたとこ変えただけで普通に時刻表示されたけど
後、表示されてるのはアドレス値じゃなくてインスタンスのハッシュ値だろ多分
package74.Date って自分で Date クラス作ったのか?

974 名前:デフォルトの名無しさん mailto:sage [2016/01/19(火) 21:31:17.06 ID:i1u/RpO5.net]
>>965
メモリ使用量もそうだけどシーケンシャルアクセスでメモリアクセスが連続しないのがデカい
次の要素読むたびにキャッシュミスするクソみたいなデータ構造だ
ArrayListが苦手とされる途中への挿入削除は配列のブロックコピー一発という低レベルな操作だから極めて最適化されてて遅くなりにくい



975 名前:957 mailto:sage [2016/01/19(火) 22:06:20.77 ID:zjEKWV3a.net]
>>959
> いやリンクリストはaddやremoveも毎回線形走査が走るからArrayListより遥かに遅いよ

そこはリンクですからね!
毎回線形捜査するけどアレですよ!
中身の再配置が無いから早いはず!

https://ideone.com/RrkGX9
ちょっと計って比べてみた結果
…目が醒めました、はい

>>967
なるほどなるほど

976 名前:デフォルトの名無しさん mailto:sage [2016/01/19(火) 22:08:58.95 ID:SukeRrsX.net]
>>945
C#も含め型推論のある言語だとその書き方はしないな

まあ、ArrayListからLinkedListに変えたいってことが稀だからだろう…

977 名前:デフォルトの名無しさん mailto:sage [2016/01/19(火) 22:22:58.61 ID:wNgJdiNd.net]
>>969
IList と List の話じゃなく、
具象クラスの宣言時に型をインターフェースにするのはC#でもやるだろ普通に

978 名前:デフォルトの名無しさん mailto:sage [2016/01/19(火) 22:34:17.01 ID:Xsa7QJ4A.net]
イテレータ使わないならLinkedList使わないでいいよ

979 名前:デフォルトの名無しさん mailto:sage [2016/01/19(火) 22:39:05.90 ID:SukeRrsX.net]
>>970
この書き方の話だよ
List<Integer> list = new ArrayList<>();

ローカル変数の宣言は全部varかval

980 名前:デフォルトの名無しさん mailto:sage [2016/01/19(火) 22:56:19.26 ID:wNgJdiNd.net]
> ローカル変数の宣言は全部varかval
Java でもそうだけど、こういう書き方するのってローカル変数よりむしろフィールドだと思うが
ローカル変数ならぶっちゃけなんでもいい

981 名前:デフォルトの名無しさん mailto:sage [2016/01/20(水) 00:00:23.82 ID:+oDO5kZy.net]
× リンクリスト
○ リンクドリスト

ちゃんと覚えておけよ

982 名前:デフォルトの名無しさん mailto:sage [2016/01/20(水) 00:03:38.55 ID:uG3ghRzi.net]
× リンクドリスト
○ リンクトリスト

ちゃんと覚えておけよ

983 名前:デフォルトの名無しさん mailto:sage [2016/01/20(水) 00:14:22.73 ID:0SkMRgg2.net]
お前の俺命名ルールを押しつけられても

984 名前:デフォルトの名無しさん mailto:sage [2016/01/20(水) 00:14:55.92 ID:UTsS/Gix.net]
卑猥な単語に見えたのは俺だけで良い



985 名前:デフォルトの名無しさん mailto:sage [2016/01/20(水) 00:21:22.54 ID:/jAqE9aQ.net]
>>973
冗長だから普通は型推論使うよね。今回の話からはずれちゃうけど。

986 名前:デフォルトの名無しさん mailto:sage [2016/01/20(水) 08:23:33.22 ID:3QI3P0j9.net]
ID:vsW11Ok5がvarがないのが不便だねっていいたかっただけなら
プログラムやる前にもうちょっと日本語の勉強した方がいい。

987 名前:デフォルトの名無しさん mailto:sage [2016/01/20(水) 08:32:00.99 ID:0GsBasXl.net]
結局何の事なんか分からんかったな
モヤモヤする

988 名前:デフォルトの名無しさん mailto:sage [2016/01/20(水) 08:35:15.19 ID:/koko6uv.net]
OOPの基礎知識の欠落と思われ
インタフェースに対してプログラミングするという視点の不在と
変数を十分に小さいインタフェースで取り回すことの快適感の不在

989 名前:デフォルトの名無しさん mailto:sage [2016/01/20(水) 08:36:06.97 ID:ztCI1EFa.net]
変な理解にもとづいて書いてあるものは、忘れたほうがいい

990 名前:デフォルトの名無しさん mailto:sage [2016/01/20(水) 11:08:18.35 ID:tmIP8TZA.net]
あとC#が〜C#が〜って押し付けする奴はもうC#だけやってろよ
他言語ではこうであるだからこっちでもこうするべきだなんて俺ルールと大差ないわ

郷に入れば郷に従っとけよ、ハゲ

991 名前:デフォルトの名無しさん mailto:sage [2016/01/20(水) 16:25:40.16 ID:pKAGFZbJ.net]
>>923はそもそもキャストという用語を独自解釈してるからな
型変換とごっちゃになって覚えているか区別がついてないんだろうな

https://msdn.microsoft.com/ja-jp/library/ms173105.aspx
> 暗黙の型変換 : 変換はタイプ セーフであり、データが失われることはないため、
> 特別な構文は不要です。たとえば、小さい整数型から大きい整数型に変換したり、
> 派生クラスから基本クラスに変換したりする場合です。
>
> 明示的な型変換 (キャスト) : 明示的な型変換にはキャスト演算子が必要です。
> キャストが必要になるのは、変換時に情報が失われる可能性があるとき、
> または他の理由により変換が成功しないときです。
> 典型的な例としては、精度の低い型または範囲の狭い型への数値変換や、
> 基本クラス インスタンスの派生クラスへの変換があります。

992 名前:デフォルトの名無しさん mailto:sage [2016/01/20(水) 18:24:51.17 ID:6ONE7iN3.net]
一応暗黙的なキャストっていう用語も存在してないことはない
https://msdn.microsoft.com/ja-jp/library/cc482668.aspx

普通はキャストって言われたら明示的な型変換だと思うけどな

993 名前:デフォルトの名無しさん mailto:sage [2016/01/20(水) 18:42:00.22 ID:IhxMke/s.net]
キャスコといえばゴルフ

994 名前:デフォルトの名無しさん [2016/01/20(水) 19:17:57.30 ID:6Nwq+BmN.net]
アップキャストとかダウンキャストとかあるじゃん。
それとはまた別なの?
アップキャストが暗黙と同義だよね。



995 名前:デフォルトの名無しさん mailto:sage [2016/01/20(水) 19:59:09.19 ID:QPtcDW16.net]
https://en.wikipedia.org/wiki/Type_conversion
> In the C family of languages and ALGOL 68, the word cast typically refers
> to an explicit type conversion (as opposed to an implicit conversion),

Cの流れだと一般的にはこうだな
まぁそれ知らない人にはどうしようもないのかもしれんが

996 名前:デフォルトの名無しさん mailto:sage [2016/01/20(水) 21:36:39.80 ID:Ci1f4cma.net]
アップキャストはオブジェクト指向の話で出てくる用語
オブジェクト指向をサポートする主要な言語(Java/C#/C++)の用語ではキャストと言ったら明示的変換
言語の文法の話なら間違いだが、そのコードで表現しようとしているものをオブジェクト指向として捉えた時の話であれば間違いではない

997 名前:デフォルトの名無しさん mailto:sage [2016/01/20(水) 22:34:30.52 ID:odor4UVz.net]
コンパネのJava開くとネットワーク設定があってプロキシ設定出来るけど、これって何で使われるの?
ググッたら、Javaアプレットでネットワーク接続するときに使うみたいなんだけど、
これってJavaアプレットに限った話ってことで合ってる?
Javaアプリケーションでネットワーク接続する場合は、Windowsのインターネットオプションで設定したプロキシが利用されるってことで良いのかな?

998 名前:デフォルトの名無しさん mailto:sage [2016/01/21(木) 00:36:19.67 ID:wCHOY8+w.net]
int と Integerって何が違うんですか

999 名前:デフォルトの名無しさん mailto:sage [2016/01/21(木) 00:38:37.02 ID:ZWK/hjZG.net]
>>979
全然違うと思うwww
つかレスしてるやつらでも理解してないのが多いな
がっかりだよ

1000 名前:デフォルトの名無しさん mailto:sage [2016/01/21(木) 00:46:09.83 ID:88LciSZZ.net]
>>992
C#スレ見たか?

1001 名前:デフォルトの名無しさん mailto:sage [2016/01/21(木) 00:48:28.88 ID:HtrKLPks.net]
Integerは(不変の)オブジェクト

1002 名前:デフォルトの名無しさん mailto:sage [2016/01/21(木) 00:48:53.58 ID:ZWK/hjZG.net]
>>993
関係ない
そもそもなんでインターフェイスすんの?って質問が本質

この書き方でも馬鹿が使えば実行時エラーの元なんだけどな

1003 名前:デフォルトの名無しさん mailto:sage [2016/01/21(木) 00:49:45.44 ID:ZWK/hjZG.net]
'に' が抜けてた

1004 名前:デフォルトの名無しさん mailto:sage [2016/01/21(木) 00:50:42.77 ID:88LciSZZ.net]
>>995
質問に対する返答になってない。やり直し。



1005 名前:デフォルトの名無しさん mailto:sage [2016/01/21(木) 00:51:15.47 ID:HtrKLPks.net]
次スレ立てますね

1006 名前:デフォルトの名無しさん mailto:sage [2016/01/21(木) 00:52:25.30 ID:HtrKLPks.net]
次スレ
★★Java質問・相談スレッド176★★ [無断転載禁止]©2ch.net
peace.2ch.net/test/read.cgi/tech/1453305105/

1007 名前:デフォルトの名無しさん mailto:sage [2016/01/21(木) 00:53:04.25 ID:ZWK/hjZG.net]
>>999


1008 名前:デフォルトの名無しさん mailto:sage [2016/01/21(木) 02:11:23.15 ID:Ro+JnAfr.net]
1000

1009 名前:1001 [Over 1000 Thread.net]
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。

1010 名前:過去ログ ★ [[過去ログ]]
■ このスレッドは過去ログ倉庫に格納されています






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

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

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