Java入門・初心者質問スレat TECH
Java入門・初心者質問スレ - 暇つぶし2ch50:デフォルトの名無しさん
16/06/08 07:12:18.25 Ko7KPTTd.net
JavaはCの20倍速いという論文もある。

51:デフォルトの名無しさん
16/06/08 12:43:12.18 dkuXgh3b.net
I/OもNIOのおかげでかなり高速化してるよね
IOは使い物にならないくらい遅いけど

52:デフォルトの名無しさん
16/06/08 16:42:46.58 BCgime2A.net
でもJavaのnioの定着度の低さは異常
channelなにそれやjava8のstreamもなにそれのひとをしばしば見かけるわ
初心者向けサイトが未だにstream使ってるところが多いからそのままnio知らずにやってんだろうなぁって思う

53:デフォルトの名無しさん
16/06/08 16:43:46.23 BCgime2A.net
>未だにstream使ってる
未だにInput/Output Streamを使ってる

54:デフォルトの名無しさん
16/06/08 17:27:08.74 EYWDZbyT.net
>>50
それって何をやらせた時なんだろうね?

55:デフォルトの名無しさん
16/06/08 18:21:37.35 Q4ck869A.net
昔はJavaは確かにCよりずっと「速い」ことがあった。
だが、Javaのバーチャルマシンを開発した本人によると、
それはバグのせいであったとさ。普通行われているベンチマークの
測定の仕方には問題があって、大勢がそうした「誤ったやり方」を
していたおかげでJavaの方が速いと言われていたのだが、
ちゃんとした測定をやるとCの方が速くてJavaは遅かったという
常識的な結論に至るのだよ。開発者自身が認めているんだから
そうなんだろ。
Cの20倍速いというのはその「間違った方法」を踏襲している
昔の論文だよ。

56:デフォルトの名無しさん
16/06/08 18:44:31.08 kX/X1XCc.net
下記にメモったプログラムでLED_2_ONを押すとパケットで送り続ける
ようにしたいんですが、教えてください!やり方は問いません!!
URLリンク(plsk.net)
最初書き込み先まちがえました!

57:デフォルトの名無しさん
16/06/08 19:14:28.31 dkuXgh3b.net
>>56
androidっぽいのでスレチでは?

58:デフォルトの名無しさん
16/06/08 19:24:24.39 kX/X1XCc.net
>>57
スレ違いでしたか!申しわけありません。

59:デフォルトの名無しさん
16/06/08 19:45:25.60 bHvDUpho.net
速度の話しもそろそろスレチ気味だろ

