Java初心者のためのスレッドです。
※前スレ
Java入門・初心者質問スレ Part.2
http://echo.2ch.net/test/read.cgi/tech/1478863511/
Java入門・初心者質問スレ Part.3 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
2017/04/04(火) 20:41:11.59ID:y0EcmGB0
146デフォルトの名無しさん
2017/04/28(金) 17:26:10.18ID:pIHGdJ8Z148デフォルトの名無しさん
2017/04/29(土) 15:38:04.47ID:JW7PzOlh cvsファイルで
1 田中 りんご
3 鈴木 みかん
6 齋藤 ヨーグルト
2 根元 パン
5 根岸 サラダ
4 佐藤 ご飯
こんな感じのやつをソートしたいです。
数字の列が 配列0
名前が 配列1
食べ物系が配列2に入ってます
cvsを読み込んで数字の列を新しい配列0〜5にいれてソートして表示するとこまではできたのですが
後ろの名前と食べ物が同時にソートされません。
やり方教えてください
1 田中 りんご
3 鈴木 みかん
6 齋藤 ヨーグルト
2 根元 パン
5 根岸 サラダ
4 佐藤 ご飯
こんな感じのやつをソートしたいです。
数字の列が 配列0
名前が 配列1
食べ物系が配列2に入ってます
cvsを読み込んで数字の列を新しい配列0〜5にいれてソートして表示するとこまではできたのですが
後ろの名前と食べ物が同時にソートされません。
やり方教えてください
149デフォルトの名無しさん
2017/04/29(土) 15:38:07.81ID:hP9HIxoy JavaFXでゲーム作りたいけど全然解説してる所ない…・・・
そんなに見放されてるもんなのか
そんなに見放されてるもんなのか
150デフォルトの名無しさん
2017/04/29(土) 15:39:33.67ID:JW7PzOlh なんどもすみません
今は
1 田中 りんご
2 鈴木 みかん
3 齋藤 ヨーグルト
4 根元 パン
5 根岸 サラダ
6 佐藤 ご飯
みたいになってます。
今は
1 田中 りんご
2 鈴木 みかん
3 齋藤 ヨーグルト
4 根元 パン
5 根岸 サラダ
6 佐藤 ご飯
みたいになってます。
151デフォルトの名無しさん
2017/04/29(土) 15:48:07.67ID:nyANDfpK 別々の配列じゃ連動とか複雑過ぎ。
クラス作って、クラスの配列で読込やソートすれ。
クラス作って、クラスの配列で読込やソートすれ。
152デフォルトの名無しさん
2017/04/29(土) 17:15:02.95ID:HCCTcSxI JavatrてCでいうとこの構造体って無いんすか?
153デフォルトの名無しさん
2017/04/29(土) 17:16:52.09ID:6B/XobRt >>148
インデックスをソートしちゃえばいいよ
https://paiza.io/projects/Brbmeg7M6bZOYPELm1TOMQ
データは列の集合、列は行の集合になっているけれども
テーブルのようなデータ扱うときは
データは行の集合、行は列の集合
にしたがいんじゃないかな
インデックスをソートしちゃえばいいよ
https://paiza.io/projects/Brbmeg7M6bZOYPELm1TOMQ
データは列の集合、列は行の集合になっているけれども
テーブルのようなデータ扱うときは
データは行の集合、行は列の集合
にしたがいんじゃないかな
154デフォルトの名無しさん
2017/04/29(土) 21:02:24.15ID:y1rMzUYG そもそも構造体を拡張したのがクラスじゃないの?
155デフォルトの名無しさん
2017/04/29(土) 23:13:29.81ID:nyANDfpK C#には構造体在るけど、Javaは無い。
メソッド無いクラス作れば、事実上の構造体。
メソッド無いクラス作れば、事実上の構造体。
156デフォルトの名無しさん
2017/04/30(日) 02:15:39.83ID:Dc5Ny+RF Kotlinでは、年齢・名前で、ソートすると、
Alice, Kate, Dave, Tom の順になる
class Person(var age: Int, var name: String) { }
var list = mutableListOf<Person>();
list.add(Person(25, "Tom"));
list.add(Person(25, "Dave"));
list.add(Person(20, "Kate"));
list.add(Person(20, "Alice"));
val sortedList = list.sortedWith(compareBy({ it.age }, { it.name }));
sortedList.forEach{ println("${it.age} : ${it.name}"); }
Alice, Kate, Dave, Tom の順になる
class Person(var age: Int, var name: String) { }
var list = mutableListOf<Person>();
list.add(Person(25, "Tom"));
list.add(Person(25, "Dave"));
list.add(Person(20, "Kate"));
list.add(Person(20, "Alice"));
val sortedList = list.sortedWith(compareBy({ it.age }, { it.name }));
sortedList.forEach{ println("${it.age} : ${it.name}"); }
157デフォルトの名無しさん
2017/04/30(日) 03:12:27.12ID:Pd/tmEqA >>150
それぞれの列を別々の配列に詰めたら行ごとの関連付けが面倒くさいから行単位で関連付けてから配列に突っ込むイメージの方が楽
具体的にはもう出てるけど各行を表すEntityクラス作って各行のデータ突っ込んだインスタンスを配列化する
それぞれの列を別々の配列に詰めたら行ごとの関連付けが面倒くさいから行単位で関連付けてから配列に突っ込むイメージの方が楽
具体的にはもう出てるけど各行を表すEntityクラス作って各行のデータ突っ込んだインスタンスを配列化する
158デフォルトの名無しさん
2017/04/30(日) 05:33:25.51ID:0NS9QiRt 一括りのデータを扱う時はレコードというもので扱うんだよ
レコードには固定長レコードと可変長レコードがある
固定長レコードは各フィールドの長さが決まってるからランダムアクセスすることができる
対して可変長レコードはシーケンシャルアクセスしかできないという欠点がある
レコードには固定長レコードと可変長レコードがある
固定長レコードは各フィールドの長さが決まってるからランダムアクセスすることができる
対して可変長レコードはシーケンシャルアクセスしかできないという欠点がある
159デフォルトの名無しさん
2017/04/30(日) 05:34:31.46ID:/xQtxfzV TreeMap 使えばいいのでは?
TreeMap<Integer, String[]> のインスタンスに put な。
TreeMap<Integer, String[]> のインスタンスに put な。
160デフォルトの名無しさん
2017/04/30(日) 05:36:54.83ID:/xQtxfzV あ、行ごと扱うならキーだけIntegerにして値はそのまんまStringで入れといてもできるな。
161デフォルトの名無しさん
2017/04/30(日) 05:50:10.68ID:/xQtxfzV できた。ソートをTreeMapに任せてCSVの中身を何も考えずに突っ込んでる版。
https://paiza.io/projects/El4IUBlhQJydI6F0wf6YAA
https://paiza.io/projects/El4IUBlhQJydI6F0wf6YAA
162デフォルトの名無しさん
2017/05/01(月) 14:58:41.66ID:F35eYYLf return文の考え方が今一分からないです
public class Main05_11{
private static int add(int x, int y){
return x + y;
}
public static void main(String[] args){
System.out.println("10+20=" + add(10, 20));
}
}
この時ってreturn x + y;は一体どこに値を返しているのですか?
int ans = x + y
return ansであれば、値をansに返していると分かるのですが
ansなしでよく分からない所に返しているのに動いているのが分からず……
public class Main05_11{
private static int add(int x, int y){
return x + y;
}
public static void main(String[] args){
System.out.println("10+20=" + add(10, 20));
}
}
この時ってreturn x + y;は一体どこに値を返しているのですか?
int ans = x + y
return ansであれば、値をansに返していると分かるのですが
ansなしでよく分からない所に返しているのに動いているのが分からず……
163デフォルトの名無しさん
2017/05/01(月) 15:07:15.65ID:UF+7Ud8a164デフォルトの名無しさん
2017/05/01(月) 15:36:26.65ID:F35eYYLf165デフォルトの名無しさん
2017/05/04(木) 03:35:25.45ID:gAUNCpWB paizaでfor文で解ける問題をforEachで解いてみたら軽く2倍以上の時間がかかったのですが効率悪くないですか?
使い道あるんですかね
使い道あるんですかね
166デフォルトの名無しさん
2017/05/04(木) 03:57:25.21ID:0GlJDnqX Java随分離れたけど、forEachって何。
メソッド?
Javaのforeachって拡張for文だったはずだが。
メソッド?
Javaのforeachって拡張for文だったはずだが。
167デフォルトの名無しさん
2017/05/04(木) 04:52:18.46ID:4JL58KAn foreachは生えてるぞ。
list.forEach(System.out::println);
とか。拡張forにしろイテレータ使うと要素数によっては処理時間に差がつくな。
list.forEach(System.out::println);
とか。拡張forにしろイテレータ使うと要素数によっては処理時間に差がつくな。
168デフォルトの名無しさん
2017/05/04(木) 05:13:05.21ID:0GlJDnqX ふむふむ。
Linqっぽいの付いたのね。
その用途だとmapとかの方がらしいメソッド名なんだが。
Linqっぽいの付いたのね。
その用途だとmapとかの方がらしいメソッド名なんだが。
169デフォルトの名無しさん
2017/05/04(木) 08:04:03.31ID:dLBAq4Dp この文脈だと処理時間が2倍なのか解答時間が2倍なのか
170デフォルトの名無しさん
2017/05/04(木) 08:29:19.35ID:BU79yY+V >>165
LinkedListで使ってみたら?
LinkedListで使ってみたら?
171デフォルトの名無しさん
2017/05/04(木) 11:49:23.38ID:p0RzDybu これだから理系は付き合いきれん
機械の方がまだ融通が利くわ
機械の方がまだ融通が利くわ
172デフォルトの名無しさん
2017/05/04(木) 13:22:46.77ID:qYtoqfij173デフォルトの名無しさん
2017/05/04(木) 14:52:50.80ID:hrGLq/bC 今扱ってるシステムがJava7だからstreamとかラムダ式とか使わないけど
本読んでもよくわからん……
本読んでもよくわからん……
174デフォルトの名無しさん
2017/05/04(木) 15:36:20.32ID:EbCQq7yq あれ?Java7にはないんだっけ?
175デフォルトの名無しさん
2017/05/04(木) 15:58:11.88ID:hrGLq/bC あれ?Java8からじゃなかったっけ?
176デフォルトの名無しさん
2017/05/04(木) 16:07:35.97ID:5jh0epYp streamなんてSQLとか扱える思考回路があれば使えるぞ
177デフォルトの名無しさん
2017/05/04(木) 19:19:52.86ID:YNozeJnq 皆最初どうやってjavaを勉強したの?
自分今基本情報処理試験をあとはプログラミングのところだけっていうところまでやったのだけど、カプセル化とかモジュール分けとかオブジェクト指向とかそういう考え方があるんだってういのはわかったんだけど
いざ自分でnetbeansのjavaファイルで書こうとしたらまずはoutprintしてみようと思ったら早速エラーが出てエラー原因が何だか全く分からない
英語の基本文法みたいにそういうの知らないと厳しい気がするのだが
皆の初学の経験を教えてほしい、できれば独学でやった人から聞きたい
あと、何か作ろうって思ったときはフローチャート作った方がいい?
自分今基本情報処理試験をあとはプログラミングのところだけっていうところまでやったのだけど、カプセル化とかモジュール分けとかオブジェクト指向とかそういう考え方があるんだってういのはわかったんだけど
いざ自分でnetbeansのjavaファイルで書こうとしたらまずはoutprintしてみようと思ったら早速エラーが出てエラー原因が何だか全く分からない
英語の基本文法みたいにそういうの知らないと厳しい気がするのだが
皆の初学の経験を教えてほしい、できれば独学でやった人から聞きたい
あと、何か作ろうって思ったときはフローチャート作った方がいい?
178デフォルトの名無しさん
2017/05/04(木) 19:43:35.61ID:mK1iuMfc >>177
俺は全て独学だがまずはC言語、C++、C#の順に勉強する
するとJavaを半日程度で理解できる下地が出来上がる
何事も基本が大事だ
基本ができてればJavaなどたやすく扱えるし基本ができてなければどんな勉強をしても身につかない
物事には順番がありそれはお手軽に身につくものではない
俺は全て独学だがまずはC言語、C++、C#の順に勉強する
するとJavaを半日程度で理解できる下地が出来上がる
何事も基本が大事だ
基本ができてればJavaなどたやすく扱えるし基本ができてなければどんな勉強をしても身につかない
物事には順番がありそれはお手軽に身につくものではない
179デフォルトの名無しさん
2017/05/04(木) 20:04:55.79ID:u6JIByox >>177
ひたすらエラーメッセージを読む
エラーメッセージをググる
「java ○○」でググる
「java ○○とは」でググる
「java ○○ できない」でググる
「java ○○ するには」でググる
エラーメッセージで知らない英単語があれば意味をググってからもう一度読む
答えが書いてあるっぽい掲示板が英語で書かれてても臆せず読む
それだけ
ひたすらエラーメッセージを読む
エラーメッセージをググる
「java ○○」でググる
「java ○○とは」でググる
「java ○○ できない」でググる
「java ○○ するには」でググる
エラーメッセージで知らない英単語があれば意味をググってからもう一度読む
答えが書いてあるっぽい掲示板が英語で書かれてても臆せず読む
それだけ
180デフォルトの名無しさん
2017/05/04(木) 20:07:29.10ID:mK1iuMfc181デフォルトの名無しさん
2017/05/04(木) 20:11:19.54ID:TB6ujr0/ >>177
まずは入門書1冊買ってきてそれに合わせて勉強するしかない
エラーの原因とかも正しい書き方自体がまだ分かって無い状態だし
後はエラーが出たらググるか
ソースコードどっかに置くかかここに書いて聞くか
まずは入門書1冊買ってきてそれに合わせて勉強するしかない
エラーの原因とかも正しい書き方自体がまだ分かって無い状態だし
後はエラーが出たらググるか
ソースコードどっかに置くかかここに書いて聞くか
182デフォルトの名無しさん
2017/05/04(木) 20:30:41.25ID:rPmF/fmP >>180
体系的な知識を身につけるのは大前提として、エラー対処の知識が要らないわけないでしょう
少なくともJavaを勉強するために先にC#を学ぶなんてトンチンカンなことしてる暇があったらその時間でJavaの
知識を仕入れるべき
体系的な知識を身につけるのは大前提として、エラー対処の知識が要らないわけないでしょう
少なくともJavaを勉強するために先にC#を学ぶなんてトンチンカンなことしてる暇があったらその時間でJavaの
知識を仕入れるべき
183デフォルトの名無しさん
2017/05/04(木) 20:49:08.82ID:Z6thB1wv スッキリわかるJava(という書籍)では、コンストラクタやインスタンスメソッドに
publicが付いてないのですが、基本的に付けない方針で問題無いでしょうか?
publicが付いてないのですが、基本的に付けない方針で問題無いでしょうか?
184デフォルトの名無しさん
2017/05/04(木) 20:59:23.90ID:0H6f0r38 >>183
ここに詳しく書いてある
http://msugai.fc2web.com/java/permitmod.html
まともにコード書きたいならパッケージの外から呼び出せるかとか一々考えながら書くといいかな(おすすめしないが実を言うとリフレクションで呼び出せちゃうけど)
ここに詳しく書いてある
http://msugai.fc2web.com/java/permitmod.html
まともにコード書きたいならパッケージの外から呼び出せるかとか一々考えながら書くといいかな(おすすめしないが実を言うとリフレクションで呼び出せちゃうけど)
185デフォルトの名無しさん
2017/05/04(木) 21:14:39.50ID:mK1iuMfc >>182
トンチンカンだとおもっているならその程度だよ君は
C、C++を知らないプログラマなど潜りの素人だし
優れた言語設計のC#をJavaより先に学ぶメリットは大きい
そしてこれらをこなせばJavaも自然とできるようになっている
したがってJavaなんぞは後回しで良い
トンチンカンだとおもっているならその程度だよ君は
C、C++を知らないプログラマなど潜りの素人だし
優れた言語設計のC#をJavaより先に学ぶメリットは大きい
そしてこれらをこなせばJavaも自然とできるようになっている
したがってJavaなんぞは後回しで良い
186デフォルトの名無しさん
2017/05/04(木) 21:23:59.84ID:qYtoqfij187デフォルトの名無しさん
2017/05/04(木) 21:32:52.04ID:mK1iuMfc >>186
Javaだけやって同じレベルになるより遥かに早いよ
初心者から初めて金を貰っても許されるレベルになるまで1年といったところだな
Javaだけだと10年経ってもその領域に届かないクズが少なくないということはこの業界の先人たちが証明している
急がば回れというやつだ
Javaだけやって同じレベルになるより遥かに早いよ
初心者から初めて金を貰っても許されるレベルになるまで1年といったところだな
Javaだけだと10年経ってもその領域に届かないクズが少なくないということはこの業界の先人たちが証明している
急がば回れというやつだ
188デフォルトの名無しさん
2017/05/04(木) 21:35:23.59ID:rPmF/fmP スッキリ君といいちょいちょい変なのが沸くスレだな
189デフォルトの名無しさん
2017/05/04(木) 21:37:31.74ID:g1QlM0ze C#を覚えるとデリゲートくれLINQくれプロパティくれ〜ってなるのでよくない
190デフォルトの名無しさん
2017/05/04(木) 21:40:59.09ID:qYtoqfij >>187
C、C++、C#を勉強してJavaを勉強して到達するレベルを
基準にしたらそれはそうなると思うんだよ
Javaを勉強したいというときに
Javaだけを勉強するのとどちらが効率いいですか?ってことなので
Javaだけを基準にした場合、到達速度っていうのは変わってくるんじゃない?
いろんな言語を1年で齧って回るよりはJavaを勉強したがいんじゃないかな
C、C++、C#を勉強してJavaを勉強して到達するレベルを
基準にしたらそれはそうなると思うんだよ
Javaを勉強したいというときに
Javaだけを勉強するのとどちらが効率いいですか?ってことなので
Javaだけを基準にした場合、到達速度っていうのは変わってくるんじゃない?
いろんな言語を1年で齧って回るよりはJavaを勉強したがいんじゃないかな
191デフォルトの名無しさん
2017/05/04(木) 21:47:21.88ID:qYtoqfij >>177
慣れることが大事なのでサンプルコードを書きまくるのがいいと思う
おすすめは↓の2冊
10日でおぼえるJava入門教室
https://www.amazon.co.jp/dp/4798120197/
新・明解Java入門 (明解シリーズ)
https://www.amazon.co.jp/dp/4797387602/
10日でおぼえる〜は1日目はこれみたいに区切りがいいので
やりやすいかと
慣れることが大事なのでサンプルコードを書きまくるのがいいと思う
おすすめは↓の2冊
10日でおぼえるJava入門教室
https://www.amazon.co.jp/dp/4798120197/
新・明解Java入門 (明解シリーズ)
https://www.amazon.co.jp/dp/4797387602/
10日でおぼえる〜は1日目はこれみたいに区切りがいいので
やりやすいかと
192デフォルトの名無しさん
2017/05/04(木) 21:47:36.98ID:GHkN69u9 >>177
元々C言語は知っていて仕事でもずっと使ってた。で、C++が流行り出したので少しは学習したが仕事で本格的に使うまでには至らなかった。
その後かなり時間が経ってからJavaが流行り出して、そこで入門書読んでだいたいわかった感じ。これが20年ぐらい前の話だ。
しかし今まで仕事はずっとC言語ばかりでJavaを仕事で使うことはなかった。Linuxのサーバ側のCで作られたプログラムにずっと関わってたからだ。
元々C言語は知っていて仕事でもずっと使ってた。で、C++が流行り出したので少しは学習したが仕事で本格的に使うまでには至らなかった。
その後かなり時間が経ってからJavaが流行り出して、そこで入門書読んでだいたいわかった感じ。これが20年ぐらい前の話だ。
しかし今まで仕事はずっとC言語ばかりでJavaを仕事で使うことはなかった。Linuxのサーバ側のCで作られたプログラムにずっと関わってたからだ。
193デフォルトの名無しさん
2017/05/04(木) 21:51:14.78ID:4KUdSbXO >>173
流れを感じるのじゃ
流れを感じるのじゃ
194デフォルトの名無しさん
2017/05/04(木) 22:01:25.36ID:mK1iuMfc >>190
Javaにはろくな参考書がないからね
良書の揃ってるCファミリとC#の方が早く深く学べる
そうして土台が出来上がればじゃあJavaの場合はどうなのという事を覚えるのは実に容易い
結果的にJavaだけを学ぶ場合よりも早く深くJavaを知ることができる
Javaにはろくな参考書がないからね
良書の揃ってるCファミリとC#の方が早く深く学べる
そうして土台が出来上がればじゃあJavaの場合はどうなのという事を覚えるのは実に容易い
結果的にJavaだけを学ぶ場合よりも早く深くJavaを知ることができる
195デフォルトの名無しさん
2017/05/04(木) 22:06:59.52ID:qYtoqfij >>194
JavaとC#は似てるから
JavaがわかるようになればC#もわかるかと
深くJavaを知るっていうのはつまりC、C++、C#を勉強して到達するレベルの話だよね
そうでなくてJavaを勉強して到達するレベルを基準にした場合
Javaを勉強するのが近道だと思わない?
JavaとC#は似てるから
JavaがわかるようになればC#もわかるかと
深くJavaを知るっていうのはつまりC、C++、C#を勉強して到達するレベルの話だよね
そうでなくてJavaを勉強して到達するレベルを基準にした場合
Javaを勉強するのが近道だと思わない?
196デフォルトの名無しさん
2017/05/04(木) 22:13:01.02ID:qYtoqfij Javaがわかるようになればプログラムの考え方も身についてるから
CやC#もすっと入ってくるんじゃないかな
C++は人類にはまだ早いと思う
CやC#もすっと入ってくるんじゃないかな
C++は人類にはまだ早いと思う
197デフォルトの名無しさん
2017/05/04(木) 22:26:18.44ID:hGwzsYkf むしろJava分かったから、C/C++のスタック/ヒープの意味(newするクラスとしないクラスの違い)や、C++特有のフレンドクラスが分かった。
順番はどうでも良いけど、Javaとは別にCは学んでおいた方がいい。
順番はどうでも良いけど、Javaとは別にCは学んでおいた方がいい。
198デフォルトの名無しさん
2017/05/04(木) 22:30:38.02ID:4KUdSbXO プログラマーたるもの手続き型、オブジェクト指向型、関数型に属する言語を最低でも一つずつは習得しておかんとね
そして関数型に惚れ込んでJavaでもラムダ計算やカリー化をバシバシ使い周りに疎まれる存在となるのだ
そして関数型に惚れ込んでJavaでもラムダ計算やカリー化をバシバシ使い周りに疎まれる存在となるのだ
199デフォルトの名無しさん
2017/05/04(木) 22:38:29.99ID:TB6ujr0/ ruby→javaの順だけど
オブジェクト指向の理解はし易くなった感
javaだと思いっきりソースコード変わるから実感じやすい
オブジェクト指向の理解はし易くなった感
javaだと思いっきりソースコード変わるから実感じやすい
200デフォルトの名無しさん
2017/05/04(木) 22:41:33.02ID:g1QlM0ze Javaでラムダ計算はつらいとか考えてたら気がついたらマシンにClojureが導入されてる
201デフォルトの名無しさん
2017/05/04(木) 23:25:17.13ID:6JYEyXx+ int型配列の最頻値を求めるメソッドは用意されてないのでしょうか?
202デフォルトの名無しさん
2017/05/04(木) 23:38:27.31ID:qYtoqfij >>201
標準ライブラリにはないけれども、大丈夫っしょ、余裕っしょ、できるっしょ
標準ライブラリにはないけれども、大丈夫っしょ、余裕っしょ、できるっしょ
204デフォルトの名無しさん
2017/05/05(金) 00:12:55.97ID:YKLEnk0e >>90
ここに書いてある
スッキリわかる Java入門 第2版、2014
まずこの本を3回読んで、オブジェクト指向をみっちりと学ぶ
この本が、すべての言語の基本。
その後、好きな言語を勉強すればいい
ここに書いてある
スッキリわかる Java入門 第2版、2014
まずこの本を3回読んで、オブジェクト指向をみっちりと学ぶ
この本が、すべての言語の基本。
その後、好きな言語を勉強すればいい
205183
2017/05/05(金) 01:17:39.61ID:GcsXwLgt >>204
その本悪くないと思うし、あんまりケチつけたくないけど、
Scannerクラスの使い方が詳しく載ってなかった。
(インスタンス化についての記述が無い)
Randomクラスも同様。
過信は禁物か。
その本悪くないと思うし、あんまりケチつけたくないけど、
Scannerクラスの使い方が詳しく載ってなかった。
(インスタンス化についての記述が無い)
Randomクラスも同様。
過信は禁物か。
206デフォルトの名無しさん
2017/05/05(金) 01:23:45.78ID:ecYRcjUo207デフォルトの名無しさん
2017/05/05(金) 01:24:59.61ID:jRdxjTk1 ここからJavaのほとんどを学んだ
http://www.ne.jp/asahi/hishidama/home/tech/java/index.html
http://www.ne.jp/asahi/hishidama/home/tech/java/index.html
208デフォルトの名無しさん
2017/05/05(金) 01:30:04.44ID:yjG7qa8A209デフォルトの名無しさん
2017/05/05(金) 02:03:32.40ID:Pxg1OvaW >>207
こういうサイトがある時何から学べばいいの?
俺みたいなちんぷんかんぷんだと上から全て順に読んで、わからない言葉があると調べて、それでも概念的なものがよくわからなくてとりあえずわかったふりしたまま先に進んで結果あまり頭に入ってなかったっていうのがよくある失敗パターンなのだが
こういうサイトがある時何から学べばいいの?
俺みたいなちんぷんかんぷんだと上から全て順に読んで、わからない言葉があると調べて、それでも概念的なものがよくわからなくてとりあえずわかったふりしたまま先に進んで結果あまり頭に入ってなかったっていうのがよくある失敗パターンなのだが
210スッキリ厨
2017/05/05(金) 02:04:46.46ID:YKLEnk0e 「たのしいRuby」など普通の本では、オブジェクト指向の説明は、数十ページ
でも「スッキリわかる Java入門」では、250ページもある。
つまり、Javaの本と言うよりも、オブジェクト指向の本なんだよ。
そして、すべての言語の基礎になる
だから、この本は、歴史的な本と言われるわけ。
これ以前には、オブジェクト指向を勉強する、簡単な本は無かった
未だに外国では、この本が無いから、
オブジェクト指向を勉強するのに、四苦八苦している
でも「スッキリわかる Java入門」では、250ページもある。
つまり、Javaの本と言うよりも、オブジェクト指向の本なんだよ。
そして、すべての言語の基礎になる
だから、この本は、歴史的な本と言われるわけ。
これ以前には、オブジェクト指向を勉強する、簡単な本は無かった
未だに外国では、この本が無いから、
オブジェクト指向を勉強するのに、四苦八苦している
211デフォルトの名無しさん
2017/05/05(金) 02:06:41.17ID:Pxg1OvaW あと、javaを実行する時とJSPを実行する時、それぞれpublic class{とか<%とか必要だと思うんだけどこれがないとコンピュータが処理であると認識しないっていうこと?
それとprivate class とpublic class の違いもイマイチわからぬ
Privateはそのクラス内でしか呼び出せないっていうけど、そもそも呼び出すってなんぞや
それとprivate class とpublic class の違いもイマイチわからぬ
Privateはそのクラス内でしか呼び出せないっていうけど、そもそも呼び出すってなんぞや
212デフォルトの名無しさん
2017/05/05(金) 02:21:57.70ID:Pxg1OvaW >>207
もう一個質問お願いします
extends 抽象クラス
その後に具体的な処理を書くって書いてあるけど抽象クラスを定義する意味ってあるの?
具体的な内容を記述するならそもそも抽象クラスを定義する必要あるのかなって
抽象クラスとかは使い方もわからないしそもそもなんでそういう考え方をするのかも理解ができない
何が言いたいかというと例えば車っていう抽象クラスがあったとしてそれは排気量を記述しなければいけない、メソッドとして走る機能を持つって事として
後で具象化クラスでextends車で抽象クラスを呼び出した時に結局排気量=なんたら、とかを記述しないといけないじゃない
だから、そういう制約的な意味しかないんじゃないかなと
プログラミングにおいて便利にするためにそういう事をしてるはずなのに、その利便性がイマイチ掴めないのだ
今は繰り返し処理とかつかって素数を求めるプログラムを作るっていう事を書いてるレベルだから、もっとゲーム的な方に行くとその意味がはっきりするのかね?
もう一個質問お願いします
extends 抽象クラス
その後に具体的な処理を書くって書いてあるけど抽象クラスを定義する意味ってあるの?
具体的な内容を記述するならそもそも抽象クラスを定義する必要あるのかなって
抽象クラスとかは使い方もわからないしそもそもなんでそういう考え方をするのかも理解ができない
何が言いたいかというと例えば車っていう抽象クラスがあったとしてそれは排気量を記述しなければいけない、メソッドとして走る機能を持つって事として
後で具象化クラスでextends車で抽象クラスを呼び出した時に結局排気量=なんたら、とかを記述しないといけないじゃない
だから、そういう制約的な意味しかないんじゃないかなと
プログラミングにおいて便利にするためにそういう事をしてるはずなのに、その利便性がイマイチ掴めないのだ
今は繰り返し処理とかつかって素数を求めるプログラムを作るっていう事を書いてるレベルだから、もっとゲーム的な方に行くとその意味がはっきりするのかね?
213デフォルトの名無しさん
2017/05/05(金) 02:36:54.89ID:Y8XbhYBn もうはっきり言ってしまうとプログラミング初心者がオブジェクト指向型言語なんてものから始めるべきじゃないんですよ
たかだかHelloWorldやFizzBuzzするためになんでクラスやアクセス修飾子を気にせねばならんのだと
それでもどうしてもJavaから覚えたいなら身の丈に合わない疑問は飲み込んでひたすら前に進むしかないのですよ
たかだかHelloWorldやFizzBuzzするためになんでクラスやアクセス修飾子を気にせねばならんのだと
それでもどうしてもJavaから覚えたいなら身の丈に合わない疑問は飲み込んでひたすら前に進むしかないのですよ
214デフォルトの名無しさん
2017/05/05(金) 02:40:44.53ID:iQB12R96 つっても、もう世に出てる言語の殆どはLL含めオブジェクト指向言語だろ。
。。。関数型言語の世界へようこそ?
。。。関数型言語の世界へようこそ?
215デフォルトの名無しさん
2017/05/05(金) 02:44:11.57ID:jRdxjTk1 >>212
例えばその走るって動作には、燃料と空気を供給してエンジンを作動させて動力を生み出すという過程があって、これは二輪でも四輪でも共通である(現実にはエンジンごとに違うがここでは無視)
二輪と四輪のクラスを作るとしてそのベースになる車というインターフェースを定義するとして、両方に同じことを書くことになって、それは無駄だからその部分を抽象クラスとしてまとめてしまおうという考え
間違ってたらスマソ
例えばその走るって動作には、燃料と空気を供給してエンジンを作動させて動力を生み出すという過程があって、これは二輪でも四輪でも共通である(現実にはエンジンごとに違うがここでは無視)
二輪と四輪のクラスを作るとしてそのベースになる車というインターフェースを定義するとして、両方に同じことを書くことになって、それは無駄だからその部分を抽象クラスとしてまとめてしまおうという考え
間違ってたらスマソ
216デフォルトの名無しさん
2017/05/05(金) 02:50:09.25ID:TDjvniVu217デフォルトの名無しさん
2017/05/05(金) 02:54:03.98ID:Pxg1OvaW >>212
そういう前提があるっていう事でしょ?でも実際処理で車のエンジンの仕組みは重要じゃなくてどのようにそれらの車が動くかが重要になるのじゃない?
マニュアル車ならクラッチ操作、オートマならレンジチェンジ(でいいんだっけ)などの具体的な操作を個々に記述して行くと思うんだけど共通の仕組みそのものを定義する事は便利さには繋がっていないんじゃないかなって
確かに車はエンジンがないと動かないけど、プログラム上では(ってかユーザーにとっては)エンジンがあるかないかなんて関係が無いんじゃないの?
定義しないといけないっていう具体的な例があったら教えて欲しい
そういう前提があるっていう事でしょ?でも実際処理で車のエンジンの仕組みは重要じゃなくてどのようにそれらの車が動くかが重要になるのじゃない?
マニュアル車ならクラッチ操作、オートマならレンジチェンジ(でいいんだっけ)などの具体的な操作を個々に記述して行くと思うんだけど共通の仕組みそのものを定義する事は便利さには繋がっていないんじゃないかなって
確かに車はエンジンがないと動かないけど、プログラム上では(ってかユーザーにとっては)エンジンがあるかないかなんて関係が無いんじゃないの?
定義しないといけないっていう具体的な例があったら教えて欲しい
218デフォルトの名無しさん
2017/05/05(金) 02:59:46.55ID:Pxg1OvaW 窓はガラスでできている。そのガラスを使って窓を開け作った上でこっちに押したら閉まる、こっちに押したら開くなどのことが出来るようになる
だからまずはガラスでできているという共通前提定義が必要となる。それはわかる
でも実際プログラム上でそれがどう有効なのかがわからない
人間クラスに名前はまず名前、年齢が必要、その上で個々の動作をして行くわけだけど定義してそのクラスを呼び出しても結局年齢とかは手書きで書いて行くわけじゃん
例えばどういう時にオブジェクト指向を使ってるのかとかあったら教えて欲しい、ゲームとかでもいいので
だからまずはガラスでできているという共通前提定義が必要となる。それはわかる
でも実際プログラム上でそれがどう有効なのかがわからない
人間クラスに名前はまず名前、年齢が必要、その上で個々の動作をして行くわけだけど定義してそのクラスを呼び出しても結局年齢とかは手書きで書いて行くわけじゃん
例えばどういう時にオブジェクト指向を使ってるのかとかあったら教えて欲しい、ゲームとかでもいいので
219デフォルトの名無しさん
2017/05/05(金) 03:13:17.49ID:jRdxjTk1 確かに個々の動作を書くのには抽象クラスは全く役に立たないよ、ただプログラムを動かすにはその外から見て重要ではない部分が必要なわけで、その部分が共通だとコピペするのは簡単だが後々の修正が大変、だからまとめておくと
220デフォルトの名無しさん
2017/05/05(金) 03:20:10.72ID:Pxg1OvaW >>219
具体的にプログラムの世界だと何をまとめるの?実行するための記述以外にプログラムそのものを動かすために必要なものの具体例がわからないのだが
具体的にプログラムの世界だと何をまとめるの?実行するための記述以外にプログラムそのものを動かすために必要なものの具体例がわからないのだが
221デフォルトの名無しさん
2017/05/05(金) 03:37:46.29ID:jRdxjTk1 JavaにはListって可変長の配列を作るためのインターフェースがあるけど
http://docs.oracle.com/javase/jp/7/api/java/util/List.html
これだけのメソッドを実装しろと要求してくる
そしてこれを使って中身の違う実装を作るときに全部を何度も実装するのは骨が折れる作業だよね
そこでAll系のメソッド等他のメソッド呼び出しで書けるものを抽象クラスに書いておけば実際に実装するときに書かなくてよくなる(効率化したいとかだと書いてもよい)
折角クラスライブラリのソースあるんだしAbstractList辺りのソース見てみるといいよ
http://docs.oracle.com/javase/jp/7/api/java/util/List.html
これだけのメソッドを実装しろと要求してくる
そしてこれを使って中身の違う実装を作るときに全部を何度も実装するのは骨が折れる作業だよね
そこでAll系のメソッド等他のメソッド呼び出しで書けるものを抽象クラスに書いておけば実際に実装するときに書かなくてよくなる(効率化したいとかだと書いてもよい)
折角クラスライブラリのソースあるんだしAbstractList辺りのソース見てみるといいよ
222デフォルトの名無しさん
2017/05/05(金) 03:43:35.59ID:jRdxjTk1 分かりにくい説明しかできなくてすまんの、多分現実の物体で考えずにプログラムとして直接考えるのが一番の近道じゃないかな
223デフォルトの名無しさん
2017/05/05(金) 03:50:24.78ID:TDjvniVu >>220
たとえば共通の手順とか
テンプレートメソッドと呼ばれるパターンの例(HeadFirstデザインパターンより)
http://i.imgur.com/4m0ZWv7.png
コーヒーでも紅茶でも抽象化した手順は同じたし
お湯沸かしたりカップに注ぐ部分は全く同じ
今はJavaでも抽象クラスとは違う方法でも実装できるけど
こういう基礎の理解は必要
たとえば共通の手順とか
テンプレートメソッドと呼ばれるパターンの例(HeadFirstデザインパターンより)
http://i.imgur.com/4m0ZWv7.png
コーヒーでも紅茶でも抽象化した手順は同じたし
お湯沸かしたりカップに注ぐ部分は全く同じ
今はJavaでも抽象クラスとは違う方法でも実装できるけど
こういう基礎の理解は必要
224デフォルトの名無しさん
2017/05/05(金) 04:16:15.80ID:JPrvtXpw ゲームのマップを作ろうと考えています。
マップ画像を表示させ、マップ上の任意の部屋をクリックすると、その場所の名前(ロビー、キッチン、ベッドルーム、など)を表示するようにしたいです。
この処理を実装するには、どのような方法がスマートでしょうか?
各部屋の形は四角形ではなく、円や三角形など複雑な形をしているので、単純に四隅の座標を部屋名とともに配列に格納しておき、クリックした座標を内部に含むものをfor文で回して探索する・・・という方法は難しいです。
どうかお力添えください。
マップ画像を表示させ、マップ上の任意の部屋をクリックすると、その場所の名前(ロビー、キッチン、ベッドルーム、など)を表示するようにしたいです。
この処理を実装するには、どのような方法がスマートでしょうか?
各部屋の形は四角形ではなく、円や三角形など複雑な形をしているので、単純に四隅の座標を部屋名とともに配列に格納しておき、クリックした座標を内部に含むものをfor文で回して探索する・・・という方法は難しいです。
どうかお力添えください。
225スッキリ厨
2017/05/05(金) 05:14:23.88ID:YKLEnk0e ゲームは、オブジェクト指向の最高峰
キャラクタークラスから、勇者・魔法使いなどを、
モンスタークラスから、スライム・ゾンビなどを派生させる
is-a, has-a とか勉強すれば?
消防車は車の一種。is-a。継承
車はハンドルを持っている。has-a。部品
「スッキリわかる Java入門」では、オブジェクト指向の説明が、250ページもある。
ここ20年間、世界中の中年のCプログラマーが、皆、C++へ移行できずに撃沈している
オブジェクト指向がどれぐらい難しいか、分かるでしょ?
だから、スッキリが日本中に、革命を起こした
キャラクタークラスから、勇者・魔法使いなどを、
モンスタークラスから、スライム・ゾンビなどを派生させる
is-a, has-a とか勉強すれば?
消防車は車の一種。is-a。継承
車はハンドルを持っている。has-a。部品
「スッキリわかる Java入門」では、オブジェクト指向の説明が、250ページもある。
ここ20年間、世界中の中年のCプログラマーが、皆、C++へ移行できずに撃沈している
オブジェクト指向がどれぐらい難しいか、分かるでしょ?
だから、スッキリが日本中に、革命を起こした
226デフォルトの名無しさん
2017/05/05(金) 05:22:28.10ID:YKLEnk0e227デフォルトの名無しさん
2017/05/05(金) 12:17:52.64ID:Oxs8iPV6 超単純にやるなら
・種別(矩形、三角形、円)
・パラメータ(最大4つ)
頂点の絶対座標もしくは円の中心座標&半径
とやって判定時などに種別に応じて処理を分ける
それと一つの部屋?を分割して単純な図形の組み合わせにする
回転が必要なら矩形を2つの三角形に変える
スクロールとか必要ならもっと面倒だけど
プロパティかパラメータを増やせばなんとかなるべ
・種別(矩形、三角形、円)
・パラメータ(最大4つ)
頂点の絶対座標もしくは円の中心座標&半径
とやって判定時などに種別に応じて処理を分ける
それと一つの部屋?を分割して単純な図形の組み合わせにする
回転が必要なら矩形を2つの三角形に変える
スクロールとか必要ならもっと面倒だけど
プロパティかパラメータを増やせばなんとかなるべ
228デフォルトの名無しさん
2017/05/05(金) 12:24:15.13ID:jsHCnOkz Javaプログラマはオブジェクト指向をよくわかってない人が多い
C#プログラマはみんなよくわかってる
C#マイクロソフト公式の参考書など良書が揃っているからね
Javaはろくな本がない
初心者をごまかしてわかった気にさせるような本ばかりだ
C#プログラマはみんなよくわかってる
C#マイクロソフト公式の参考書など良書が揃っているからね
Javaはろくな本がない
初心者をごまかしてわかった気にさせるような本ばかりだ
229デフォルトの名無しさん
2017/05/05(金) 12:42:33.54ID:8b9qfJY2 それってあなたの感想ですよね?
なんかそういうデータあるんですか?
なんかそういうデータあるんですか?
230デフォルトの名無しさん
2017/05/05(金) 12:50:52.07ID:XP+Q0OKG >>229
会社にあります
会社にあります
231デフォルトの名無しさん
2017/05/05(金) 12:55:46.33ID:Dvx8ftQc いちいち部屋分割して図形の頂点座標測ったりとか種別とかやってられないでしょ
元のマップとは別に、それぞれ部屋ごとに色で塗りつぶしたマップを用意して裏で読み込ませといて、クリックした地点のカラーコード読んで色に対応した部屋名を取り出す
ってのを考えたんだけどどうよ
元のマップとは別に、それぞれ部屋ごとに色で塗りつぶしたマップを用意して裏で読み込ませといて、クリックした地点のカラーコード読んで色に対応した部屋名を取り出す
ってのを考えたんだけどどうよ
232デフォルトの名無しさん
2017/05/05(金) 13:14:01.06ID:8b9qfJY2 >>230
それ「宿題家に忘れました」と同レベルじゃないですかー
それ「宿題家に忘れました」と同レベルじゃないですかー
233デフォルトの名無しさん
2017/05/05(金) 13:22:43.96ID:XP+Q0OKG234デフォルトの名無しさん
2017/05/05(金) 13:28:33.31ID:8b9qfJY2235デフォルトの名無しさん
2017/05/05(金) 13:29:35.85ID:Up1lvbHo まぁポンコツな会社にはポンコツが集まるって言われてるし
236デフォルトの名無しさん
2017/05/05(金) 13:41:46.76ID:XP+Q0OKG237デフォルトの名無しさん
2017/05/05(金) 13:49:41.18ID:n4hNDFR+ 会社にありますはガイジすぎる
そんなん通るならC#プログラマーは全員屑!証拠は俺の会社にある!
そんなん通るならC#プログラマーは全員屑!証拠は俺の会社にある!
238デフォルトの名無しさん
2017/05/05(金) 14:21:00.68ID:XP+Q0OKG というか俺の会社じゃなくてもどの会社にでもある
過去の案件を分析すれば答えは出るよ
Javaがいかに失敗を生み出してきたか数字ではっきりと出てくる
GW明けにでも調べてみるといい
過去の案件を分析すれば答えは出るよ
Javaがいかに失敗を生み出してきたか数字ではっきりと出てくる
GW明けにでも調べてみるといい
239デフォルトの名無しさん
2017/05/05(金) 14:28:17.47ID:xfO5LNpr 今から勉強しようとしてる人向けの話じゃなかったのか?
今から勉強しようとしてるのなんて学生に決まってるんだから会社の資料は見れないでしょ……
まさか社会人にもなってやっとJava勉強しようとしてる意識低い系の話なのか?
今から勉強しようとしてるのなんて学生に決まってるんだから会社の資料は見れないでしょ……
まさか社会人にもなってやっとJava勉強しようとしてる意識低い系の話なのか?
240デフォルトの名無しさん
2017/05/05(金) 14:30:45.16ID:EB13pOeh 去年調べた結果だと、Javaの方がC#より三倍生産性が良かったよ。
今年は知らんが、多分同じじゃない?
今年は知らんが、多分同じじゃない?
241デフォルトの名無しさん
2017/05/05(金) 14:35:53.90ID:XP+Q0OKG >>239
Javaはそういう意識低い人ばかり
Javaはそういう意識低い人ばかり
242デフォルトの名無しさん
2017/05/05(金) 16:17:42.92ID:Pxg1OvaW public class void String NewClass() {
System.out,.print ("hello");
}
実行しようとしてもエラーが出る
identifierがありません。
全く持って意味が分からない…
System.out,.print ("hello");
}
実行しようとしてもエラーが出る
identifierがありません。
全く持って意味が分からない…
243デフォルトの名無しさん
2017/05/05(金) 16:28:41.11ID:8b9qfJY2 おまじないがおかしいよ
ますおまじないをそらで書けるようになってから応用しなさい
あとoutの後ろの,はいらん
ますおまじないをそらで書けるようになってから応用しなさい
あとoutの後ろの,はいらん
244デフォルトの名無しさん
2017/05/05(金) 16:40:39.14ID:Pxg1OvaW >>242に関しては自己解決しました。
もう一つ質問だけどとりあえずネット上にあるサンプルを使ってコードを書きまくってみようと思ってるのだけどなにかコードを記述したいって思ったときに
public static void とかprivateとかいろいろあると思うんだけど何を基準に選んだんラいいの?
あと、いまやっとこさこれが書けたんだけどこの言葉から記号一つ一つの意味まで全部把握しておいた方がいい?
public class NewClass{
public static void main(String args[])
{
System.out.print("表示できるか??");
}
}
main このmainっていうのはクラス名?あとどこかでclassは一つのファイルに一つまでしか書けないって書いてあったけどこれにはclassが入ってないけど例えばオブジェクト指向で新しいクラスを作りたいってなった時に
classはファイル名と一緒でなければいけないって書いてあったのだけど、どうやって考えたらいいの?
もう一つ質問だけどとりあえずネット上にあるサンプルを使ってコードを書きまくってみようと思ってるのだけどなにかコードを記述したいって思ったときに
public static void とかprivateとかいろいろあると思うんだけど何を基準に選んだんラいいの?
あと、いまやっとこさこれが書けたんだけどこの言葉から記号一つ一つの意味まで全部把握しておいた方がいい?
public class NewClass{
public static void main(String args[])
{
System.out.print("表示できるか??");
}
}
main このmainっていうのはクラス名?あとどこかでclassは一つのファイルに一つまでしか書けないって書いてあったけどこれにはclassが入ってないけど例えばオブジェクト指向で新しいクラスを作りたいってなった時に
classはファイル名と一緒でなければいけないって書いてあったのだけど、どうやって考えたらいいの?
245デフォルトの名無しさん
2017/05/05(金) 16:48:22.02ID:Pxg1OvaW 多重に質問申し訳ない
言葉を覚えての色々な事を質問して回る子供だと思って聞いてほしい
javaの構文を覚えるときは皆一つの熟語として覚えてる?
例えばこういうときは
public static void main(String args[]){ を使うんだ、みたいなものを一つひとつの意味を考えないで丸ごと覚えているイメージ?
あとついでにもう一つ頼む、args[]の[]は配列を表すものだったと思うんだけどよく見るこのコードはなんで配列を指定しているの?
言葉を覚えての色々な事を質問して回る子供だと思って聞いてほしい
javaの構文を覚えるときは皆一つの熟語として覚えてる?
例えばこういうときは
public static void main(String args[]){ を使うんだ、みたいなものを一つひとつの意味を考えないで丸ごと覚えているイメージ?
あとついでにもう一つ頼む、args[]の[]は配列を表すものだったと思うんだけどよく見るこのコードはなんで配列を指定しているの?
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 最新版Z級クソ映画ランキングが決定! [牛丼★]
- 「1800万円の売り上げゼロに…」中国インバウンドに特化の宿の今 ★2 [蚤の市★]
- 公用車カーナビのNHK受信料「全額免除を」 千葉市議会、国に制度創設求める意見書可決 [少考さん★]
- 【食】「シャウエッセンは焼くべからず」暗黙のルールを破り売上高過去最高…日本ハム社員たちが「夜味」にかけた情熱 [ぐれ★]
- 神田沙也加さん元恋人で元俳優の前山剛久 六本木のメンズラウンジ勤務を報告「真叶(まなと)です。よろしく」 [muffin★]
- 地震 [Hitzeschleier★]
- 変な人「俺は正しい!お前らは間違っている!」←大体こいつのほうが迷惑で間違ってる件について
- 好きなAA貼ってけ!!!!!!!!!!!!!!!!!!!!!!!!!!!!(´・ω・`)
- ココアさん好き好き大好き
- そろそろ地球も旅立たないの?
- 【朗報】南鳥島のレアアース、中国産の「20倍の純度」青山繁晴氏「日本は資源大国」日本復活のファンファーレが鳴り響く! [673057929]
- 「妨」という字が女へんという事実…