60:デフォルトの名無しさん
16/06/08 23:16:40.18 7xYKaWGH.net
javaを業務の合間に勉強しようと思い2週間程いろいろなHPを見ていますが、
ここのHPの内容を一通り見れば理解できるかも ってど素人に都合のいいサイトありますか?
あと僕が理解できなかったとこなんですが、以下のサンプルで
import java.util.***
public class AAA { ←①
static public void main(String[] args){
AAA aaa = new Arrylist [] ←②
for ( ){
--なんしかの処理
}
void BBB {
--なんしかの処理
}
 }                ←③
①でクラスAAAを定義してそのクラスの定義途中?で②のAAAクラスのオブジェクトを作成するって、
何かが僕の中で引っかかって悩んでいます。
①から③の内容を全て包括したのが、②であるなら②以降③の処理までは②の時点でリードしてないんじゃ・・・
という初歩的なものです //卵が先?親鳥が先?みたいな感じなんですが
うまく説明できずにすみません。こんなので悩むってことは、基礎の基礎からやり直せって事なんですかね?
2週間で納得できた事は、UNIXの xargs と String[] args が似たようなもんだったんだ。というくらい(泣)

61:デフォルトの名無しさん
16/06/08 23:36:07.42 E3Y0fydP.net
関数の巻き上げかも。
巻き上げとは、下の行で定義した関数を、上の行で呼び出せる
f(); → 呼び出せる
f(){ 定義 }
構文解析では、上の行を読んだ際、関数:f → シンボル未解決、のようにいったん処理しておいて、
下の行を読んだ際、関数:f → 定義あり、のようにシンボル表に書き込む
①円囲み数字のような、Windows固有の環境依存文字を使ってはいけない。
他のOSでは、読めないから

62:デフォルトの名無しさん
16/06/08 23:46:10.01 7xYKaWGH.net
>>61
回答ありがとうございます。
関数の巻き上げっすね。。。メモメモ
①②③はMacから記載してしまいました。
今後気をつけます。

63:デフォルトの名無しさん
16/06/09 01:11:31.02 xz94zbOX.net
>>60
java入門でググってでてくる、一番簡単なJava入門というサイトで自分は勉強した
後は入門書読んだり
質問の答え
mainメソッドはstaticでクラスに属するメソッドだから、AAAをインスタンス化しなくても実行できる
クラスはインスタンスの雛型みたいな存在で、staticメソッドやフィールドはその雛型を見て実行される。
ちなみにインスタンス化は、クラスのコピーをメモリに作ること
このサンプル、どこから見つけたか知らないけど、突っ込みどころ多すぎる
このサンプルの情報源は使わない方がいいかも
継承関係の無い型でインスタンス化してるし、インスタンス化の最後は()
ArrayListの間違え?ならジェネリクスの型指定も推奨される
void BBBはメソッド?
メソッドなら()が抜けてる上に、メソッドの中にメソッドを書いている謎
インナークラスでも無さそうだし

64:デフォルトの名無しさん
16/06/09 12:31:33.58 863pratv.net
>>61
丸で囲った数字はUnicodeに定義されているし元のエンコードであるWindows-31j(またはcp932)も今ではWindows固有のものではなくなっている。

65:デフォルトの名無しさん
16/06/09 12:34:01.10 58zVJbW4.net
>>64
おじいちゃんなんだよきっと

66:デフォルトの名無しさん
16/06/09 12:37:23.87 CSH5zx3A.net
拾うべきポイントは2ちゃんねるがどのエンコーディングを使ってるかと
クライアント(とブラウザ)が該当フォントをサポートしてるかどうかだろう

67:デフォルトの名無しさん
16/06/09 17:46:48.45 Ms1oj4bl.net
そういや今の2ちゃんはどうなったんだろ。専ブラは許可制にして何かやってたよね。書き込み内容の送信は今も変わらずcp932なのかな?

68:デフォルトの名無しさん
16/06/10 07:27:25.95 o8hFzx97.net
2chって、ダブルクォーテーションを使うと、そこで送信文が終了するよな?
いったいどうプログラミングしたら、そういうバグが出るのか、聞きたいよな?

69:デフォルトの名無しさん
16/06/10 07:33:35.22 FgCN9jAe.net
t”e”s”t

70:デフォルトの名無しさん
16/06/10 07:34:27.78 FgCN9jAe.net
ならなくね?

71:デフォルトの名無しさん
16/06/10 09:14:37.58 YX5Xpu4P.net
わろた
そんなわかりやすいバグあったらとっくに修正してるだろ

72:デフォルトの名無しさん
16/06/10 09:37:17.37 E5hpPV0K.net
>>68
それは初耳だが、その情報はどこから仕入れたのだ?

73:デフォルトの名無しさん
16/06/10 11:00:34.52 o8hFzx97.net
文章が切れているのを、しょっちゅう見かける
ダブルクォーテーションの次に、= を付けるだったかな?

74:デフォルトの名無しさん
16/06/10 11:02:49.19 FgCN9jAe.net
t”=e”=s”=t

75:デフォルトの名無しさん
16/06/10 11:03:32.71 FgCN9jAe.net
遊ばれている気がするし、何よりスレチだな・・・。

76:デフォルトの名無しさん
16/06/10 12:56:47.75 E5hpPV0K.net
専ブラのバグでは?

77:デフォルトの名無しさん
16/06/10 17:27:07.43 YiBZsNFP.net
釣られすぎだろ...

78:デフォルトの名無しさん
16/06/10 17:32:35.64 2OxUQDLt.net
o8hFzx97はNG~
スレ民釣れまくってるね

79:デフォルトの名無しさん
16/06/10 23:51:32.58 1F9oZ6BS.net
先生 ここの例題の解答例で分からないとこがあります。
URLリンク(www.techscore.com)
FileCopyExample.java の下記の場所の readerThread.join();は writerTThread.join();かな?と勝手に思って先に読み進めました
  writerThread.start();
        try {
            System.out.println("書き込み開始");
            readerThread.join();
            System.out.println("書き込み完了");
writerThread.start() で呼ばれるのはWriteImp.java のpublic void run() の{中身}なんですよね?
そう考えると1つ上に書いてある private String text = null; は何か別の意味があるのでしょうか?
public void run() の{中身}しかコールされないのに、なんであんな位置に・・・
こりゃぁ、手強そうと思い、amazonで「スッキリわかるJava入門」ポチりました。

80:デフォルトの名無しさん
16/06/11 00:47:14.15 NyI1yYzN.net
>>79
スッキリJavaは、実践編でないとスレッドの話はでてこない、残念
以下回答
WriteImp.javaのフィールドで変数textを宣言しているのは、
run()メソッドとsetText()メソッドの2つのメソッドでtextを使用しているから
setText()はmain()メソッドの中ほどで使われている(下記の部分)
//読み込んだデータを渡す
writer.setText(reader.getText());

main()メソッドの中身の簡単な流れを以下に
WritelmpとReadlampをインスタンス化(writer, reader)

readerのrun()メソッドをスレッドとして実行、join()する

readerのtextの内容をwriterのtextに渡す
writer.setText(reader.getText());

writerのrun()メソッドをスレッドとして実行、join()する
以上

81:デフォルトの名無しさん
16/06/11 00:52:49.52 NyI1yYzN.net
>>80
追記
下のreaderThread.join()はwriterThread.join()の間違えたでいいと思う

82:デフォルトの名無しさん
16/06/11 08:54:03.40 mzLyb6AV.net
本に出てるコードって実行確認しないで書いてるのかと思う時あるけどあり得るのだろうか?

83:デフォルトの名無しさん
16/06/11 10:53:40.26 igPKgwcR.net
>>82
あまりにも短くて簡単なサンプルプログラムだとあるかもな。まあ、著者がどういう人かにもよるだろうけど。

84:デフォルトの名無しさん
16/06/11 13:19:09.25 ppFl8ALU.net
実行してるのは著者じゃなくて実は編集担当だったりする

85:デフォルトの名無しさん
16/06/11 16:09:28.63 Z8akOUlB.net
>>80
ありがとうございます。
run()メソッドとsetText()メソッドの2つのメソッドでtextを使用するのだから、共通で定義したいためこの位置で定義してる。
ということは、
例題ではスレッドでの呼び出しをした時、run()メソッドの中身を実行するのだけど、外で定義しているのもあるからrun()の書いてあるclass全部を読み込んでいる
という理解でいいですか?
追加質問ですみません
この場合に、run()以外のメソッドが複数あったとして、そのrun()以外のメソッドでのみ使用する変数をこの位置に宣言すると、
run()メソッドを実行するステップでは無駄にヒープ食っちゃうってこと?ですよね。

86:デフォルトの名無しさん
16/06/11 17:45:22.19 8E7fVOdN.net
>>85
Javaの場合、参照型の変数をメソッドやコンストラクタの引数として渡した場合、参照先が渡される
なので、
readerThread.start();
で実行されるのは、readerインスタンスのrun()メソッド
Thread readerThread = new Thread(reader);
いくらReadlmpクラスが大きくても、↑で使われるヒープ領域の大きさは変わらない
参照の話があいまいなら、スッキリの入門は役に立つと思う

87:デフォルトの名無しさん
16/06/12 06:24:35.36 jEWcwNCz.net
javaでツールを作れるようになるにはどういう順番でこれらの本を読めばいいですか?
まだjavaどころかプログラミング自体初心者なんですが・・・
スッキリ分かるjava入門 ← これは読みました
スッキリ分かるjava実践編
スッキリ分かるSQL入門
スッキリ分かるサーブレット&JSP編

88:デフォルトの名無しさん
16/06/12 06:55:00.43 E6s9UVRT.net
ツールってなんだよ。
GUI作るならJavaFXの書籍でも買ったら?
WebならSpringBootとかが簡単。

89:デフォルトの名無しさん
16/06/12 07:07:57.13 jEWcwNCz.net
そうですねGUIでツールとか作ってみたいです
ただプログラミング関してはスッキリ分かるjava入門しか読んだことがないくらいの初心者なので
難しいとこに一気に行かないで凄い簡単なところから押さえていきたいと思ってます

90:デフォルトの名無しさん
16/06/12 07:18:20.29 jEWcwNCz.net
教えていただいたjavaFXで検索してみて
URLリンク(libro.tuyano.com)という入門サイトを見つけたのですが
最初から難解すぎて無理でした
やっぱりもっと難易度の低いことからやっていきたいんですがどうすればいいですかね?

91:デフォルトの名無しさん
16/06/12 07:29:40.94 E6s9UVRT.net
>>90
スッキリ分かるjava入門をちゃんと理解していればわかるレベルだと思うけれど・・・。
もう一度読み直すことをおすすめする。
分からないようなら別の入門書を買うと良いかな。

92:デフォルトの名無しさん
16/06/12 07:32:13.73 iLaG31hG.net
android向けアプリなら、android studioとか

93:デフォルトの名無しさん
16/06/12 07:54:15.23 jEWcwNCz.net
>>91
本当ですか
でもnew TextField()こういう書き方は自分の読んだ本では習ってないですし
text field ts = new textfield() 自分が習ったのは今のとここういう書き方だけなので
やってないことがいきなり説明なしで出てくるのは入門者にはきついなーと。
でも読み直してみますね
>>92
PC向けのアプリを作れるようになりたいです
もう一冊なんかjava入門署買った方がいいですかね?

94:デフォルトの名無しさん
16/06/12 09:52:43.64 t/75fpdt.net
>>93
よくソース嫁
ちゃんとfield = new TextField()になってるから

95:デフォルトの名無しさん
16/06/12 18:31:57.63 0Tx3x2++.net
ほんとだ、見落としてました。すいません
何か問題集みたいのやってからjavafxやってみます。ありがとうございます。

96:デフォルトの名無しさん
16/06/12 20:39:25.19 nE4rQ5a5.net
           YES → 【ヒットした?】 ─ YES → なら聞くなよ。死ね。
         /                \  
【検索した?】                     NO → なら、ねぇんだろ。死ね。
         \                   
            NO → ググれカス

97:デフォルトの名無しさん
16/06/12 22:59:55.02 M5SgNxqb.net
ここ質問スレだしな
嫌なら見なければいいんじゃね

98:デフォルトの名無しさん
16/06/13 01:06:10.78 wz/IwBiJ.net
初心者スレだから本スレと同じノリでやられてもね
本当に嫌なら見なければいいだけ

99:デフォルトの名無しさん
16/06/13 23:56:41.17 MswW6dFx.net
>>80,86
先程、スッキリJavaの6章までは、理解しにくい箇所もなくあっさりと読めました。7章からがオブジェクト指向関連みたいです。
うんーん >>85 で書き込んだ
>例題ではスレッドでの呼び出しをした時、run()メソッドの中身を実行するのだけど、外で定義しているのもあるから
>run()の書いてあるclass全部を読み込んでいる という理解でいいですか?
これがまだしっくりこない。
writerThread.start();で呼ばれるのがrun()の中身と解説あるのに・・・うーん
今後、勉強を進めていったら納得できるのだろうか。
スレッドに関しては、今の本には載ってないとの御指摘がありましたので、
スッキリ分かるjava実践編 ポチってきますわ

100:デフォルトの名無しさん
16/06/14 02:03:19.71 BG5MvUh2.net
たぶん言語処理系がどういう挙動をしてるのかイメージ出来てないんだと思う
メモリ配置と密接なC言語とかを多少触ってみるのもいいかも知れないね

101:デフォルトの名無しさん
16/06/14 06:50:12.56 OkjQ5JpN.net
>>99
オブジェクトの部分で躓いてるようなので、スレッド抜きに考えてみる
        Readlmp reader = new Readlmp();
        Writerlmp writer = new Writerlmp();
        reader.run();
        writer.setText((reader.getText());
        writer.run();
main()メソッドの一部抜粋で、スレッド抜きにするとこんな感じ
インスタンス化すると、ヒープ領域にclassのコピーが作られる(staticメンバ以外)
そのコピー(reader,writerインスタンス)のrun()メソッドが実行される

>例題ではスレッドでの呼び出しをした時、run()メソッドの中身を実行するのだけど、外で定義しているのもあるから
>run()の書いてあるclass全部を読み込んでいる という理解でいいですか?
スレッドのインスタンスを生成するときに、reader,writerを引数に渡している
つまり、あらかじめ作ったclass全部のコピーを渡しているということ(正確にはコピーの参照先)
それでスレッドは、reader,writerインスタンスのrun()メソッドを実行している
スレッドの生成をしたときにclass全部を詠み込むのか?
この質問だと、順序が逆で
class全部を詠み込んだもの(インスタンス)を使って、スレッドを生成をしている、ということ
6章までこのペースで理解できてるって、かなり早い
実践編の方は、オブジェクトを使いこなす方法がかかれているから、この辺の事も理解が深まるかもしれない

102:デフォルトの名無しさん
16/06/14 06:54:37.25 lIuNMU+7.net
自分も入門書を読んでるんですが
interfaceとabstractの使い分けと違いがよく分かりません。
どういう風に使い分ければいいんでしょうか?

103:デフォルトの名無しさん
16/06/14 08:24:35.05 ezeB3LKI.net
普段は省略してるがinterfaceはabstractが宣言されている
強調したいなら使ってもいいことになっている

104:デフォルトの名無しさん
16/06/14 08:37:29.57 lIuNMU+7.net
>>103
すいません、言葉足らずでした
abstractクラスとinterfaceのクラスの違いです
どっちも似たようなものだと思うのですが、どう使い分ければいいですか?

105:デフォルトの名無しさん
16/06/14 08:37:37.88 BcKyLCvc.net
>>87-95
ツール作りなら、まずスッキリJavaで、オブジェクト指向を学ぶ
その後、この2冊を順に読む
たのしいRuby 第5版、2016
みんなのPython 第3版
これでひとまず基礎ができるから、その後、JavaFX・C#・VB など、進路を決めればいい
>>102
interfaceは継承と関係ない。お手軽な機能付加。
ダックタイピング。何でもアヒルのように鳴くものは、アヒルでいい
abstractは継承の親クラスで、それ自体は実体化しないもの。
概念だけの親クラス
例えば、3角形・4角形・円クラスが実体化できるとき、
親クラスに実体化できない、図形クラスを作り、そこに図形の共通概念を、持たせる

106:デフォルトの名無しさん
16/06/14 09:30:09.41 w21XDQC+.net
そういや Java 8 からは interface なのにメソッド持てるようになったらしいが、うなると普通のクラスや abstract グラスとの違いは多重継承できるか否かだけにならんか?

107:デフォルトの名無しさん
16/06/14 09:30:37.41 w21XDQC+.net
うなると、じゃねえ、そうなるとだ。w

108:デフォルトの名無しさん
16/06/14 10:01:04.02 lIuNMU+7.net
>>105
あ、関係ないものなんですね。どっちも抽象的な物で使い方も一緒で違いが分からずもやもやしてました
ありがとうございます

109:デフォルトの名無しさん
16/06/14 10:08:10.94 YK2fMq3I.net
>>106
インターフェイスは状態の保持はできない(static finalで共通のは持たせることはできるが)
あとメソッドのアクセス修飾子もpublicのみだし

110:デフォルトの名無しさん
16/06/14 13:59:47.46 BcKyLCvc.net
abstract : is-a は継承
interface : has-a は機能・部品を持つ。ダックタイピング
継承は、車・消防車、哺乳類・人間みたいな関係
interfaceは、無関係な機能を組み合わせたもの。
冷蔵庫や携帯電話に、インターネットできる画面を付けたなど

111:デフォルトの名無しさん
16/06/14 14:27:20.53 YK2fMq3I.net
このレベルの初心者に用語だしてこういうものって言っても多分わからないと思うぞ
まずそれぞれ実装時に何が出来るかだけでいいんじゃないか

112:デフォルトの名無しさん
16/06/14 15:45:01.46 SkK7ctA3.net
オブジェクト志向はアルゴリズムの実装と相性が悪い。

113:デフォルトの名無しさん
16/06/14 15:51:31.26 SkK7ctA3.net
今、HTML5パーサーのJava実装とJavascript実装見てる。
Java実装はC++に機械的な変換を出来るように書かれているが、NOCPPという
キーワードでくくって、C++で必要ない部分が削除されるようになっている。
Javaはオブジェクト志向に特化しすぎたせいで、非常に冗長な記述を必要とする。
Javascript実装は仕様通りに冗長さのないコードとなっている。
しかしおそらくバグのないコードを書くのは困難だろう。
C++が一番書きやすそうに見えるが、しかし覚える事柄もまた


114:一番多いだろう。



115:デフォルトの名無しさん
16/06/14 20:47:19.11 k/dxUxLz.net
>>109
あ、そーか。そうだね。

116:デフォルトの名無しさん
16/06/14 21:54:08.96 +YH//64E.net
みんな優しいんだな。
>>101
>例題ではスレッドでの呼び出しをした時、run()メソッドの中身を実行するのだけど、外で定義しているのもあるから
>run()の書いてあるclass全部を読み込んでいる という理解でいいですか?
Readlmp reader = new Readlmp();
 これはReadlmpクラスをテンプレにしたreader(ここでは単なるクラス変数名)を定義。
 Readlmpクラスのコンストラクタを引数なし呼び出して、インスタンスを作成してreaderと命名。
この時点で、Readlmpクラスはまるっと読み込んでますね。
後からディスパッチするrun()の時点では、Readlmpクラスまるっと読み込み済みのインスタンスを使ってるんですね。
少しずつ理解出来てきたような気がします。
皆々様、有難うございます。

117:デフォルトの名無しさん
16/06/15 22:22:36.18 ornso/cN.net
有限会社ナレッジデザインのオラクル認定資格教科書『JavaプログラマSilver SE8』p.193 練習問題5-2について、解説を読みましたがよくわからなかったため質問させていただきます。
1. public class Test{
2. final int a;
3. Test(int b){a = b;}
4. void method(int c){a = c;}
5. public static void main(String[] args){
6. Test t = new Test(10);
7. t.method(20);
8. System.out.println(t.a);
9. }
10. }
上記のコードで2行目の変数aがfinalで修飾されているため定数になっていることはわかりました。
そして3行目で変数bを定数aに代入しようとしているためコンパイルエラーとなると判断しました。
しかし、解説では「このコードでは宣言時に初期化していませんが、コンストラクタを使用して初期化しているため問題ありません。4行目のmethod()によって値の変更を行おうとしているため、4行目でコンパイルエラーとなります」となっていました。
なぜ、3行目ではコンパイルエラーとならないのでしょうか?回答よろしくお願いいたします。

118:デフォルトの名無しさん
16/06/15 22:37:42.91 ornso/cN.net
>>116
自己解決しました。
2行目では変数宣言しただけで初期値の代入を行っておらず、3行目で初期値の代入を行っているため、値を変更しようとしている訳ではないということですね。
低レベルな質問をしてしまいすみませんでした。

119:VHR12JC10V1
16/06/16 00:52:55.40 0zEDpCjN.net
AP層との通信に失敗しました。:[[A1S1E001E] com.fujitsu.mc.a1.scm.MCPiException@23435555
復帰コード = 7051 メッセージ = "予期せぬ例外"java.net.NoRouteToHostException"を検出しました。
[java.net.NoRouteToHostException: ホストへの経路がありません]" ログ出力済フラグ = true ]
12301866845301177551304949583849627207728535695953347921973224521517264005
07263657518745202199786469389956474942774063845925192557326303453731548268
50791702612214291346167042921431160222124047927473779408066535141959745985
6902143413
=
33478071698956898786044169848212690817704794983713768568912431388982883793
878002287614711652531743087737814467999489
X
36746043666799590428244633799627952632279158164343087642676032283815739666
511279233373417143396810270092798736308917

120:デフォルトの名無しさん
16/06/16 06:14:57.31 SL8rnu8/.net
javaの入門書一冊読み終えたのですが
何か次にステップアップするのにお勧めな本教えてほしいです

121:デフォルトの名無しさん
16/06/16 07:27:24.00 tOwQ8tvq.net
>>119
>>16
参照

122:デフォルトの名無しさん
16/06/16 08:07:28.45 SL8rnu8/.net
>>120
ありがとうございます。そこは既に見たんですが同じシリーズの本しかなかったので
ほかにないかなと

123:デフォルトの名無しさん
16/06/16 10:47:41.35 nWEOMA1G.net
コマンドライから任意の数字を入力できる
1~6以外の数字の場合入力が不適切ですと表示させ入力を繰り返す
乱数を発生させて、入力した文字と比較させ勝ち負けを判定する
上記のプログラムを書きたいのですが任意の数字を打ち込むところができません。
途中までのソース
URLリンク(ideone.com)
助けてくだしゃい

124:デフォルトの名無しさん
16/06/16 10:55:51.11 4Jb6Z0TN.net
if(1<= a && a <= 6)

125:デフォルトの名無しさん
16/06/16 11:00:37.83 tOwQ8tvq.net
while(true){
System.out.println("1~6までの数字を入力してください");
Scanner scan1 = new Scanner(System.in);
変数、scan1を使ってないじゃん
1行ずつ、デバッグ実行して、watch画面で、変数の内容を確認しながら、進めていく

126:デフォルトの名無しさん
16/06/16 11:28:56.80 4Jb6Z0TN.net
Javaの宿題スレってないんだな

127:デフォルトの名無しさん
16/06/16 11:39:41.46 rpc5DFq+.net
ここまでいったんだけど、最後のソースに到達しないみたい
main内に書いてると思うんだけど
改善後URLリンク(ideone.com)

128:デフォルトの名無しさん
16/06/16 11:53:56.43 4Jb6Z0TN.net
breakしろ

129:デフォルトの名無しさん
16/06/16 11:59:32.79 rpc5DFq+.net
できたわ。
助かった。

130:デフォルトの名無しさん
16/06/16 12:26:51.68 0I01+HHK.net
while (true) を目にして動悸・息切れ・目眩などの諸症状に襲われずして
まともなプログラマにはなれない

131:デフォルトの名無しさん
16/06/16 12:52:21.14 CbGXrP8u.net
やっぱ for (;;) でしょ

132:デフォルトの名無しさん
16/06/16 14:17:45.10 C5pKIuJR.net
String.split()メソッドを使い、文字列を内部のピリオドで切り分けたいのですが
\(ピリオド)が未定義で使えません
どうしたら良いのでしょうか?

133:デフォルトの名無しさん
16/06/16 14:18:29.15 rfuHgD6o.net
\\.

134:デフォルトの名無しさん
16/06/16 14:57:37.10 bI+aCDek.net
>>132
オゥ・・やってみます
有り難う御座いましたっ

135:132
16/06/16 17:51:30.93 GkUFfn3X.net
>>133
ちなみに一応説明しとくと
splitは性器表現だから文字としてのピリオドを認識させたい場合にはエスケープ文字の\をつけて「\.」とする必要がある。
Javaの文字列「\.」を表示する場合、Javaでも\はエスケープ文字となるから、文字としての円マークを認識させるには\\となる。
だから最終的に正規表現でドットを文字列として認識させたい場合「\\.」となる

136:デフォルトの名無しさん
16/06/16 19:15:09.43 bI+aCDek.net
なるほど
java制御文字→正規表現での解釈と二重構造なんですね 勉強になりました

137:デフォルトの名無しさん
16/06/16 20:31:12.17 s0EsHX7v.net
性器表現
なんという素晴らしい表現

138:デフォルトの名無しさん
16/06/16 20:41:42.52 25qEXxzA.net
javaとかいう糞言語
速くもないし可読性も悪い
色んな書き方が出来るせいで
コーディング規約が難解で誰も守らないという

139:デフォルトの名無しさん
16/06/16 20:53:19.99 s0EsHX7v.net
>>137
じゃあお前が理想の言語作れ
とりあえずJavaへのコンバーターでもいいから

140:デフォルトの名無しさん
16/06/16 22:07:02.77 KwcabU8B.net
ど素人です...javaを始めたばかりで、くだらない質問ですが、どなたか助けて頂けないでしょうか?複数選択のチェックボックスについて、質問があります(T_T)エクリプス環境下で開発しています。

141:デフォルトの名無しさん
16/06/16 22:44:29.82 91QZsnGl.net
>>139
で、質問は?

142:デフォルトの名無しさん
16/06/16 22:57:50.42 KwcabU8B.net
ご返信ありがとうございます。
複数のチェックボックスを選択し、DAOでselectとupdateで、DBへ書込みと更新をしたいです。
その際に、チェクされたものは「1」へ格納され、最終的にJavaのarray<string>に"01,02..."のように入れたいです。
現在、エンティティとダオは読み込めているようなのです。チェックされたものを「1」へ格納され、list化する部分がわかりません。javaで、if文で格納で良いのでしょうか?
文章力知識共にないので、乱雑な文章をお許しください。

143:デフォルトの名無しさん
16/06/16 23:11:25.70 L6uV1SZP.net
「1」へ格納の意味が分からん

144:デフォルトの名無しさん
16/06/16 23:24:42.80 KwcabU8B.net
>>142
チェックされたものは、「1」。チェックされなかったものは「0」で置いておきたいです。別ページで、チェックされたものを再度読み込んで表示するためです。

145:デフォルトの名無しさん
16/06/16 23:54:29.08 L6uV1SZP.net
チェックボックスってJCheckBoxとか?jsp?

146:デフォルトの名無しさん
16/06/16 23:59:32.86 KwcabU8B.net
>>144
(h:selectManyCheckbox)をxhtmlで入れています。

147:デフォルトの名無しさん
16/06/17 00:11:56.31 oUaRcFkA.net
登録ボタン押したときにjava側にチェック状態渡せてんなら>>141で言ってるように
List<String> checkList = new ArrayList<String>();
if(チェックされてれば){
checkList.add("01");
}
てな事をやれば良いんじゃない

148:デフォルトの名無しさん
16/06/17 00:20:45.56 YeXpyiC7.net
>>146
そうですよね...本当に初歩なのですが、登録ボタンは、xhtmlに入れて良いのですよね?
それから、if()←の()内が、私が理解出来ていないのかもしれません。checkbox=checkedで良いのでしょうか?

149:デフォルトの名無しさん
16/06/17 00:39:52.03 oUaRcFkA.net
すまんがJSFを使ったことが無いので分からん
あと値の比較は==だ
多分その感じだとBeanクラス作ったりBean指定したりも出来てないんじゃ無いか?
いきなり難しいことから始めないでjavaの勉強を先にした方が良いぞ

150:デフォルトの名無しさん
16/06/17 00:43:39.00 YeXpyiC7.net
>>148
ご指摘、ありがとうございます(T_T)
その通りなんです...ただ仕事で、始めから作ってみろーみたいになってしまっていて。もうどうして良いか...本当に、訳のわからぬ者に答えていただき、感謝です。

151:デフォルトの名無しさん
16/06/17 00:47:50.71 oUaRcFkA.net
それは酷いな
最初のうちはとにかく聞きまくるしか無い

152:デフォルトの名無しさん
16/06/17 00:54:11.22 YeXpyiC7.net
>>150
そうですよね...なんだか、とっても背中を押して頂いた気がします。有難いです。

153:デフォルトの名無しさん
16/06/17 01:00:02.96 jYlDfS4o.net
会社なら、他にリソースあるだろ

154:デフォルトの名無しさん
16/06/17 01:02:49.90 YeXpyiC7.net
>>152
明日相談してみます。お付き合いいただき、ありがとうございました。

155:デフォルトの名無しさん
16/06/17 10:31:29.18 TgUNX6A4.net
JavaのClassについて教えてもらいたいんだけど
「新しいクラスを作成したら、必ずtoString、equals、hasCodeなどをオーバーライドしないといけない」とか読んだ
これってLL言語では見かけないので、良く分からなくて
何か定石とか、定例文のようなものってあるの?
漠然としすぎていてサッパリ分からないんだけど

156:デフォルトの名無しさん
16/06/17 12:11:30.28 Jw6Vo/h3.net
それはそのシステムの特性なのでは

157:デフォルトの名無しさん
16/06/17 12:42:49.53 7/Cp3IRC.net
>>154
必ずではない。ただし作っておけば自分の意図した通りになる。

158:デフォルトの名無しさん
16/06/17 13:08:42.96 dxjEzlRD.net
必ず


159:オーバーライドしなきゃいけないってどんな教えだよ おまじないよりたち悪いな



160:デフォルトの名無しさん
16/06/17 13:24:24.48 CYdk5Mt/.net
>>154
ちなみにそれはどこで読んだんだ?

161:デフォルトの名無しさん
16/06/17 17:03:56.92 TgUNX6A4.net
スッキリの実践P118
「必ず」とハッキリと書いてある
ってか自分もシステムに依存するとは思うけれど、そうは言われてもあまりにも漠然としすぎてて
基本的にオーバーライドして実装するテンプレートみたいなものがないのかなぁ、と
サンプルでもあれば分かりやすいとは思うんだけど

162:デフォルトの名無しさん
16/06/17 17:54:11.66 CYdk5Mt/.net
そういう悪書はブックオフでいいと思うよ、いやわりとマジで

163:デフォルトの名無しさん
16/06/17 18:10:03.48 XNEe7Ys+.net
いつ、誰に、どのような使われ方をするかわからないから取り合えす、オーバーライドしとけよって書いてあるね

164:デフォルトの名無しさん
16/06/17 18:12:15.82 jYlDfS4o.net
それだけでもうその本は信用できねーな

165:デフォルトの名無しさん
16/06/17 19:47:24.62 l8TNEkGu.net
出版物に書いてあるのかよ(驚愕
どうせコーディング規約だと思ってた

166:デフォルトの名無しさん
16/06/17 20:02:50.16 XNEe7Ys+.net
そのままは書いていないよ。まぁしっかり本を読むことだね~

167:デフォルトの名無しさん
16/06/18 08:40:28.37 8GpUPXrh.net
Setに入れるのに同一性を保ちたいとかあるからね
EclipseとIntelliJはそれらを自動で作成してくれるコマンドがあるよ

168:デフォルトの名無しさん
16/06/18 14:13:19.66 w9zLlF5g.net
むしろlombokが楽

169:デフォルトの名無しさん
16/06/18 21:56:09.89 QKdVDmdU.net
toString、equals、hasCode
この3つは、Rubyなど、どの言語でも最初に考える
Apache Commons Lang に、Builder がある
EqualsBuilder
HashCodeBuilder

170:デフォルトの名無しさん
16/06/19 11:05:14.00 gzsVn/8O.net
URLリンク(qiita.com)
toString() / equals() / hashCode()のオーバーライドについて
第1部 第4章
classを作成した時は、これらのメソッドをオーバーライドしないと、
コレクションが正しく動作しない場合がある。
~~~~~~~~~~~~~~

一応こういう条件付きで書いてあるようだ。

171:デフォルトの名無しさん
16/06/19 11:20:02.62 v9j4Ju2+.net
無断転載されても逆に面倒くさいしJava言語仕様に書かれてないことを吹聴してるクソ、で結論は出ているだろ

172:デフォルトの名無しさん
16/06/19 12:03:54.21 3rB45jJy.net
ようするにわかりませんてことか。

173:デフォルトの名無しさん
16/06/19 13:40:43.89 oY7TlxuV.net
Rubyでは、一番厳しい等値判定は、オブジェクトIDを使う。
この場合、オブジェクトの内容が同じでも、別のオブジェクトなら非等値になる
オブジェクトをソートに使うのなら、先に、<=> UFO・宇宙船演算子(Comparable)を定義する
ハッシュの等値は、UFO演算子の、= の別名にするか、独自に定義する
3 == 3.0 → ソートでは等しい
3 == 3.0 → ハッシュでは異なる

174:デフォルトの名無しさん
16/06/20 22:14:00.85 zVDaZ2+M.net
eclipseでプログラム完成したんだけど
javaってどれが最終的な実行ファイル?
Windowsでクリック実行するにはバッチみたいのが必要なんでしょうか?

175:デフォルトの名無しさん
16/06/20 22:17:20.00 g0Cn2Mhi.net
.classファイルもしくは.jarファイル
起動するにはjavaコマンドでmainメソッドがあるクラスやらなんやらを指定する

176:デフォルトの名無しさん
16/06/20 22:23:32.32 zVDaZ2+M.net
>>173
有り難うございます
使ったクラス群はビルドされて単体ファイルに含まれてるんでしょうか?

177:デフォルトの名無しさん
16/06/20 22:28:47.48 Tybwfjf0.net
javaのwebアプリを作ろうとしています。
フレームワークのJSTLを使おうとしておりますが、JSTLのインストールを
解説しているサイトではJSTLのサイトから
①javax.servlet.jsp.jstl-api-1.2.1.jar
②javax.servlet.jsp.jstl-1.2.1.jar
の2種をダウンロードすると記載されています。
①は難なくダウンロードできたのですが、②がどうやっても見つからず
ダウンロードできません。(一覧にあがってこない)
②はもう提供されていないのでしょうか。

178:デフォルトの名無しさん
16/06/21 05:06:56.47 ZRyqXqGn.net
スッキリ分かるjava入門を二回読んでみてスッキリしないことがあるので教えてください。
配列とかクラス型の参照型変数はアドレスを参照にしてるから
ブロック外で値を変えても、元の変数も値が変わる
こんな程度の認識しかないんですが大丈夫ですか?今は
それともう一つ
実行環境を整えずにdokojavaでやってたせいか
packageとAPIについての知識が全くつかなかったんですがこの先これで大丈夫でしょうか?

179:デフォルトの名無しさん
16/06/21 07:25:54.45 jCImJq08.net
>>175
取り敢えず上だけいれて使えるか試してみた?

180:デフォルトの名無しさん
16/06/21 08:47:50.93 ZRyqXqGn.net
なんか日本語になってなくてごめん
変数を作るとメモリからアドレスを確保してそこに格納とか
プログラミング入門の段階で教えられても意味が分かりません
この参照型の仕組みを覚えておくと以降の章を読むのが楽になりますって書いてあるけど
全然参照型について理解出来てないけど普通に以降の章は理解できたしよくわかりません。。

181:デフォルトの名無しさん
16/06/21 09:07:55.94 oaiM5wE7.net
とりあえずは
int[] a = {1};
System.out.println(a[0]); //=> 1
{
int[] b = a; b[0] = 10;
}
System.out.println(a[0]); //=> ?

int a = 1;
System.out.println(a); //=> 1
{
int b = a; b = 10;
}
System.out.println(a); //=> ?
の実行結果の違いがわかって説明できればOK

182:デフォルトの名無しさん
16/06/21 09:28:50.43 rdnhr1yO.net
横だが>>179みたいのを手軽に試せる対話型のRELPみたいのってないのかな

183:デフォルトの名無しさん
16/06/21 09:50:15.02 rdnhr1yO.net
まさにJAVA RELPってのがあったんだな
スレ汚しすまそ

184:デフォルトの名無しさん
16/06/21 12:40:07.51 ZRyqXqGn.net
>>179
レスありがとうございます。
上は配列aの要素数0に1を投入してその後にb配列にaを代入してるから
ab両方とも同じアドレスを参照するようになってbに値を入れてもaも同じアドレを見てるから
実行結果は10になって
下はただの変数だからbにaを代入してもaは1のままで実行結果は1
でこんなんですが大丈夫ですか?今の段階では

185:デフォルトの名無しさん
16/06/21 12:50:54.05 F8rFyF6H.net
今の段階ではJavaREPLを使うのが手っ取り早いだろうな
EarlyAccessでよければJava9でjshellが実行できる

186:デフォルトの名無しさん
16/06/21 19:06:28.13 SKnRlXlV.net
>>182
Javaの場合はJavaのバーチャルマシンがメモリのアドレスを管理している。
読んでいる本がJavaの参照型をアドレスと言っているなら、その本はよくない。
Javaプログラムは実際のメインメモリのアドレスを意識しないし、通常、直接アドレスを扱ったりしない。
同じ領域を参照しているか、していないかだけ考えた方がいい。

187:デフォルトの名無しさん
16/06/21 22:11:55.71 jb5TwFgE.net
>>177
レスありがとうございます。
はい、
C:\Users\ユーザー名\Documents\NetBeansProjects\AAA\web\WEB-INF\lib
に格納して試しましたが、動作しませんでした。
入れるところが間違っているのでしょうか。
コードを実行すると、以下のメッセージが表示されます。
「C:\Users\ユーザー名\Documents\NetBeansProjects\AAA\build\generated\src\org\apache\jsp\response_jsp.java:124: エラー: パッケージorg.apache.taglibs.standard.tag.rt.sqlは存在しません」

188:デフォルトの名無しさん
16/06/21 22:23:04.45 F8M3kR9Z.net
Java歴6日目の者です。
次の2つのクラスを作りましたが実行できません。どこが悪いのでしょうか?
Calc.java:
public class Calc {
 public static int add(int x, int y) {
  return x + y;
 }
}
Main.java:
public class Main {
 public static void main(String[] args) {
  Calc c = new Calc();
  System.out.println(c.add(10, 5);
 }
}

189:デフォルトの名無しさん
16/06/21 22:24:53.94 91LhrXVC.net
さいごかっこなくね
てかエラー嫁
それでわからなかったらエラーもはっとけ

190:デフォルトの名無しさん
16/06/21 22:27:02.55 p8YkQE1T.net
printlnの行に)が足りないが
それが原因かは分からん

191:デフォルトの名無しさん
16/06/21 22:28:40.86 F8M3kR9Z.net
System.out.println(c.add(10, 5));
こうですね。ありがとうございます。

192:デフォルトの名無しさん
16/06/21 22:30:44.97 F8M3kR9Z.net
動きました!が、c.add(10, 5)に黄色い波線が出ています。
eclipseなのでコンパイルエラーとかは出てきません。
自動ビルドのようです。

193:デフォルトの名無しさん
16/06/21 22:31:02.43 rdnhr1yO.net
System.out.println(c.add(10, 5));にすればちゃんと15が出力されるよ

194:デフォルトの名無しさん
16/06/21 22:34:18.86 F8M3kR9Z.net
自己解決しました。
まだ意味は分からないのですが、
public static int add(int x, int y){}
が間違いで、
public int add(int x, int y){}
が正しいようです。

195:デフォルトの名無しさん
16/06/21 22:46:02.71 p8YkQE1T.net
newでインスタンス化する場合はstaticをつけない
逆にstaticを付けたんなら
newせずに呼び出す
int i = calc.add(10,5)
staticならこれでok

196:デフォルトの名無しさん
16/06/21 22:48:42.66 F8M3kR9Z.net
エラーではなくウォーニングでした。
型Calcからのstaticメソッドadd(int, int)にはstaticにアクセスする必要があります
だそうです。

197:デフォルトの名無しさん
16/06/21 22:50:25.36 F8M3kR9Z.net
>>193
ありがとうございます。
今自分でその法則を見つけたところでした!本には書いてなかったことです。
糞本ですね。

198:デフォルトの名無しさん
16/06/21 22:56:06.36 p8YkQE1T.net
>>195
staticだとnewで複製出来ない
つまり静的と覚えるといいとかなんとか

199:デフォルトの名無しさん
16/06/21 22:58:31.01 F8M3kR9Z.net
Cで言えばnewはmalloc()で「動的」に生成するのに似ていますね。
メソッドは持てませんが。
static(性的)↔dynamicとは書かかないがnewしたものは「動的」

200:デフォルトの名無しさん
16/06/21 23:00:30.41 F8M3kR9Z.net
publicをどうしてもpubic([形]恥部の)と打ってしまいます。

201:デフォルトの名無しさん
16/06/21 23:55:50.40 ZRyqXqGn.net
>>184
多分有名な本なので自分の読み取り方がおかしいと思います
クラス型変数と配列型は同じ参照型ってとこだけはしっかり覚えてるんですが・・・
ま田読み直してみます。ありがとうございました

202:デフォルトの名無しさん
16/06/22 00:29:49.02 22itTy2z.net
すみませんJavaを始めたばかりなんですが、JavaでVRAMに直接
数値をぶち込みたいときは何というAPI?を使えばいいのでしょうか?
OSはWindows10です。

203:デフォルトの名無しさん
16/06/22 01:12:00.02 JttLZ32V.net
>>200
それってDirect Xじゃない?
Javaではそういうことを標準ライブラリで定義してないと思う。

204:デフォルトの名無しさん
16/06/22 01:14:15.59 JttLZ32V.net
>>199
アドレスでもいいけど、詳しい先輩に馬鹿にされるかもしれないから、アドレスとは言わない方がいい。
C言語やC++ならアドレスでいいんだけど。

205:デフォルトの名無しさん
16/06/22 01:15:22.20 JttLZ32V.net
初心者はJavaの資格本を見て勉強した方がいいよ。
よく説明してくれている。

206:デフォルトの名無しさん
16/06/22 04:50:59.05 jdKVcriH.net
>>176
初心者にとって、自分のPCに、実行環境を整えるのは難しいから、
paiza.IO, codepad など、オンラインでブラウザから実行するのが簡単
君が、packageを配布するのは、数年先の話
>>185
プロジェクト以下の階層の説明書を読む
よく知らないけど普通、そういう基本的なライブラリを、プロジェクト以下の階層には置かない
プロジェクト内で使うライブラリには、参照設定もいるかも

207:デフォルトの名無しさん
16/06/22 05:52:02.09 B8zHiD7N.net
>>201
ありがとう。DirectX自体知らなかったので調べてみたらC++で使うものの
ようですね。言語選択間違えたかな・・・
やりたいことはVRAMに直接描画orバッファに描画して一気に画面に転送です。

208:デフォルトの名無しさん
16/06/22 05:58:38.08 B8zHiD7N.net
setRGB(int x, int y, int rgb)をもっともと早くしたものがほしいです。

209:デフォルトの名無しさん
16/06/22 09:13:21.47 Tgnq0neu.net
>>192
間違いではないのだが普通はそうしないということだよ。
間違いではないからコンパイルも通るし動きもする。

210:デフォルトの名無しさん
16/06/22 09:36:07.90 sEqYA8cS.net
>>200
出来ることと出来ないことを峻別して僕らを守ってくれる
それが Java
スピードを徹底追求したりデバイスに近い操作やりたいなら
C/C++

211:デフォルトの名無しさん
16/06/22 09:42:38.46 J9iAud+O.net
>>205
標準ライブラリじゃないけどJava OpenGLあたりのこと言ってる?

212:デフォルトの名無しさん
16/06/22 22:53:15.11 T2xlVJrg.net
>>209
それも気になっています。
やりたいことは
URLリンク(www.youtube.com)
こんなかんじのCGです。

213:デフォルトの名無しさん
16/06/22 23:04:15.84 JttLZ32V.net
>>210
それをやるのにVRAMに直接書かなきゃいけないの?
しかもリアルタイムなの?動画なの?

214:デフォルトの名無しさん
16/06/23 00:50:16.13 DiuUSWJF.net
俺の部署VB.net しか使わないせいで俺以外にオブジェクト思考のこと理解してるやついないんだけど、
Javaベースで実用的な例(Iwalkableをimplementsした抽象Animalクラスとかでなく)を使ってポリモーフィズムやインターフェースを解説してる書籍って何があるかな?
自分一人で例を考えてみてもDBアクセス用クラスとか画面遷移とかstaticユーティリティ多用したものがすでにあるから説明しても使ってくれないんだよな

215:デフォルトの名無しさん
16/06/23 00:51:38.88 DiuUSWJF.net
オブジェクト思考とか誤変換してる時点で俺ももうダメだわ

216:デフォルトの名無しさん
16/06/23 01:00:06.51 SCzPIfsN.net
>>212
その現場はオブジェクト指向プログラミングでなくてもいいからでは?
しかもVB.NETてオブジェクト指向を教えている本はたくさんあるだろ。

217:デフォルトの名無しさん
16/06/23 08:36:36.22 7w307aVI.net
VB.NETはVBやExcelVBAからの乗り換えとして機能してるだけでいい加減C#に切り換えた方がいい
つまりVBとC#の相互乗り入れという話になるはずだが、ここはJavaスレだしな

218:デフォルトの名無しさん
16/06/23 10:51:24.35 4K0I2xez.net
訂正箇所が分かりません。
ソースは、intのa+bを二つ戻り値なしと戻り値あり+String戻り値ありをコマンドラインに出力するソースです
一つ目のmainメソッドはコマンドラインに出力されるんだけどそれ以降のmain2とStringが出力されないんです。
どこがミスってるのかわからない。eclipsの方でデバッグしても普通に一つ目のmainメソッドが出力されちゃう。
ソースはここに貼っといたんで、訂正箇所のほうよろしくお願いします。
URLリンク(ideone.com)

219:デフォルトの名無しさん
16/06/23 11:28:24.27 7w307aVI.net
また宿題の相談か、昼食おごりなら代行してもいいよ

220:デフォルトの名無しさん
16/06/23 11:31:50.37 ZQfpp6dv.net
>>216
関数とはなんぞや をもう一度見直す
上から下に並べればその順序で実行 ではない

221:デフォルトの名無しさん
16/06/23 11:33:58.24 5cLPR00R.net
mainの中にmainときたもんだ
コピペミスか?

222:デフォルトの名無しさん
16/06/23 12:07:01.82 wbzhkfll.net
main
mainmain
mainmainmain
mainsubmain
mainsubsub
前の業務で見たことあるけど
思わず噴いたわ
やっつけかよ

223:デフォルトの名無しさん
16/06/23 12:17:21.21 evOVUb3R.net
貼っといたんでワロタwww

224:デフォルトの名無しさん
16/06/23 12:48:09.36 x8Tq2OJc.net
関数が実行されないなら、関数を呼び出す
関数の中身を書くのは、関数宣言・定義と言って、ただ処理を書くだけ。
その後、書いた関数を呼び出さないと、実行されない

225:デフォルトの名無しさん
16/06/23 14:36:18.17 2TDqU1Ps.net
プログラムに軽量なデータベースを組み込む事って可能ですか?
可能だとしたら何を使うのが一般的でしょうか?

226:デフォルトの名無しさん
16/06/23 14:46:13.43 evOVUb3R.net
何も条件が無いならsqliteでいいんじゃない?

227:デフォルトの名無しさん
16/06/23 14:50:55.79 2TDqU1Ps.net
>>224
単語は聞いた事あるので調べてみます
有り難う御座いました

228:デフォルトの名無しさん
16/06/23 16:30:09.42 SCzPIfsN.net
>>223
JavaならJavaのRDBを使えば?
OracleXEだって重くもないそ。

229:デフォルトの名無しさん
16/06/23 16:42:06.78 2TDqU1Ps.net
>>226
javaで書かれてるという事でしょうか
相性はとても良さそうですね
調べたらandroidでSQLiteが標準実装されてるようなので取り敢えずこっちを弄ってみようと思います
レス有り難うございました

230:デフォルトの名無しさん
16/06/23 16:57:30.83 SCzPIfsN.net
AndroidならAndroidと言えよ。

231:デフォルトの名無しさん
16/06/23 17:12:24.56 2TDqU1Ps.net
>>228
すみません、特に今のところandroid限定という訳でもないのです
全く使った事が無いので解らないんですがdbを組み込んだ場合、実行環境の方に特定のライブラリみたいな物をあらかじめ用意しておく必要があるんでしょうか?
もしくはそれに相当するものをアプリケーションと一緒に配付する感じですか?

232:デフォルトの名無しさん
16/06/23 17:52:32.38 SCzPIfsN.net
>>229
SQLiteなら一緒に配布するだけだろうけど、DBってRDBMSだぞ。
ミドルウェアなんだからそれなりの準備は必要。

233:デフォルトの名無しさん
16/06/23 18:13:38.09 g0w8fquD.net
まあAndroidで軽量なDBって要件だとほぼSQLiteでいいよ
SQLは覚えなきゃだけど、応用効くしな
開発機でも直接DBの中身見たりいじくるツールは揃ってるし

234:デフォルトの名無しさん
16/06/23 18:25:57.13 2TDqU1Ps.net
>>230、231
漠然とした質問ですみませんでした
是非使えるようになりたいので勉強してみます

235:デフォルトの名無しさん
16/06/24 08:24:45.41 CgW3+xL8.net
最近javaを触り始めようとしているものです。4個ほど質問があります。
将来的に ユーザー管理を最低限備えたかなりずっしりとしたアプリケーションを作成するのが目的で 値を共有をするためのアクセスカウンターを制作しようと考えているのですが、(1)増やしたカウンターを保持しておくためにはどういった方法があるのでしょうか。
知り合い伝にその関係で働いているそれなりの腕の人間だという方を紹介して頂きました。
その方からapache-tomcatやantといったアプリケーションを強く進められたのですが、そもそも(2)tomcatとは一体なんなんでしょうか。
説明サイトを何個かみたのですが その概要が一切伝わって来ないため、困っています。
触ってみたところ、tomcatというサーバーがあり、そこからantによってビルド、デプロイされたアプリケーションをサーバー内の一つのエリアとして保持し、そのtomcat上のアプリで変数やインスタンスが共有化できるんでしょうかね
その方が過去にそれらを使用し作成したサンプルにと用意していただいたソースを拝見したのですが、SQLサーバーといった物は一切使用せずに変数を共有しているようでした。
こういった作りの場合サーバーが停止した場合、そのデータは何処へ行ってしまうのか凄い不安なのですが、(3)サーバー停止時にもどこかしらに保持されるものなんでしょうか
その人曰く”大小問わず javaではこういう管理が普通”だと。私は今まで そういったデータを管理する際には必ずDBのサーバーやセーブデータと言った形で値を共有していたのですごく困惑しています。
本人に直接聞きたい所ではありますが、その方が理解せずに色々な話をしているように見えたので あまり突っ込んだ話は聞かなかったのですが (4)そういったアプリケーションの作り方が本当にjavaでは普通なのでしょうか。
長い上に”そんな事知るか”と一蹴されそうな内容で本当にすみませんが、一ヶ月程悩んでも答えが出なかったので 質問させて頂きました。
本質的な質問は最初の一つ(1)の部分ですが、分かる方がいましたら2-4の方もよろしくおねがいします。

236:デフォルトの名無しさん
16/06/24 08:36:50.03 6jwsLRlP.net
いきなり会場に連れてかれてフライパンとかオラクルとか買わされそうになった、という話じゃないのか
つまらん

237:デフォルトの名無しさん
16/06/24 09:10:14.11 JRbt+Ea2.net
>>233
トムキャットはアプリケーションサーバですが、JavaのWebアプリケーションを動かすミドルウェアだと思ってください。

238:デフォルトの名無しさん
16/06/24 09:12:32.79 JRbt+Ea2.net
>>233
その方はサーバ(ノード)が突然、落ちることを想定していないのでしょう。
少しおかしいと思います。
プログラマとしては優秀でもシステム全体を考えて作っている人は残念ながら少ないです。

239:デフォルトの名無しさん
16/06/24 12:07:29.96 xEd+6tYG.net
1. カウンターだけなら、ファイルに保存しても良いだろ
2. tomcatは、Webサーバー。
ブラウザから、http:~ で、そのサーバーにアクセスしたら、HTMLを返送してくれる。
そのHTMLをブラウザが解析して、ウェブサイトを表示する
3. サーバー内のファイルに保存してもいいけど、
ちょくちょくコピーした方が、安全。
これは、DBでも同じ
4. DBの代わりに、ファイルに保存するのは、システムが簡単な場合だろう

240:237
16/06/24 12:14:37.35 xEd+6tYG.net
2. スマン。tomcatは、アプリケーションサーバーだったな
ブラウザから、http:~ で、そのサーバーにアクセスしたら、
プログラム・DBなどを使って、その場で動的に、HTMLを作る
そして、作ったHTMLを返送してくれる。
そのHTMLをブラウザが解析して、ウェブサイトを表示する

241:デフォルトの名無しさん
16/06/24 14:01:11.67 86U5TWsJ.net
>>238
tomcatはWebサーバーだよ。
アプリケーションサーバーも正確には、Webアプリケーションサーバーだから。

242:デフォルトの名無しさん
16/06/25 06:01:33.41 hfQpWsI3.net
Tom yum goong はタイ料理だよ

243:デフォルトの名無しさん
16/06/25 08:31:47.78 1mvum4Vz.net
>>235-236 さん
なるほど・・・apacheのJAVA対応版のようなイメージでしょうか。
システム全体を考えずに作られたソフトを使う方は大変ですよね
>>237-238 さん
ファイルに保存するのって苦手なんですよね、アクセス制限やらパーミッション、ディレクトリの変更諸々に対応するとなると
DB作った方が早いし簡単ですし。テキスト等でやってる皆さんはその辺どう対応してるのかちょっと気になります。
サーバーサイドでhttp等のスキームからJAVAを動かすためのサーバーなんでしょうかね?もう少し深く触ってみようと思います。
進むべき指針が何となくですが見えてきました。お二方とも返信有難うございました。

244:デフォルトの名無しさん
16/06/25 11:45:06.35 Iz7M/0Yc.net
c++の#includeとJavaのimportはどう違うのですか?

245:デフォルトの名無しさん
16/06/25 14:27:40.03 4ZuZDTqb.net
よく知らないので、勘で書くけど、
C/C++の#includeは、コンパイル前のプリプロセッサの段階で、
ファイルのその部分に、丸々テキストをコピーする。
その後、構文解析
Javaのimportは、使わないものは読み込まれないなど、もっと効率的

246:デフォルトの名無しさん
16/06/25 15:39:46.77 IvMm/ZRW.net
int a = 0
hoge(a);
public void hoge(int a){
if (a<10){
try{Thread.sleep(1000);}catch(Exeption e){}
System.out.println(a);
a++;
hoge(a);
}
}
このような感じで1秒ごとに処理させたいんだけど、最初にスリープして一気に処理されるのはなんでですか?

247:デフォルトの名無しさん
16/06/25 15:43:10.09 pUavjWt/.net
>>243
Javaのimport分はこれ使いますと宣言しているだけ。

248:デフォルトの名無しさん
16/06/25 17:33:40.55 nVk9lY4N.net
>>244
普通に動くじゃん、これで何が問題なの?
URLリンク(ideone.com)

249:デフォルトの名無しさん
16/06/25 17:48:52.18 G/RgSGXS.net
恐らくメインスレッドをスリープさせたく無いんじゃないだろうか
別スレッド使って周期処理してくれるTimerクラスってのを調べてみれば?

250:デフォルトの名無しさん
16/06/25 17:55:41.62 zHxwfVvt.net
別にimportなしでもフルパスで使えるしな

251:デフォルトの名無しさん
16/06/25 19:01:13.48 Iz7M/0Yc.net
スッキリJavaを読んでもオブジェクト指向が理解できない俺はバカですか?

252:デフォルトの名無しさん
16/06/25 19:14:58.15 pUavjWt/.net
>>249
スッキリさせたいのならオナニー

253:デフォルトの名無しさん
16/06/25 19:17:16.89 G/RgSGXS.net
オブジェクト指向は理解するものじゃない
利用するもの
プログラミングの基本手法を形式化しただけで大した意味はない

254:デフォルトの名無しさん
16/06/25 19:29:20.72 pUavjWt/.net
>>249
そもそも構造化プログラミングは分かってるの?

255:デフォルトの名無しさん
16/06/25 19:50:58.85 TogfTX3q.net
>>249
最初はカプセル化だけ
しっかりやってればおk

256:デフォルトの名無しさん
16/06/25 20:04:24.49 Iz7M/0Yc.net
C言語ならまともに書けるけどね

257:デフォルトの名無しさん
16/06/25 20:22:19.16 nVk9lY4N.net
っ [Java Native Access]

258:デフォルトの名無しさん
16/06/25 20:23:46.27 t8HpaPCg.net
オブジェクト指向の本読むといいと思う
オブジェクト指向でなぜつくるのか、とか

259:デフォルトの名無しさん
16/06/25 20:25:32.81 TogfTX3q.net
Cと構造化の延長で理解してると
オブジェクト指向は分からない

260:デフォルトの名無しさん
16/06/25 21:10:29.79 hfQpWsI3.net
>>244
その状態になる実行環境は?
何らかのIDEのコンソールへの出力がその症状になっているということならばそのIDEの問題だと思う。
プログラムからの出力を溜め込んで最後に画面出力しているんじゃないかと思う。
そのようなバッファリングがされないコンソール(例えば Windows ならコマンドプロンプト)で実行すれば
1秒おきに出力されるんじゃないかな。
あるいはバッファリングされていても出力がいつされたのか分かるようにしておけば実際に時間が掛かって
いることが分かると思う。例えば時刻を出力するとかね。

261:デフォルトの名無しさん
16/06/25 21:21:37.58 Iz7M/0Yc.net
みんなアドバイスありがとう。

262:デフォルトの名無しさん
16/06/25 21:21:48.28 hfQpWsI3.net
>>242
CやC++の#includeはコンパイラがプログラムを解釈する直前に実行されるプリプロセッサで解釈される。
プリプロセッサはCやC++の言語そのものを解釈しているのではなくテキスト変換みたいなことをしている。
そこでは #include を見つけたら該当のファイルを持ってきてその間に挿入した新たなソースファイルを
作る等していて(その他 #define を読んでその後の変換をする等していて)、そうやって作られたテキスト
ファイルをコンパイラが後で読んでコンパイルを行う。
Java の import はそのようなテキスト変換ではなく、コンパイラが読んで直接解釈するものだ。
コンパイラはこれを利用してクラスの在処を探す。

263:デフォルトの名無しさん
16/06/25 23:58:43.68 JU8DBS1p.net
文字列が数値かどうか判定するメソッドがAPIに無い理由ってなんなんですかね?

264:デフォルトの名無しさん
16/06/26 02:36:32.07 Fq1EvZdf.net
>>261
Integer.parseInt()とか使えば例外出るからそれ利用しろってことでは?

265:デフォルトの名無しさん
16/06/26 07:35:53.45 zHRvslQr.net
今現在、JSFでwebページを作ってるのですが、
拡張子がxhtmlだとjspの
<% %>のタグが認識しません。.jspにすれば使えるのですが、なぜでしょうか

266:デフォルトの名無しさん
16/06/26 11:35:41.58 6/Qi7lkv.net
>>261
馬鹿だな。
文字列の文字がすべて数字かどうかチェックしてすべて数字だったら、キャストすればいいんだよ。
キミのいうメソッドがあったら、どれだけ例外を細かく作り分けなきゃいけないんだよ。

267:デフォルトの名無しさん
16/06/26 11:37:47.00 6/Qi7lkv.net
>>263
アプリケーションサーバの設定
JSPだということを隠す必要があるってこと?

268:デフォルトの名無しさん
16/06/26 12:52:19.73 45Dp827Y.net
入門書のスッキリの入門と実践編がもうすぐ読み終わるのだけれど他に何かおすすめの本あるかな?
将来的にはアンドロイドのアプリや趣味でPC上で動く横スクアクションのゲームとか作ってみたいなと思ってる
だけど今はもっとjavaの知識を深めたい気持ちが高い
調べたらEFFECTIVE JAVAがいいみたいなサイトをよく見るけどどうなのかな?
これを読んでない奴はJavaプログラマとしてモグリとか使えないという記述をよく見かける

269:デフォルトの名無しさん
16/06/26 13:01:06.76 Fq1EvZdf.net
>>264
言っていることの意味がよくわからんのだが、String s = "123"; int n = (int) s; と書けるということ?
今の Java ってそこまでやってくれるようになったの?

270:デフォルトの名無しさん
16/06/26 13:14:25.36 Fq1EvZdf.net
Java8でやってみたがキャストじゃ文字列から数値へは出来ないぞ。Integerへのキャストも同様に不可能。

271:デフォルトの名無しさん
16/06/26 13:26:11.52 wMYGyLfw.net
>>266
URLリンク(docs.oracle.com)
URLリンク(docs.oracle.com)
これらは背伸びしても無駄にならない

272:デフォルトの名無しさん
16/06/26 13:35:21.62 45Dp827Y.net
>>269
ありがとうございます!
んほおぉ英語ぉ!
英語ほとんどわからないけどやっぱ英語できるようになったほうがいいんだろうな
おすすめ本とかでも洋書あげてるの結構見るし

273:デフォルトの名無しさん
16/06/26 15:30:30.27 JEZlx75J.net
>>266
ゲームを作ることと、プログラミング言語の習得は、目的が異なるので勘違いしないように。

274:デフォルトの名無しさん
16/06/26 15:32:19.18 JEZlx75J.net
初心者スレなのを忘れてた。
キャストというとずばりキャスト構文だと思うわけか。
私が言ったのは型変換。

275:デフォルトの名無しさん
16/06/26 15:51:13.76 Fq1EvZdf.net
>>272
>>264と同一人物?
キャストと言ったら形変換だが? 何か用語の定義がおかしくないか?
君は実際どういう風に書いたのを型変換と呼んでいるんだ?

276:デフォルトの名無しさん
16/06/26 16:23:52.43 JEZlx75J.net
>>273
型変換がキャスト式とはかぎらない。

277:デフォルトの名無しさん
16/06/26 17:00:56.77 UB82q4A+.net
>>274
だったらどういうコードなのか書いて示せよ

278:デフォルトの名無しさん
16/06/26 19:20:32.78 FUFUwvmK.net
>>266
良書だけど
ちょい難しいかも
普通にアンドロイドアプリの
作り方の本とか買って
小物作ってみてもいいよ

279:デフォルトの名無しさん
16/06/26 20:00:08.94 AN/Vw1H/.net
javaの知識を広めたいなら
言語仕様書を読むとか

280:デフォルトの名無しさん
16/06/26 20:36:23.66 qGDMHb1o.net
>>266
ゲーム作るなら余計なオブジェクト生成をなるべく避けるべしみたいな所は立読みしておいて損は無いと思う
まぁゲーム作りの本にも出てるかもだけど

281:デフォルトの名無しさん
16/06/26 21:22:46.16 45Dp827Y.net
>>271
はい!
>>276
なるほどー確かに中級者以上的なことも書いてありました
モチベ維持のためにもそうしてみます
>>277
これから長くjava使っていくならそういうのも読んだほうがいいんですかね
>>278
調べたら近くの本屋に置いてるみたいなんで立ち読みしてみます

どうもありがとうございました!

282:デフォルトの名無しさん
16/06/26 21:46:07.67 9YyM53VL.net
昔はゲームならJavaよりC++って言われたけど、いまはどうなんだろう

283:デフォルトの名無しさん
16/06/26 22:31:22.13 0+Or/a+e.net
C# ならありだが Java はない
まあプログラミング一年生にまでやめろとは言わん

284:デフォルトの名無しさん
16/06/26 23:03:16.34 yAtATLvz.net
Java8の本
Java 最強リファレンス、田中裕一、2014
実践Javaコーディング作法 プロが知るべき、
112の規約と21の心得、森崎雅稔(まさとし)、2014
JavaFX GUIプログラミング [Vol.1]、大村忠史、2012
スッキリわかる サーブレット&JSP入門
プログラミング GROOVY、2011
SQL, DBの本

285:デフォルトの名無しさん
16/06/26 23:48:53.59 FUFUwvmK.net
>>280
今こそJavaは大アリだろ
アンドロイドアプリで
Xamarinに期待して
C#でもいいけど

286:デフォルトの名無しさん
16/06/27 00:42:46.54 +vyCfN5E.net
>>283
最近の若いやつって画像を表示するところから作らないからゲームプログラミングの話をすると噛み合わないよな。

287:デフォルトの名無しさん
16/06/27 10:17:26.02 85mOU5HS.net
>>244ですがありがとうございました。

288:デフォルトの名無しさん
16/06/27 19:48:13.28 NkkqwDMh.net
すごく初歩的で馬鹿な質問かもしれませんがよろしくお願いします
エクリプスのエンコードはutf-8でデフォルトになってると思うのですがこれが普通なのでしょうか?
というのも最近エクリプスを使い始めて書いたソースをふとコマンドプロンプトでコンパイルしたらエラーがでてしまって
調べたら文字コードの問題で-encodingコマンドを使ったら実行できたのですが
どうして普通にコンパイルできる文字コードがデフォルトじゃないのかなと気になってしまって
実は最初にエクリプスのエンコード設定で別のにするのが当たり前だったりするのでしょうか?

289:デフォルトの名無しさん
16/06/27 19:54:37.74 +vyCfN5E.net
>>286
Windowsはまだ表面上はSJISです。

290:デフォルトの名無しさん
16/06/27 20:26:40.92 NkkqwDMh.net
>>287
ということはエクリプスでエンコード設定でSJISに設定していたほうが都合がいいということでしょうか?

291:デフォルトの名無しさん
16/06/27 20:32:57.06 wojXk3Hk.net
何が普通かは環境によって違うから何とも言えない
プロジェクトのプロパティのResourceで変更
文字コード以外にも改行が\nか\r\nかで違う、これも見落しやすい

292:デフォルトの名無しさん
16/06/27 20:34:39.21 +vyCfN5E.net
>>288
ソースコードをコマンドプロンプトでコンパイルしたいのならそうなります。

293:デフォルトの名無しさん
16/06/27 20:48:44.20 NkkqwDMh.net
>>289
>>290
なるほどスッキリしました
どうもありがとうございました

294:デフォルトの名無しさん
16/06/28 02:07:46.93 IQWCuxBm.net
ま、コンパイルするたびに毎回 -encoding で指定するのが面倒でないならばなんであっても構わないと言えなくもない。

295:デフォルトの名無しさん
16/06/28 12:50:26.37 4sSl9cCN.net
コマンドプロンプトの文字コードを、UTF-8に設定できないの?
Jenkins, Gradle などを使うと、インターネット上のサーバーにも、
アクセスするだろうし、UTF-8が必須

296:デフォルトの名無しさん
16/06/28 12:57:23.51 c2QodO+5.net
chcp 65001
でUTF-8にできなくはないが動作の保証はされていない
というかまともに動かない

297:デフォルトの名無しさん
16/06/28 16:12:25.82 zVyoUqTb.net
"Jan"→1
"Feb"→2
"Mar"→3
という感じでJavaで英語の月名3文字を数字に変える簡単な方法ありませんかね
if elseと配列以外でやりたいんですが

298:デフォルトの名無しさん
16/06/28 16:20:17.71 fkMcptl6.net
>>295
switchは?
質問
InetAddress.getLocalHostやsocket.getInetAddressで得られるIPアドレスと
コンピュータのシステムで表示されるIPv4が一致しないんだけどどっちが正しいの?
同じパソコン内なら得られたやつで通信できるんだけど端末違うとどっちもできない

299:デフォルトの名無しさん
16/06/28 16:29:48.96 zVyoUqTb.net
>>296
すみません、switchも無しですね
出来るだけ短くできる方法を探しています

300:デフォルトの名無しさん
16/06/28 16:55:53.11 oSSei7yC.net
>>297
Mapか三項演算子の羅列でも使ってればいいんじゃね
結局短く書きたいっていう意図が分からないわ

301:デフォルトの名無しさん
16/06/28 17:02:50.51 iF4vz2O7.net
>>297
Map<String, Integer> m = new HashMap<>();
m.put("Jan", new Integer(1));
int value = m.get("Jan").intValue();

302:デフォルトの名無しさん
16/06/28 17:10:37.05 iF4vz2O7.net
こういうのも
List<String> list = Arrays.asList("Jan", "Feb", "Mar");
value = list.indexOf("Jan") + 1;

303:デフォルトの名無しさん
16/06/28 17:47:19.51 842o8d8c.net
>>300
お。スマートな感じ。

304:デフォルトの名無しさん
16/06/28 20:35:55.41 Io4u4DLH.net
>>295
SimpleDateFormatでもいけるぞ
URLリンク(ideone.com)

305:デフォルトの名無しさん
16/06/28 20:42:31.79 D5fDe1MV.net
たった12分岐なのにアホくさいな。

306:デフォルトの名無しさん
16/06/28 22:19:53.55 MoJvcG+3.net
>>297
①シンプルにコーディングしてシンプルなコメントを書く
②コーディングを1行でも減らそうとしてあまり馴染みのない書き方や関数を使って、それを解説するコメント行数が多い
仕様(テスト問題?)にもよるんだろうが、結果が同じなら①がいいんでない?

307:デフォルトの名無しさん
16/06/28 22:20:21.95 jKjX+7cA.net
『スッキリわかるJava入門 第2版』もってる人!
p.371の練習問題の② D)が次ページの解答例に反映されてないっぽいんだが、
「名前を指定しない場合にはインスタンス化することはできないものとします」
これどういうコードになるの?
Cleric() {}じゃだめだよね?

308:デフォルトの名無しさん
16/06/28 22:24:43.86 jKjX+7cA.net
自己解決。
Cleric() {}は書いちゃいけないんだね。
そしたら引数ありのコンストラクタだけになるから引数が空の状態で
コンストラクタ読んだらコンパイルエラーになる。
こういう意味と理解した。

309:デフォルトの名無しさん
16/06/28 23:43:50.77 1vh+IkvQ.net
>>306
コンストラクタをいっさい書かないと、コンパイラが引数なし、処理なしのコンストラクタを追加する。
コンストラクタを明示的に書くと上記のようなコンストラクタは追加されない。

310:デフォルトの名無しさん
16/06/28 23:51:59.70 jKjX+7cA.net
>>307
それそれ。さっきスッキリJava読み返して覚えたよ。
最初、引数なしのコンストラクタ呼んだら(new xx()ね)nullでも
返ってくるのかと勝手に思い込んでいた。

311:デフォルトの名無しさん
16/06/29 00:26:13.22 rvkEi9Nh.net
>>308
Javaの資格本を読むといいよ。

312:デフォルトの名無しさん
16/06/29 01:34:02.25 CJ/0Quwm.net
>>297ですが、提案していただいたもので解決できそうです。
ご意見色々と本当にありがとうございました。

313:デフォルトの名無しさん
16/06/29 02:23:50.85 0b8SONCP.net
スッキリをNGにしとけばいいだろ
ステマ臭くて見てられない

314:デフォルトの名無しさん
16/06/29 11:00:47.75 yKd8KiFI.net
スッキリはJava入門書某ランキングで1位だし今更ステマもないかと

315:デフォルトの名無しさん
16/06/29 12:10:53.42 rvkEi9Nh.net
プログラミングの入門と、Javaの入門が一緒になっているからな。
初めがJavaって教育上、よくないかもしれない。

316:デフォルトの名無しさん
16/06/29 12:23:46.97 ynfIfoaY.net
いいんだよ
それは必要な遠回りなんだよ

317:デフォルトの名無しさん
16/06/29 13:39:39.63 Hg0Bm2HH.net
何かの言語で、初心者がオブジェクト指向を学べればよいけど、
現状では、スッキリJavaしか無い
他の本では、説明が少ないか、難しい
高くジャンプしたけりゃ、逆に、かがみ込まなければならない。
急がば回れ

318:デフォルトの名無しさん
16/06/29 14:31:38.78 3P5K1ayE.net
もうスッキリが初心者を勧誘する怪しい宗教勧誘に見えてくる
いや一概に間違っていないか....

319:デフォルトの名無しさん
16/06/29 16:32:30.16 Hg0Bm2HH.net
しゃーないやん。実践した多くの人が言ってるんやからw
スッキリで、出来るようになった人々の声
「スッキリで勉強したら、C#もすごくよくわかりますた」
「僕もスッキリやったら、C++も出来るようになって、ビックリ!」
「スッキリで、ゲーム制作に自信が持てますた」
など続々と、お祝いの言葉が届いております

320:デフォルトの名無しさん
16/06/29 17:19:39.91 1Y4TFFS3.net
俺もスッキリ読んでお金持ちになって彼女が出来て不老不死になったわ

321:デフォルトの名無しさん
16/06/29 22:04:26.62 UoeUIFRO.net
2ちゃんねる特有の評判がいいものはステマ、陰謀説

322:デフォルトの名無しさん
16/06/29 23:19:02.98 tIZAdZda.net
ボクもちんちんを握っていたらいつのまにかスッキリしました

323:デフォルトの名無しさん
16/06/29 23:38:44.09 rvkEi9Nh.net
いまのJavaのコンパイラが親切すぎるのもよくないんだろうな。
構文エラーがどこなのか、はっきり示してくれるし。
他の言語や古い言語だと、とんでもないところが間違っていると出てくるから、そういう環境の方が勉強になると思う。

324:デフォルトの名無しさん
16/06/29 23:49:32.26 tIZAdZda.net
出るなら良い。昔のC言語だと何にも出ないでOSによってはそのまま暴走なんてこともあった。w

325:デフォルトの名無しさん
16/06/30 00:22:13.71 Apg59XEJ.net
>>322
いまだってスクリプト言語は構文がおかしくても実行してみないとわからないけどな。

326:デフォルトの名無しさん
16/06/30 00:40:10.38 LNAC9DQC.net
;
//ここでセミコロンを打つと何故かコンパイルが通る
昔のコンパイラでよくあったこと

327:デフォルトの名無しさん
16/06/30 00:45:51.01 Apg59XEJ.net
>>324
そんなのねえよ。

328:デフォルトの名無しさん
16/06/30 00:47:38.42 Apg59XEJ.net
ただの昔話は老化現象です。

329:デフォルトの名無しさん
16/06/30 01:01:38.50 LNAC9DQC.net
コンパイラっていってもC言語の初期のやつな
構文解析のバグは多かったよほんと

330:デフォルトの名無しさん
16/06/30 01:13:16.73 Apg59XEJ.net
ただの昔話は老化現象です。

331:デフォルトの名無しさん
16/06/30 01:14:52.91 mTfAiRzU.net
初期っていつ頃だよ
1973年には既にリッチー本人がコンパイラ作ってたようだけど

332:デフォルトの名無しさん
16/06/30 01:31:54.63 5tmD9Bik.net
なんでお前らそんな必死なんだよ

333:デフォルトの名無しさん
16/06/30 01:38:40.75 Apg59XEJ.net
>>329
昔のパソコン用の話じゃないの?
情報が共有されてないから、出来の悪いコンパイラはあったと思うよ。
C言語のコンパイラ規格ってあるのかな?

334:デフォルトの名無しさん
16/06/30 01:43:14.08 Apg59XEJ.net
規格ってどういうマシン語にするかという意味だけど。

335:デフォルトの名無しさん
16/06/30 01:45:34.66 nuMRfLhn.net
言語自体の規格はあるだろ。C99とか。

336:デフォルトの名無しさん
16/06/30 01:50:31.78 Apg59XEJ.net
>>333
そうじゃなくてどういうマシン語にするかだよ。
本家を基準にしてるのかな。

337:デフォルトの名無しさん
16/06/30 01:56:47.21 nuMRfLhn.net
どういうって、そんなのCPUによってどういうのが効率良いかで変わるだろう。

338:デフォルトの名無しさん
16/06/30 02:01:44.97 zGuy18cm.net
昔の業務用なんて言語仕様に完璧なコンパイラがばかりじゃ無かった

339:デフォルトの名無しさん
16/06/30 02:10:13.73 Z6gb9kCv.net
無かったね

340:デフォルトの名無しさん
16/06/30 08:43:46.47 bSccWkK0.net
>>331-332
構文・意味解析なら規格がある
バイナリ生成に関しては無い
リンク時のABIでデファクトと互換性をもたせるかどうかという程度
プリプロセッサも、う~ん…

341:デフォルトの名無しさん
16/06/30 09:13:00.96 Apg59XEJ.net
そうならJavaでもCでもどういうマシン語はくか不明ってことになるな。
だからこういうマシン語になるんだみたいな話はやっぱりしない方がいいってことだな。

342:デフォルトの名無しさん
16/06/30 15:43:58.54 oYnfb6yX.net
だって色々なCPUがあるんだもん。決められないよ。

343:デフォルトの名無しさん
16/06/30 16:16:42.40 8IMpbPEW.net
Javaは仮想マシン用のコードをはくべ?

344:デフォルトの名無しさん
16/06/30 20:24:54.31 rMlxImT8.net
仮想マシンが未来永劫同じままという保証はない。
普通のCPUが機能追加されアップグレードすることがあるように今後言語の拡張に併せて仮想マシンが拡張される可能性はある。

345:デフォルトの名無しさん
16/06/30 20:32:44.32 /XySBwDr.net
仮想マシン用のコードを直接理解するCPU作ればいいのにね。
最速になるんじゃないの?

346:デフォルトの名無しさん
16/06/30 20:56:41.49 bMW7pQBg.net
昔JavaOSというのがあってな……

347:デフォルトの名無しさん
16/07/01 01:03:59.82 p6Mcs4OD.net
おじいちゃん、昔っていつ?

348:デフォルトの名無しさん
16/07/01 01:15:34.33 ZThLUTOM.net
お前そればっかな

349:デフォルトの名無しさん
16/07/01 02:00:44.25 nN7ID4Tm.net
>>324
コメントだから、文字コードを指定しなくても、日本語を使っても、大丈夫と過信したのかも
日本語は3バイト文字になって、次の改行が1文字だと、合わせて4バイトになる
それを、2バイトずつ処理すると、割り切れるから、
改行が消えて、文が続き、誤動作する
基本的に開発では、日本語を使ったらダメ。
外人は日本語でテストしていないから

350:デフォルトの名無しさん
16/07/01 02:45:05.61 fBj5CWQI.net
日本語が3バイトとは限らんよな。UTF-8 だと3バイトだが、しかしUTF-8なら上位ビット見れば何バイトなのか分かる。

351:デフォルトの名無しさん
16/07/01 02:46:17.67 fBj5CWQI.net
あ、ごめん。UTF-8だと日本語は1文字3バイトなのが多いだけで3バイトとも限らんな。

352:デフォルトの名無しさん
16/07/01 06:02:54.46 nN7ID4Tm.net
どうせコメントで削除されるから、UTF-8 にしなくても良いだろうと、
元の文字コードのまま、コンパイルしたのかも

353:デフォルトの名無しさん
16/07/01 10:26:35.32 CKWFVnx8.net
>>343
それってもはやJavaしか動かないOS

354:デフォルトの名無しさん
16/07/01 10:29:32.19 CKWFVnx8.net
Java自体はUTF-8ではなくて、UTF-16だろ。

355:デフォルトの名無しさん
16/07/01 11:53:13.46 yW2x5Hx7.net
そういや Java CPU を作るって昔 Sun が言ってたなあ。
なんで止めちゃったんだっけ?儲かりそうにないから?

356:デフォルトの名無しさん
16/07/01 11:54:37.10 yW2x5Hx7.net
>>352
そう。
そしてサロゲートペアに悩まされると。

357:デフォルトの名無しさん
16/07/01 12:03:34.96 CKWFVnx8.net
>>353
もしそんな特化したハードウェアを作ってたら、すぐサンマイクロシステムズは破綻しただろうな。
そんなにお馬鹿ではなかったようだけど。
そもそもそんな変なことを言うのはサンの一部の馬鹿だろ。
いまのハードウェアは仮想化してマルチOSか、パソコンの延長線上のもの。
現在だとx86、x64系に勝つハードウェアを作ってシェアが獲得できるわけがない。
オラクル社は現実的なのでこういう無駄な金はかけない。

358:デフォルトの名無しさん
16/07/01 12:04:37.49 Jlx4pT85.net
Javaを担いでたIBMが嫌がったんじゃないの

359:デフォルトの名無しさん
16/07/01 12:10:38.39 CKWFVnx8.net
>>354
Javaを作った当時はUTF-16の方が良いと思ったんだろうけど、結果はUTF-8を標準する方向に動いてしまった。
もともと日本等の2バイト文字圏では16は漢字が2バイトでは収まらないので不都合だと当初から言われていたが、やっぱりダメでUTF-8がスタンダードになってる。

360:デフォルトの名無しさん
16/07/01 12:28:25.84 U95fC87K.net
>>342
Javaが登場してから8までに追加されたオペコードの数を知ってるかい?
JVMで動く言語(GroovyやScala)のために追加されたinvokedynamicだけしか拡張されてない。
オペコードの追加は今後もほとんど行われないでと思うよ
>>343
URLリンク(ja.wikipedia.org)
オペコードを実行する石はARM以外にもあるけど代表例として

361:デフォルトの名無しさん
16/07/01 13:28:28.65 yW2x5Hx7.net
>>357
内部がUTF-16に都合がいいようにcharが16ビットになってるだけだよ。内部的にはUTF-8は扱いづらいから使われない。
しかしUnicode自体が16ビットで収まらなくなった。

362:デフォルトの名無しさん
16/07/01 13:30:43.02 yW2x5Hx7.net
>>355
Sunは元々ワークステーションやサーバに特化したCPU作っていたと思うが。
まあ、後半はPCサーバに押されていたわけだが。

363:デフォルトの名無しさん
16/07/01 13:32:26.48 CKWFVnx8.net
>>359
SJISとか2バイト文字圏の文字コードと対応しやすいからでしょ。
Windowsだって内部がUTF-16なのはSJIS等に引っ張られてるからだと思うしね。

364:デフォルトの名無しさん
16/07/01 13:35:07.54 CKWFVnx8.net
>>360
SPARCとJavaはほとんど関係ないんじゃない?
Windows、Linuxに対処するためにJavaを作った側面もあると思うし。

365:デフォルトの名無しさん
16/07/01 13:47:59.88 Jlx4pT85.net
>>361
それ採用したの20年以上前ですしおすし

366:デフォルトの名無しさん
16/07/01 21:38:49.44 O26pV+Hm.net
>>362
Javaは最初は家電制御用に使おうとしていたって話を聞いたことあるぞ。

367:デフォルトの名無しさん
16/07/01 21:57:02.41 l06M3c9j.net
java全く知らないのですが
ビルドしなくてはならなくなって困っています。
具体的には
URLリンク(github.com)
をビルドしようとしています。
Debian jessie(amd64とx86)の環境でビルドしようとしていて、
とりあえずamd64のほうで
git clone URLリンク(github.com)
cd boilerpipe
mvn package
としたら "BUILD SUCCESS" となって jar ファイルなるものができるのですが
cd boilerpipe-common/target
java -jar boilerpipe-common-2.0-SNAPSHOT.jar
などとしてみても
「boilerpipe-common-2.0-SNAPSHOT.jarにメイン・マニフェスト属性がありません」
と出てしまいます。
調べてみて
URLリンク(stackoverflow.com)
を参考に pom.xml をいじってみましたがそもそもどこに挿入したら良いのかも
<mainClass>com.mypackage.MyClass</mainClass>
の部分をどう修正したらいいかもわからず、
<mainClass>com.kohlschutter.boilerpipe</mainClass>
などとやみくもにアレコレやってみましたが状況は変わっていません。

368:デフォルトの名無しさん
16/07/01 22:03:53.52 mc0aB7jH.net
>>365
それただのライブラリだからMainクラスは自分で作るんだよ
以下のUsage参照
URLリンク(code.google.com)

369:デフォルトの名無しさん
16/07/01 22:13:34.29 l06M3c9j.net
>>366
ありがとうございます!
よく読んで出直してきます!

370:デフォルトの名無しさん
16/07/01 22:25:11.72 mc0aB7jH.net
>>367
ドキュメントはメンテされてないっぽいので
同梱してあるデモクラスを読むのが結局近道かもしれない
URLリンク(github.com)

371:デフォルトの名無しさん
16/07/01 22:41:33.83 l06M3c9j.net
>>368
いま読んでみてるんですが
javaの知識皆無なんで時間かかりそうですw
とりあえず入門サイトみて
public


372: class hogehoge{ public static void main(String[] args){ System.out.println("mainだよ"); } } 的なのがどこかに必要なのが分かったくらいです。 あとはたぶん package名を先頭に書いて 使用するライブラリをimportして 対応する pom.xml を書いてビルドって感じでしょうか。 頑張ります (`・ω・´)



373:デフォルトの名無しさん
16/07/01 22:55:52.96 QY52Sr5V.net
Boilerpipeライブラリを利用して何かを実現したいなら、
その目的に合わせてmainクラスに処理を書かないと行けないのではないかな?

374:369
16/07/01 23:11:35.06 r/iYn8jM.net
>>370
その通りですが、
なにぶんjavaわかんなくて時間かかりそうなんで
とりあえず呑みに行くことにしましたw
サーセン (´・ω・`)

375:デフォルトの名無しさん
16/07/01 23:46:51.25 nN7ID4Tm.net
JAR ファイルの作り方・構成などを、検索すれば?
起動ファイル・マニフェストなど、色々ある

376:デフォルトの名無しさん
16/07/02 12:48:11.70 jmQ+Ajfw.net
Javaを学ぼうと思いjdk8 with net beans をダウンロードしたのですが、インストールすることが出来ないです。
再度インストール、またはログファイルを見てくれというメッセージが出でくるので見ると、エラー1622でインストールが終了したとなっているのですがどうすればインストールできますか?

377:デフォルトの名無しさん
16/07/02 12:51:16.17 FWJ0AnQE.net
>>371
Java知らないのはいいけど、それ以外のプログラミング経験を書いたほうがいいよ
mavenでjarビルド出来るんだからmainメソッド以降進まないほどのスキルじゃないと思うし

378:デフォルトの名無しさん
16/07/02 12:56:28.89 FWJ0AnQE.net
>>373
状況は正確に伝えた方がいいよ
OSは何を使っているのか、
インストール手順の詳細、
再インストールを指示されてるけど行ったか、行っても同じ現象か
とかの情報ね

379:デフォルトの名無しさん
16/07/02 13:52:38.14 jmQ+Ajfw.net
>>375
すいません、指摘ありがとうございます。
Windows8.1で64ビットのやつです。再インストールは行いましたが、何度も同じ状況になってしまってます。
インストールの手順なんですが、出てくる特に変わったことはせず、出てくるものを全て次へにしてる感じです。
JDK update91のインストールは完了しませんでしたと表示されています。

380:デフォルトの名無しさん
16/07/02 14:05:18.24 BXSNxLnP.net
eclipceのオールインワンでもDLしとけ
たしかjdk入りだし

381:デフォルトの名無しさん
16/07/02 18:47:17.53 jmQ+Ajfw.net
eclipceにしときます

382:デフォルトの名無しさん
16/07/02 20:03:42.86 bHH5CSBT.net
昨晩eclipseのアップデートがかかりました。
そしたら今まで書いたソースコードの全角がすべて文字化け
してしまいました。
どうやらもともとS-JISになっていたようですがアップデート後
はeclipseはS-JISが選べないようです。
過去のソースコードはUTF-8とかに何かのツールで変換するしか
ないでしょうか?

383:デフォルトの名無しさん
16/07/02 20:53:14.31 T/eU/u1b.net
いろいろやり方はあるだろうけど、自分がどの文字コードで書いてるかわからないようじゃダメだな。
サクラエディタなど文字コードがはっきり分かるもの使ってる?

384:デフォルトの名無しさん
16/07/02 21:07:04.81 Eg5K6sZP.net
>>380
今回の件で文字コードを意識してなかったことを反省しています。
エディタはeclipse上のものを使っていますが、文字化けしたので
秀丸というフリーソフトを入れて調べたら今までのがS-JISだと判明
しました。自分ではずっとデフォルトのUTF-8だと思い込んでいました。

385:デフォルトの名無しさん
16/07/02 21:09:56.70 RGWnw+KA.net
windows版ではeclipseのpreferenceー>generalー>workspaceで
エンコードの設定があるよ。そこでデフォルトの
MS932にしてお


386:けば大丈夫なはずだけど。unix上だと どうなっているか分からない。



387:デフォルトの名無しさん
16/07/02 21:16:55.90 Eg5K6sZP.net
>>382
ありがとうございます。MS932に設定してeclipse再起動したらうま
くいきました!でも今後はUTF-8を使おうと思います。

388:デフォルトの名無しさん
16/07/02 21:19:13.21 T/eU/u1b.net
>>383
MS932はSJISだからね。

389:デフォルトの名無しさん
16/07/02 21:35:07.99 Eg5K6sZP.net
>>384
ありがとうございます。おぼえておきます。

390:デフォルトの名無しさん
16/07/02 23:48:21.98 FDW/vRG3.net
eclipseでMavenプロジェクトでSpringBootを使ってWEBアプリを作るための参考書を探してるんですが
これが鉄板みたいな参考書ありますか?

391:デフォルトの名無しさん
16/07/03 00:10:34.11 Bmkq7/Hz.net
MS932(またはcp932、またはWindows-31j)はShift_JISをMSが拡張したやつだから元のShift_JISよりも文字数は多いよ。

392:デフォルトの名無しさん
16/07/03 00:38:13.57 N3wS2fQw.net
>>381
ちょっと待てw
秀丸フリーソフトじゃないぞ
アカデミーか何かフリー条件に対応してれば別だけど

393:デフォルトの名無しさん
16/07/03 10:04:40.97 h62Mg+fC.net
>>388
例のアレwww

394:デフォルトの名無しさん
16/07/03 10:07:10.10 Bmkq7/Hz.net
文字コード調べたいなら nkf -g でやれば良い。

395:デフォルトの名無しさん
16/07/03 10:30:57.94 1oYTkPQD.net
windowsに入ってればな

396:デフォルトの名無しさん
16/07/03 11:56:28.92 Bmkq7/Hz.net
入れればいいじゃん

397:デフォルトの名無しさん
16/07/03 17:52:42.53 VVldewDG.net
基本的な質問で悪いのですが、教えてください。
JSP上でボタンを作成し、そのボタンをおされたら、DBへのインサートを行う
javaクラスを呼び出すwebを作りたいと思っています。
この場合、JSPのボタンからjavaクラスを呼び出すのは、ボタンのonclickでよいのでしょうか。
解説しているサイトがないか調べたのですが、見つからず困っています。

398:デフォルトの名無しさん
16/07/03 20:30:18.06 mmeW8XES.net
>>386
はじめてのSpring Boot―「Spring Framework」で簡単Javaアプリ開発 (I・O BOOKS)

399:デフォルトの名無しさん
16/07/04 00:35:38.20 kx6+7cCL.net
>>393
htmlのsubmitボタンかajaxでサブミットしてリクエストを送信してやれ

400:デフォルトの名無しさん
16/07/04 18:38:29.94 UiymwUTl.net
>>395 返信、ありがとうございます Submitでやろうとしていますが、action=のところに、DBインサート用Javaクラスを設定することはできるのでしょうか。 調べたサイトでは、actionには必ず次に遷移する画面のJSPが設定されていました。

401:デフォルトの名無しさん
16/07/05 03:39:54.36 94G9IfNv.net
「HTML submit」で検索!

402:デフォルトの名無しさん
16/07/05 21:04:01.36 3GjDlEaM.net
>>396
フレームワークを使っていますか?
調べたサイトと目的が合致しない場合、調べたサイトを載せたほうが現状が伝わりやすいです。

403:デフォルトの名無しさん
16/07/05 23:03:38.17 m3D8korl.net
>>396 です。
色々ご返信ありがとうございます。
フレームワークではないんですが、JSTLを使っています。
それ以外は特にかわったことはしていません。
HTML submitで検索したところ、
<input type="submit" name="insert" value=" 登録 " class="eb">
というようにボタンにclassを設定することが可能であることがわかりました。
ただ、呼び出したいjavaクラスでは、コンストラクタでDB接続を行い、
insertメソッドでデータの追加を行おうとしています。
ボタンを押下することで特定のクラスのメソッドを呼ぶ設定はできるのでしょうか。
行いたい処理は、画面遷移を発生させないデータのinsert処理です。

404:デフォルトの名無しさん
16/07/07 04:28:45.59 Ry0ooGfS.net
<form action="送信先" method="リクエストメソッド">
基本がわかっていないのなら、
「スッキリわかる サーブレット&JSP入門」を読む

405:デフォルトの名無しさん
16/07/07 12:29:39.79 6JwgHXC6.net
>>399
これはHTMLのclass属性では?
JSPとは関係ないのでは?

406:デフォルトの名無しさん
16/07/08 13:34:46.10 GkjfzWFD.net
>>26
これの処理内容が詳しくしりたい

407:デフォルトの名無しさん
16/07/08 13:50:52.88 suQnG4Cg.net
List<WebElement>を拡張for文で回すことは出来ますか?
現在List<WebElement>数を取得して通常For文で回しています

408:デフォルトの名無しさん
16/07/08 15:28:51.03 I+9y5PSD.net
List<WebElement> elements;
for( WebElement element : elements ){

}

409:デフォルトの名無しさん
16/07/08 15:50:25.20 suQnG4Cg.net
>>404
早速のレスありがとうございます、出来ました
考え方は合っていたようですが変数名の指定を誤っていたのかエラーが出ており
何か違う方法があるのかと思い込んでいたようです

410:デフォルトの名無しさん
16/07/08 16:32:28.68 2P7oAulS.net
>>402
だっせえなこれ書いたの誰だよ、俺だよ
流石に反省してわかりやすく直した
URLリンク(ideone.com)

411:デフォルトの名無しさん
16/07/08 18:11:54.85 GkjfzWFD.net
>>406
やべぇ、前の方がわかりやすくて申し訳ない
全然読めないレベルでごめんなさい

412:デフォルトの名無しさん
16/07/08 20:33:26.41 PXUPtwcw.net
>>406
級数使えばも少しシンプルとか
URLリンク(ideone.com)

413:デフォルトの名無しさん
16/07/08 21:32:35.99 YwMN9VpJ.net
public class Test {
public static void main(String[] args) {
List<String> idList = Arrays.asList("A", "B", "C");
Map<String, Integer> alMap = new HashMap<>();
alMap.put("A", 3);
alMap.put("B", 1);
alMap.put("R", 10);
//List<List<String>> list;
String mainList[][] = null;
for (int i = 0; i < idList.size(); i++) {
List<String> list = new ArrayList<>();
for (Entry<String, Integer> al : alMap.entrySet()) {
if (al.getKey().equals(idList.get(i))) {
list.add(al.getKey());
}
}
// ここで初期化して代入したい。けどmainListが無いか
mainList[i] = new String[list.size()];
Arrays.fill(mainList[i], list);
}
}
}
nullPoどうしよう。。

414:デフォルトの名無しさん
16/07/08 22:05:35.89 2P7oAulS.net
>>408
flatMapを使って出力を終端にまとめるとさらに短かくなる
URLリンク(ideone.com)

415:デフォルトの名無しさん
16/07/08 22:33:15.83 PXUPtwcw.net
>>409
String mainList[][] = null;
のところを
String mainList[][] = new String[idList.size()][];
mainList[i] = new String[list.size()];
Arrays.fill(mainList[i], list);
のところを
mainList[i] = list.toArray(new String[0]);
でいいのでは?
そもそもの処理自体が何がしたいのかわからないけど。。。
2個目のforはalMap.containsKey()でことが済むし、
MapのKEYはユニークなんだから
list.add(al.getKey());
は同一のlistインスタンスで最大1回しか呼ばれないし、ってことはmainListを多重配列にする意味がそもそも。。。

416:デフォルトの名無しさん
16/07/08 23:14:04.25 oeqNGrjL.net
39 仕様書無しさん 2016/07/08(金) 23:11:07.46
Oracle、Java EEから手を引く可能性も
URLリンク(s.news.mynavi.jp)

417:デフォルトの名無しさん
16/07/09 00:27:11.10 CG0sDuR4.net
>>410
みんな。どうしたんだ。もっと素直になろうぜ。
URLリンク(ideone.com)

418:デフォルトの名無しさん
16/07/09 00:43:22.67 CG0sDuR4.net
やっぱピラミッドがいいか
URLリンク(ideone.com)

419:デフォルトの名無しさん
16/07/09 01:13:17.59 I/ga01ar.net
>>414
そんな初心者みたいなコードで恥ずかしくないのか?

420:デフォルトの名無しさん
16/07/09 01:28:54.47 CG0sDuR4.net
>>415
恥ずかしくない(キリッ

421:デフォルトの名無しさん
16/07/09 01:32:50.43 I/ga01ar.net
プロから言わせてもらうと変数名からもうダメだね。

422:デフォルトの名無しさん
16/07/09 05:34:36.28 CG0sDuR4.net
ぷロ()

423:デフォルトの名無しさん
16/07/09 08:41:48.59 3xcP/z3K.net
流行りか知らんがこの程度の処理にラムダ多用する奴は死ねば良いと思う

424:デフォルトの名無しさん
16/07/09 12:14:36.13 opebRAyD.net
409です。
実際の処理では生徒とテスト結果を生徒クラスごとにリスト化します。(二次配列かリスト使用)
mapにはMap<Student, Integer>があり、Studentには所属「クラスをもっています。
処理は上記と同じく、最初に配列を用意しておいて、
class AAAA {
static List<String> classList = {"1組", "2組", ... "n組"};
}
class BBBB {
Student[][] mainList;
public BBBB(Map<Student, Integer> m) {
for (int i = 0; i < AAAA.classList.size(); i++) {
List<Student> list = new ArrayList<>();
for (Entry<String, Integer> record : m.entrySet()){
if (record.getClass().equals(AAAA.classList.get(i)){
list.add(record);
}
}
Arrays.fillmainList[i], list);
}
}
}


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch