Java入門・初心者質問スレ Part.3at TECH
Java入門・初心者質問スレ Part.3 - 暇つぶし2ch150:139
17/04/28 17:53:15.48 OeyLlymU.net
>>146
分かりました。覚えておきます。
ありがとうございます。

151:デフォルトの名無しさん
17/04/29 15:38:04.47 JW7PzOlh.net
cvsファイルで
1 田中 りんご
3 鈴木 みかん
6 齋藤 ヨーグルト
2 根元 パン
5 根岸 サラダ
4 佐藤 ご飯
こんな感じのやつをソートしたいです。
数字の列が 配列0
名前が 配列1
食べ物系が配列2に入ってます
cvsを読み込んで数字の列を新しい配列0~5にいれてソートして表示するとこまではできたのですが
後ろの名前と食べ物が同時にソートされません。
やり方教えてください

152:デフォルトの名無しさん
17/04/29 15:38:07.81 hP9HIxoy.net
JavaFXでゲーム作りたいけど全然解説してる所ない…・・・
そんなに見放されてるもんなのか

153:デフォルトの名無しさん
17/04/29 15:39:33.67 JW7PzOlh.net
なんどもすみません
今は
1 田中 りんご
2 鈴木 みかん
3 齋藤 ヨーグルト
4 根元 パン
5 根岸 サラダ
6 佐藤 ご飯
みたいになってます。

154:デフォルトの名無しさん
17/04/29 15:48:07.67 nyANDfpK.net
別々の配列じゃ連動とか複雑過ぎ。
クラス作って、クラスの配列で読込やソートすれ。

155:デフォルトの名無しさん
17/04/29 17:15:02.95 HCCTcSxI.net
JavatrてCでいうとこの構造体って無いんすか?

156:デフォルトの名無しさん
17/04/29 17:16:52.09 6B/XobRt.net
>>148
インデックスをソートしちゃえばいいよ
URLリンク(paiza.io)
データは列の集合、列は行の集合になっているけれども
テーブルのようなデータ扱うときは
データは行の集合、行は列の集合
にしたがいんじゃないかな

157:デフォルトの名無しさん
17/04/29 21:02:24.15 y1rMzUYG.net
そもそも構造体を拡張したのがクラスじゃないの?

158:デフォルトの名無しさん
17/04/29 23:13:29.81 nyANDfpK.net
C#には構造体在るけど、Javaは無い。
メソッド無いクラス作れば、事実上の構造体。

159:デフォルトの名無しさん
17/04/30 02:15:39.83 Dc5Ny+RF.net
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}"); }

160:デフォルトの名無しさん
17/04/30 03:12:27.12 Pd/tmEqA.net
>>150
それぞれの列を別々の配列に詰めたら行ごとの関連付けが面倒くさいから行単位で関連付けてから配列に突っ込むイメージの方が楽
具体的にはもう出てるけど各行を表すEntityクラス作って各行のデータ突っ込んだインスタンスを配列化する

161:デフォルトの名無しさん
17/04/30 05:33:25.51 0NS9QiRt.net
一括りのデータを扱う時はレコードというもので扱うんだよ
レコードには固定長レコードと可変長レコードがある
固定長レコードは各フィールドの長さが決まってるからランダムアクセスすることができる
対して可変長レコードはシーケンシャルアクセスしかできないという欠点がある

162:デフォルトの名無しさん
17/04/30 05:34:31.46 /xQtxfzV.net
TreeMap 使えばいいのでは?
TreeMap<Integer, String[]> のインスタンスに put な。

163:デフォルトの名無しさん
17/04/30 05:36:54.83 /xQtxfzV.net
あ、行ごと扱うならキーだけIntegerにして値はそのまんまStringで入れといてもできるな。

164:デフォルトの名無しさん
17/04/30 05:50:10.68 /xQtxfzV.net
できた。ソートをTreeMapに任せてCSVの中身を何も考えずに突っ込んでる版。
URLリンク(paiza.io)

165:デフォルトの名無しさん
17/05/01 14:58:41.66 F35eYYLf.net
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なしでよく分からない所に返しているのに動いているのが分からず……

166:デフォルトの名無しさん
17/05/01 15:07:15.65 UF+7Ud8a.net
>>162
return x + y;はx + yの値をメソッドの呼び出し元に返してる
return ans;はansの値をメソッドの呼び出し元に返してる

167:デフォルトの名無しさん
17/05/01 15:36:26.65 F35eYYLf.net
>>163
あ、どっちもメソッドの呼び出し元に返してるんですね
根本的に認識を間違えてたみたいです、ありがとうございます

168:デフォルトの名無しさん
17/05/04 03:35:25.45 gAUNCpWB.net
paizaでfor文で解ける問題をforEachで解いてみたら軽く2倍以上の時間がかかったのですが効率悪くないですか?
使い道あるんですかね

169:デフォルトの名無しさん
17/05/04 03:57:25.21 0GlJDnqX.net
Java随分離れたけど、forEachって何。
メソッド?
Javaのforeachって拡張for文だったはずだが。

170:デフォルトの名無しさん
17/05/04 04:52:18.46 4JL58KAn.net
foreachは生えてるぞ。
list.forEach(System.out::println);
とか。拡張forにしろイテレータ使うと要素数によっては処理時間に差がつくな。

171:デフォルトの名無しさん
17/05/04 05:13:05.21 0GlJDnqX.net
ふむふむ。
Linqっぽいの付いたのね。
その用途だとmapとかの方がらしいメソッド名なんだが。

172:デフォルトの名無しさん
17/05/04 08:04:03.31 dLBAq4Dp.net
この文脈だと処理時間が2倍なのか解答時間が2倍なのか

173:デフォルトの名無しさん
17/05/04 08:29:19.35 BU79yY+V.net
>>165
LinkedListで使ってみたら?

174:デフォルトの名無しさん
17/05/04 11:49:23.38 p0RzDybu.net
これだから理系は付き合いきれん
機械の方がまだ融通が利くわ

175:デフォルトの名無しさん
17/05/04 13:22:46.77 qYtoqfij.net
>>168
mapは変換のインタフェースとして別であるよ
forEachはstreamの終端処理だよ

176:デフォルトの名無しさん
17/05/04 14:52:50.80 hrGLq/bC.net
今扱ってるシステムがJava7だからstreamとかラムダ式とか使わないけど
本読んでもよくわからん……

177:デフォルトの名無しさん
17/05/04 15:36:20.32 EbCQq7yq.net
あれ?Java7にはないんだっけ?

178:デフォルトの名無しさん
17/05/04 15:58:11.88 hrGLq/bC.net
あれ?Java8からじゃなかったっけ?

179:デフォルトの名無しさん
17/05/04 16:07:35.97 5jh0epYp.net
streamなんてSQLとか扱える思考回路があれば使えるぞ

180:デフォルトの名無しさん
17/05/04 19:19:52.86 YNozeJnq.net
皆最初どうやってjavaを勉強したの?
自分今基本情報処理試験をあとはプログラミングのところだけっていうところまでやったのだけど、カプセル化とかモジュール分けとかオブジェクト指向とかそういう考え方があるんだってういのはわかったんだけど
いざ自分でnetbeansのjavaファイルで書こうとしたらまずはoutprintしてみようと思ったら早速エラーが出てエラー原因が何だか全く分からない
英語の基本文法みたいにそういうの知らないと厳しい気がするのだが
皆の初学の経験を教えてほしい、できれば独学でやった人から聞きたい
あと、何か作ろうって思ったときはフローチャート作った方がいい?

181:デフォルトの名無しさん
17/05/04 19:43:35.61 mK1iuMfc.net
>>177
俺は全て独学だがまずはC言語、C++、C#の順に勉強する
するとJavaを半日程度で理解できる下地が出来上がる
何事も基本が大事だ
基本ができてればJavaなどたやすく扱えるし基本ができてなければどんな勉強をしても身につかない
物事には順番がありそれはお手軽に身につくものではない

182:デフォルトの名無しさん
17/05/04 20:04:55.79 u6JIByox.net
>>177
ひたすらエラーメッセージを読む
エラーメッセージをググる
「java ○○」でググる
「java ○○とは」でググる
「java ○○ できない」でググる
「java ○○ するには」でググる
エラーメッセージで知らない英単語があれば意味をググってからもう一度読む
答えが書いてあるっぽい掲示板が英語で書かれてても臆せず読む
それだけ

183:デフォルトの名無しさん
17/05/04 20:07:29.10 mK1iuMfc.net
>>179
こういう知識を啄ばむような雑な勉強方法はダメ
スカスカの知識しか身につかない

184:デフォルトの名無しさん
17/05/04 20:11:19.54 TB6ujr0/.net
>>177
まずは入門書1冊買ってきてそれに合わせて勉強するしかない
エラーの原因とかも正しい書き方自体がまだ分かって無い状態だし
後はエラーが出たらググるか
ソースコードどっかに置くかかここに書いて聞くか

185:デフォルトの名無しさん
17/05/04 20:30:41.25 rPmF/fmP.net
>>180
体系的な知識を身につけるのは大前提として、エラー対処の知識が要らないわけないでしょう
少なくともJavaを勉強するために先にC#を学ぶなんてトンチンカンなことしてる暇があったらその時間でJavaの
知識を仕入れるべき

186:デフォルトの名無しさん
17/05/04 20:49:08.82 Z6thB1wv.net
スッキリわかるJava(という書籍)では、コンストラクタやインスタンスメソッドに
publicが付いてないのですが、基本的に付けない方針で問題無いでしょうか?

187:デフォルトの名無しさん
17/05/04 20:59:23.90 0H6f0r38.net
>>183
ここに詳しく書いてある
URLリンク(msugai.fc2web.com)
まともにコード書きたいならパッケージの外から呼び出せるかとか一々考えながら書くといいかな(おすすめしないが実を言うとリフレクションで呼び出せちゃうけど)

188:デフォルトの名無しさん
17/05/04 21:14:39.50 mK1iuMfc.net
>>182
トンチンカンだとおもっているならその程度だよ君は
C、C++を知らないプログラマなど潜りの素人だし
優れた言語設計のC#をJavaより先に学ぶメリットは大きい
そしてこれらをこなせばJavaも自然とできるようになっている
したがってJavaなんぞは後回しで良い

189:デフォルトの名無しさん
17/05/04 21:23:59.84 qYtoqfij.net
>>185
C、C++、C#を勉強するのにかかる時間はどれくらい?
それはJavaだけを勉強したときよりも短くなるの?

190:デフォルトの名無しさん
17/05/04 21:32:52.04 mK1iuMfc.net
>>186
Javaだけやって同じレベルになるより遥かに早いよ
初心者から初めて金を貰っても許されるレベルになるまで1年といったところだな
Javaだけだと10年経ってもその領域に届かないクズが少なくないということはこの業界の先人たちが証明している
急がば回れというやつだ

191:デフォルトの名無しさん
17/05/04 21:35:23.59 rPmF/fmP.net
スッキリ君といいちょいちょい変なのが沸くスレだな

192:デフォルトの名無しさん
17/05/04 21:37:31.74 g1QlM0ze.net
C#を覚えるとデリゲートくれLINQくれプロパティくれ~ってなるのでよくない

193:デフォルトの名無しさん
17/05/04 21:40:59.09 qYtoqfij.net
>>187
C、C++、C#を勉強してJavaを勉強して到達するレベルを
基準にしたらそれはそうなると思うんだよ
Javaを勉強したいというときに
Javaだけを勉強するのとどちらが効率いいですか?ってことなので
Javaだけを基準にした場合、到達速度っていうのは変わってくるんじゃない?
いろんな言語を1年で齧って回るよりはJavaを勉強したがいんじゃないかな

194:デフォルトの名無しさん
17/05/04 21:47:21.88 qYtoqfij.net
>>177
慣れることが大事なのでサンプルコードを書きまくるのがいいと思う
おすすめは↓の2冊
10日でおぼえるJava入門教室
URLリンク(www.amazon.co.jp)
新・明解Java入門 (明解シリーズ)
URLリンク(www.amazon.co.jp)
10日でおぼえる~は1日目はこれみたいに区切りがいいので
やりやすいかと

195:デフォルトの名無しさん
17/05/04 21:47:36.98 GHkN69u9.net
>>177
元々C言語は知っていて仕事でもずっと使ってた。で、C++が流行り出したので少しは学習したが仕事で本格的に使うまでには至らなかった。
その後かなり時間が経ってからJavaが流行り出して、そこで入門書読んでだいたいわかった感じ。これが20年ぐらい前の話だ。
しかし今まで仕事はずっとC言語ばかりでJavaを仕事で使うことはなかった。Linuxのサーバ側のCで作られたプログラムにずっと関わってたからだ。

196:デフォルトの名無しさん
17/05/04 21:51:14.78 4KUdSbXO.net
>>173
流れを感じるのじゃ

197:デフォルトの名無しさん
17/05/04 22:01:25.36 mK1iuMfc.net
>>190
Javaにはろくな参考書がないからね
良書の揃ってるCファミリとC#の方が早く深く学べる
そうして土台が出来上がればじゃあJavaの場合はどうなのという事を覚えるのは実に容易い
結果的にJavaだけを学ぶ場合よりも早く深くJavaを知ることができる

198:デフォルトの名無しさん
17/05/04 22:06:59.52 qYtoqfij.net
>>194
JavaとC#は似てるから
JavaがわかるようになればC#もわかるかと
深くJavaを知るっていうのはつまりC、C++、C#を勉強して到達するレベルの話だよね
そうでなくてJavaを勉強して到達するレベルを基準にした場合
Javaを勉強するのが近道だと思わない?

199:デフォルトの名無しさん
17/05/04 22:13:01.02 qYtoqfij.net
Javaがわかるようになればプログラムの考え方も身についてるから
CやC#もすっと入ってくるんじゃないかな
C++は人類にはまだ早いと思う

200:デフォルトの名無しさん
17/05/04 22:26:18.44 hGwzsYkf.net
むしろJava分かったから、C/C++のスタック/ヒープの意味(newするクラスとしないクラスの違い)や、C++特有のフレンドクラスが分かった。
順番はどうでも良いけど、Javaとは別にCは学んでおいた方がいい。

201:デフォルトの名無しさん
17/05/04 22:30:38.02 4KUdSbXO.net
プログラマーたるもの手続き型、オブジェクト指向型、関数型に属する言語を最低でも一つずつは習得しておかんとね
そして関数型に惚れ込んでJavaでもラムダ計算やカリー化をバシバシ使い周りに疎まれる存在となるのだ

202:デフォルトの名無しさん
17/05/04 22:38:29.99 TB6ujr0/.net
ruby→javaの順だけど
オブジェクト指向の理解はし易くなった感
javaだと思いっきりソースコード変わるから実感じやすい

203:デフォルトの名無しさん
17/05/04 22:41:33.02 g1QlM0ze.net
Javaでラムダ計算はつらいとか考えてたら気がついたらマシンにClojureが導入されてる

204:デフォルトの名無しさん
17/05/04 23:25:17.13 6JYEyXx+.net
int型配列の最頻値を求めるメソッドは用意されてないのでしょうか?

205:デフォルトの名無しさん
17/05/04 23:38:27.31 qYtoqfij.net
>>201
標準ライブラリにはないけれども、大丈夫っしょ、余裕っしょ、できるっしょ

206:183
17/05/04 23:40:33.61 Z6thB1wv.net
>>184
ありがとうございます。
よく見てみたいと思います。

207:デフォルトの名無しさん
17/05/05 00:12:55.97 YKLEnk0e.net
>>90
ここに書いてある
スッキリわかる Java入門 第2版、2014
まずこの本を3回読んで、オブジェクト指向をみっちりと学ぶ
この本が、すべての言語の基本。
その後、好きな言語を勉強すればいい

208:183
17/05/05 01:17:39.61 GcsXwLgt.net
>>204
その本悪くないと思うし、あんまりケチつけたくないけど、
Scannerクラスの使い方が詳しく載ってなかった。
(インスタンス化についての記述が無い)
Randomクラスも同様。
過信は禁物か。

209:デフォルトの名無しさん
17/05/05 01:23:45.78 ecYRcjUo.net
>>205
その辺詳しく書いてある本を知りたいわ
Javaは本多いけど、どのレベルまで書いてあるか全然分からん

210:デフォルトの名無しさん
17/05/05 01:24:59.61 jRdxjTk1.net
ここからJavaのほとんどを学んだ
URLリンク(www.ne.jp)

211:デフォルトの名無しさん
17/05/05 01:30:04.44 yjG7qa8A.net
>>205
>>31

212:デフォルトの名無しさん
17/05/05 02:03:32.40 Pxg1OvaW.net
>>207
こういうサイトがある時何から学べばいいの?
俺みたいなちんぷんかんぷんだと上から全て順に読んで、わからない言葉があると調べて、それでも概念的なものがよくわからなくてとりあえずわかったふりしたまま先に進んで結果あまり頭に入ってなかったっていうのがよくある失敗パターンなのだが

213:スッキリ厨
17/05/05 02:04:46.46 YKLEnk0e.net
「たのしいRuby」など普通の本では、オブジェクト指向の説明は、数十ページ
でも「スッキリわかる Java入門」では、250ページもある。
つまり、Javaの本と言うよりも、オブジェクト指向の本なんだよ。
そして、すべての言語の基礎になる
だから、この本は、歴史的な本と言われるわけ。
これ以前には、オブジェクト指向を勉強する、簡単な本は無かった
未だに外国では、この本が無いから、
オブジェクト指向を勉強するのに、四苦八苦している

214:デフォルトの名無しさん
17/05/05 02:06:41.17 Pxg1OvaW.net
あと、javaを実行する時とJSPを実行する時、それぞれpublic class{とか<%とか必要だと思うんだけどこれがないとコンピュータが処理であると認識しないっていうこと?
それとprivate class とpublic class の違いもイマイチわからぬ
Privateはそのクラス内でしか呼び出せないっていうけど、そもそも呼び出すってなんぞや

215:デフォルトの名無しさん
17/05/05 02:21:57.70 Pxg1OvaW.net
>>207
もう一個質問お願いします
extends 抽象クラス
その後に具体的な処理を書くって書いてあるけど抽象クラスを定義する意味ってあるの?
具体的な内容を記述するならそもそも抽象クラスを定義する必要あるのかなって
抽象クラスとかは使い方もわからないしそもそもなんでそういう考え方をするのかも理解ができない
何が言いたいかというと例えば車っていう抽象クラスがあったとしてそれは排気量を記述しなければいけない、メソッドとして走る機能を持つって事として
後で具象化クラスでextends車で抽象クラスを呼び出した時に結局排気量=なんたら、とかを記述しないといけないじゃない
だから、そういう制約的な意味しかないんじゃないかなと
プログラミングにおいて便利にするためにそういう事をしてるはずなのに、その利便性がイマイチ掴めないのだ
今は繰り返し処理とかつかって素数を求めるプログラムを作るっていう事を書いてるレベルだから、もっとゲーム的な方に行くとその意味がはっきりするのかね?

216:デフォルトの名無しさん
17/05/05 02:36:54.89 Y8XbhYBn.net
もうはっきり言ってしまうとプログラミング初心者がオブジェクト指向型言語なんてものから始めるべきじゃないんですよ
たかだかHelloWorldやFizzBuzzするためになんでクラスやアクセス修飾子を気にせねばならんのだと
それでもどうしてもJavaから覚えたいなら身の丈に合わない疑問は飲み込んでひたすら前に進むしかないのですよ

217:デフォルトの名無しさん
17/05/05 02:40:44.53 iQB12R96.net
つっても、もう世に出てる言語の殆どはLL含めオブジェクト指向言語だろ。
。。。関数型言語の世界へようこそ?

218:デフォルトの名無しさん
17/05/05 02:44:11.57 jRdxjTk1.net
>>212
例えばその走るって動作には、燃料と空気を供給してエンジンを作動させて動力を生み出すという過程があって、これは二輪でも四輪でも共通である(現実にはエンジンごとに違うがここでは無視)
二輪と四輪のクラスを作るとしてそのベースになる車というインターフェースを定義するとして、両方に同じことを書くことになって、それは無駄だからその部分を抽象クラスとしてまとめてしまおうという考え
間違ってたらスマソ

219:デフォルトの名無しさん
17/05/05 02:50:09.25 TDjvniVu.net
>>210
>未だに外国では、この本が無いから、
>オブジェクト指向を勉強するのに、四苦八苦している
それはないww
そこまで書くとステマかと思うわ

220:デフォルトの名無しさん
17/05/05 02:54:03.98 Pxg1OvaW.net
>>212
そういう前提があるっていう事でしょ?でも実際処理で車のエンジンの仕組みは重要じゃなくてどのようにそれらの車が動くかが重要になるのじゃない?
マニュアル車ならクラッチ操作、オートマならレンジチェンジ(でいいんだっけ)などの具体的な操作を個々に記述して行くと思うんだけど共通の仕組みそのものを定義する事は便利さには繋がっていないんじゃないかなって
確かに車はエンジンがないと動かないけど、プログラム上では(ってかユーザーにとっては)エンジンがあるかないかなんて関係が無いんじゃないの?
定義しないといけないっていう具体的な例があったら教えて欲しい

221:デフォルトの名無しさん
17/05/05 02:59:46.55 Pxg1OvaW.net
窓はガラスでできている。そのガラスを使って窓を開け作った上でこっちに押したら閉まる、こっちに押したら開くなどのことが出来るようになる
だからまずはガラスでできているという共通前提定義が必要となる。それはわかる
でも実際プログラム上でそれがどう有効なのかがわからない
人間クラスに名前はまず名前、年齢が必要、その上で個々の動作をして行くわけだけど定義してそのクラスを呼び出しても結局年齢とかは手書きで書いて行くわけじゃん
例えばどういう時にオブジェクト指向を使ってるのかとかあったら教えて欲しい、ゲームとかでもいいので

222:デフォルトの名無しさん
17/05/05 03:13:17.49 jRdxjTk1.net
確かに個々の動作を書くのには抽象クラスは全く役に立たないよ、ただプログラムを動かすにはその外から見て重要ではない部分が必要なわけで、その部分が共通だとコピペするのは簡単だが後々の修正が大変、だからまとめておくと

223:デフォルトの名無しさん
17/05/05 03:20:10.72 Pxg1OvaW.net
>>219
具体的にプログラムの世界だと何をまとめるの?実行するための記述以外にプログラムそのものを動かすために必要なものの具体例がわからないのだが

224:デフォルトの名無しさん
17/05/05 03:37:46.29 jRdxjTk1.net
JavaにはListって可変長の配列を作るためのインターフェースがあるけど
URLリンク(docs.oracle.com)
これだけのメソッドを実装しろと要求してくる
そしてこれを使って中身の違う実装を作るときに全部を何度も実装するのは骨が折れる作業だよね
そこでAll系のメソッド等他のメソッド呼び出しで書けるものを抽象クラスに書いておけば実際に実装するときに書かなくてよくなる(効率化したいとかだと書いてもよい)
折角クラスライブラリのソースあるんだしAbstractList辺りのソース見てみるといいよ

225:デフォルトの名無しさん
17/05/05 03:43:35.59 jRdxjTk1.net
分かりにくい説明しかできなくてすまんの、多分現実の物体で考えずにプログラムとして直接考えるのが一番の近道じゃないかな

226:デフォルトの名無しさん
17/05/05 03:50:24.78 TDjvniVu.net
>>220
たとえば共通の手順とか
テンプレートメソッドと呼ばれるパターンの例(HeadFirstデザインパターンより)
URLリンク(i.imgur.com)
コーヒーでも紅茶でも抽象化した手順は同じたし
お湯沸かしたりカップに注ぐ部分は全く同じ
今はJavaでも抽象クラスとは違う方法でも実装できるけど
こういう基礎の理解は必要

227:デフォルトの名無しさん
17/05/05 04:16:15.80 JPrvtXpw.net
ゲームのマップを作ろうと考えています。
マップ画像を表示させ、マップ上の任意の部屋をクリックすると、その場所の名前(ロビー、キッチン、ベッドルーム、など)を表示するようにしたいです。
この処理を実装するには、どのような方法がスマートでしょうか?
各部屋の形は四角形ではなく、円や三角形など複雑な形をしているので、単純に四隅の座標を部屋名とともに配列に格納しておき、クリックした座標を内部に含むものをfor文で回して探索する・・・という方法は難しいです。
どうかお力添えください。

228:スッキリ厨
17/05/05 05:14:23.88 YKLEnk0e.net
ゲームは、オブジェクト指向の最高峰
キャラクタークラスから、勇者・魔法使いなどを、
モンスタークラスから、スライム・ゾンビなどを派生させる
is-a, has-a とか勉強すれば?
消防車は車の一種。is-a。継承
車はハンドルを持っている。has-a。部品
「スッキリわかる Java入門」では、オブジェクト指向の説明が、250ページもある。
ここ20年間、世界中の中年のCプログラマーが、皆、C++へ移行できずに撃沈している
オブジェクト指向がどれぐらい難しいか、分かるでしょ?
だから、スッキリが日本中に、革命を起こした

229:デフォルトの名無しさん
17/05/05 05:22:28.10 YKLEnk0e.net
>>224
java.awt.Shape interfaceで定義される、containsメソッドは、
指定された点が、図形の境界の内側にあるか否かを判定する
「java 図形 内側」などで検索!

230:デフォルトの名無しさん
17/05/05 12:17:52.64 Oxs8iPV6.net
超単純にやるなら
・種別(矩形、三角形、円)
・パラメータ(最大4つ)
 頂点の絶対座標もしくは円の中心座標&半径
とやって判定時などに種別に応じて処理を分ける
それと一つの部屋?を分割して単純な図形の組み合わせにする
回転が必要なら矩形を2つの三角形に変える
スクロールとか必要ならもっと面倒だけど
プロパティかパラメータを増やせばなんとかなるべ

231:デフォルトの名無しさん
17/05/05 12:24:15.13 jsHCnOkz.net
Javaプログラマはオブジェクト指向をよくわかってない人が多い
C#プログラマはみんなよくわかってる
C#マイクロソフト公式の参考書など良書が揃っているからね
Javaはろくな本がない
初心者をごまかしてわかった気にさせるような本ばかりだ

232:デフォルトの名無しさん
17/05/05 12:42:33.54 8b9qfJY2.net
それってあなたの感想ですよね?
なんかそういうデータあるんですか?

233:デフォルトの名無しさん
17/05/05 12:50:52.07 XP+Q0OKG.net
>>229
会社にあります

234:デフォルトの名無しさん
17/05/05 12:55:46.33 Dvx8ftQc.net
いちいち部屋分割して図形の頂点座標測ったりとか種別とかやってられないでしょ
元のマップとは別に、それぞれ部屋ごとに色で塗りつぶしたマップを用意して裏で読み込ませといて、クリックした地点のカラーコード読んで色に対応した部屋名を取り出す
ってのを考えたんだけどどうよ

235:デフォルトの名無しさん
17/05/05 13:14:01.06 8b9qfJY2.net
>>230
それ「宿題家に忘れました」と同レベルじゃないですかー

236:デフォルトの名無しさん
17/05/05 13:22:43.96 XP+Q0OKG.net
>>232
バカなの?
宿題と同じ感覚で会社のデータ持ち出しちゃうんだ君は

237:デフォルトの名無しさん
17/05/05 13:28:33.31 8b9qfJY2.net
>>233
説得力が皆無だからそれ以上非論理的な話をするのはやめとけと言っているだけですよ
データを他人に見せられない主張に意味などない
まぁ所詮2ちゃんだし、それでもわめきたければ好きにすれば?

238:デフォルトの名無しさん
17/05/05 13:29:35.85 Up1lvbHo.net
まぁポンコツな会社にはポンコツが集まるって言われてるし

239:デフォルトの名無しさん
17/05/05 13:41:46.76 XP+Q0OKG.net
>>234
そもそも君を説得する必要もないしね
事実は事実として変わらないことだから君がどう思おうと何の影響もない

240:デフォルトの名無しさん
17/05/05 13:49:41.18 n4hNDFR+.net
会社にありますはガイジすぎる
そんなん通るならC#プログラマーは全員屑!証拠は俺の会社にある!

241:デフォルトの名無しさん
17/05/05 14:21:00.68 XP+Q0OKG.net
というか俺の会社じゃなくてもどの会社にでもある
過去の案件を分析すれば答えは出るよ
Javaがいかに失敗を生み出してきたか数字ではっきりと出てくる
GW明けにでも調べてみるといい

242:デフォルトの名無しさん
17/05/05 14:28:17.47 xfO5LNpr.net
今から勉強しようとしてる人向けの話じゃなかったのか?
今から勉強しようとしてるのなんて学生に決まってるんだから会社の資料は見れないでしょ……
まさか社会人にもなってやっとJava勉強しようとしてる意識低い系の話なのか?

243:デフォルトの名無しさん
17/05/05 14:30:45.16 EB13pOeh.net
去年調べた結果だと、Javaの方がC#より三倍生産性が良かったよ。
今年は知らんが、多分同じじゃない?

244:デフォルトの名無しさん
17/05/05 14:35:53.90 XP+Q0OKG.net
>>239
Javaはそういう意識低い人ばかり

245:デフォルトの名無しさん
17/05/05 16:17:42.92 Pxg1OvaW.net
public class void String NewClass() {




246: System.out,.print ("hello"); } 実行しようとしてもエラーが出る  identifierがありません。 全く持って意味が分からない…



247:デフォルトの名無しさん
17/05/05 16:28:41.11 8b9qfJY2.net
おまじないがおかしいよ
ますおまじないをそらで書けるようになってから応用しなさい
あとoutの後ろの,はいらん

248:デフォルトの名無しさん
17/05/05 16:40:39.14 Pxg1OvaW.net
>>242に関しては自己解決しました。
もう一つ質問だけどとりあえずネット上にあるサンプルを使ってコードを書きまくってみようと思ってるのだけどなにかコードを記述したいって思ったときに
public static void とかprivateとかいろいろあると思うんだけど何を基準に選んだんラいいの?
あと、いまやっとこさこれが書けたんだけどこの言葉から記号一つ一つの意味まで全部把握しておいた方がいい?
public class NewClass{
public static void main(String args[])
{
System.out.print("表示できるか??");
}

}
main このmainっていうのはクラス名?あとどこかでclassは一つのファイルに一つまでしか書けないって書いてあったけどこれにはclassが入ってないけど例えばオブジェクト指向で新しいクラスを作りたいってなった時に
classはファイル名と一緒でなければいけないって書いてあったのだけど、どうやって考えたらいいの?

249:デフォルトの名無しさん
17/05/05 16:48:22.02 Pxg1OvaW.net
多重に質問申し訳ない
言葉を覚えての色々な事を質問して回る子供だと思って聞いてほしい
javaの構文を覚えるときは皆一つの熟語として覚えてる?
例えばこういうときは
public static void main(String args[]){  を使うんだ、みたいなものを一つひとつの意味を考えないで丸ごと覚えているイメージ?
あとついでにもう一つ頼む、args[]の[]は配列を表すものだったと思うんだけどよく見るこのコードはなんで配列を指定しているの?

250:デフォルトの名無しさん
17/05/05 17:03:12.00 Pxg1OvaW.net
お願いします
今まで出力はコンソール上またはjspをつかってweb上だけに計算結果を出力させてたんだけどより実践的にwebにつながなくてもコンピュータ上だけで処理させるには何が必要になってくるの?
あとテキストボックスとかラジオボタンとか使いたいのだけどその際にはimportとか必要になってくる?

251:デフォルトの名無しさん
17/05/05 17:06:37.66 UN44kkRF.net
全てに意味があるんだから全て覚えなさい
「ファイル名 class」
「mainメソッド」
「アクセス修飾子」
「staticメソッド」
「引数」
「戻り値」
「戻り値の型」
「コマンドライン引数」
このあたりで調べなさい
全部まともに答えるには金取らんと割に合わんレベルだよそれ

252:デフォルトの名無しさん
17/05/05 17:06:41.65 SKOR9dHG.net
public
static
void
main()
String args[]
{
それぞれの意味を覚えてる
args[]は実行時の引数の格納するから
javac test.javaでコンパイルした場合
実行時にjava test aaaとするとarg[]にaaaも含まれる
コントロールはjava コントロール名とかで調べる

253:デフォルトの名無しさん
17/05/05 17:14:34.88 Up1lvbHo.net
とりあえずスッキリJava読んだほうがよくね

254:デフォルトの名無しさん
17/05/05 17:26:34.34 G0OfeBgr.net
個人的には最初から1から10まで理解しようとしたら
頭がパンクするだろうから、ある程度は絞ったほうが良い
①public class Tes {
② public static void main(String[] args) {
③ System.out.println("hello java");
}
}
まずは
①:ファイル名とクラス名が同じじゃないと、Javaのプログラムって動かないんだなーぐらいは覚える
②:とりあえず動かすにはこの魔法の呪文が必要なんだぐらいしておく
③:文字列出力するのはこう書くのかー
ぐらいが理解できれば次に進んで良いと思うわ
最終的にはpublic、static、void、stringとかの意味も理解する必要はあるけど
それを利用する(あるいは目的を持って変更する)場面を知ってからじゃないと、結局分からず仕舞いで終わるだろうし
上で書いたソースしか知らない段階でvoid調べて、「何も値を返さない時はvoid型を指定する」とか見ても
理解できるどころか「値を返す、返さないってなんやねん!」ってなって意味が無い

255:デフォルトの名無しさん
17/05/05 17:43:33.01 RNJ7gaAH.net
どこから突っ込んでいいのか。。。
ここで質問するより入門書読むなり、入門サイト読むなりした方が良いよ。
分からないことが整理出来てから質問しなさい。
そこまで何も知らない状態で質問されても、入門書くらい読んでからにしろよと呆れられるだけ。

256:デフォルトの名無しさん
17/05/05 20:46:02.93 Pxg1OvaW.net
わかりました。
じゃあすっきりJAVA入門ていうの買ってみることにします。
ちなみにこれをやれば基本的な文法は理解できるようになりますか?
自分は今コーディングするたびに~~classにはメソッドがありませんとか型の開始が不正ですとかidentifierがありませんとか
そういうエラーメッセージに苦しめられてる状態ですけどそういった部分も解決できるでしょうか?
それといろいろなコーディングの例ものっていたりするでしょうか?
とりあえず今やりたい事としてはアプリ上にテキストボックスなどを置いてユーザーからの入力に対して対応できるプログラムが出来ればいいなと思ってます
つまり、今は素数一覧判定するプログラムを作ってあるんですけど内部で数値を書いてファイルを実行して初めて表示されるのだけど、コードの内部を知らない人に使ってもらえるようなアプリを作れるようになるかというところです
自分全くの初心者なのでわかりやすさと、どのレベルまで行けるかっていうのを教えてもらえると嬉しいです、それと、第二版と二種類あるみたいだけど安い方を中古で買えば問題ないですか?

257:デフォルトの名無しさん
17/05/05 20:47:26.36 3kP3AuyS.net
GWでJava勉強してるやつ、進捗どう?
手遅れ感感じた?

258:デフォルトの名無しさん
17/05/05 20:50:14.80 jRdxjTk1.net
>>252
メモ帳か何かでコード書いてるのだとしたらIntelliJ使ってみるといいかもな

259:デフォルトの名無しさん
17/05/05 20:59:16.11 Pxg1OvaW.net
>254
netbeansでやってますよ

260:デフォルトの名無しさん
17/05/05 21:07:56.45 MjMW9HuU.net
この年でJavaとか、他にもっとやることあるだろ

261:デフォルトの名無しさん
17/05/05 21:22:34.99 RNJ7gaAH.net
>>252
mainメソッドねーよとか、正しいmainメソッドの書き方じゃねーよって怒られてるだけ。
入門すれば何怒られてたのかも分かるから。

262:デフォルトの名無しさん
17/05/05 21:31:22.44 RNJ7gaAH.net
入門書は大抵古い面倒な書き方->新しい楽な書き方の順で紹介する。
なので長い目で見たら新しい入門書のが良い。
到達出来るレベルは楽な文法覚えてるだけで何か作れる訳じゃ無い。
どっち読んでも大差はない。
英語覚えたから英語ペラペラか?
言語ってのは使ってナンボ。
入門したら、簡単なので良いからさっさと何か作る。

263:デフォルトの名無しさん
17/05/05 21:51:52.06 Pxg1OvaW.net
>>258
なるほど
つまり作るための下地は作れると考えて大丈夫?

264:デフォルトの名無しさん
17/05/05 21:55:05.15 RNJ7gaAH.net
うむ。
最低限はね。
複雑なのはWebで本家のドキュメント眺めながらとか。
あなたのアイデア次第の部分のが多い。
作り方を思いつけるか。
調べられるか。
知ってるか。

265:デフォルトの名無しさん
17/05/05 22:15:47.72 Pxg1OvaW.net
>>260
発想の部分は好きだから多分いけると思う
むしろ色々な事をどんどん広げて行きたいと思う
事務職でマクロやってた時も結構複雑な処理をネットで調べたりして実装してた
知ってるか
っていうところがちょっと不安だけど大丈夫かな
でもとりあえず「オブジェクト指向 例 」「メソッドとは」「クラス 定義 必要性」とかわからないままを永遠にループ検索することはとりあえずなくなりそうでよかった
早くAmazonからこないかな

266:デフォルトの名無しさん
17/05/05 22:48:55.45 G0OfeBgr.net
しかしJavaで書籍というか入門書無しで勉強する人おるんだな
大体はスッキリの入門、やさしいJava、明解のどれかから手を付けて始める印象が多い
というかせっかく入門書一杯あるんだから利用しない手はないべ

267:デフォルトの名無しさん
17/05/05 22:49:01.87 RNJ7gaAH.net
知ってるかは思いつけるかと調べられるかの繰り返しによる積み重ねだから、心配は要らない。

268:デフォルトの名無しさん
17/05/05 22:49:39.29 +CHRnsuY.net
エネルギーを2chに使うのをやめないと本読んでも意味ないんじゃないかな

269:デフォルトの名無しさん
17/05/05 23:14:46.17 GcsXwLgt.net
配列について質問です。
…{1,2,3};
という表記法と、
…new int[]{1,2,3};
という表記は何か違いがあるのでしょうか?

270:デフォルトの名無しさん
17/05/05 23:16:03.94 yjG7qa8A.net
>>265
>>31

271:デフォルトの名無しさん
17/05/05 23:39:09.89 GcsXwLgt.net
>>266
アラ探しは止めてもらえます?

272:デフォルトの名無しさん
17/05/05 23:42:36.40 RNJ7gaAH.net
newの方が本来の書き方で、newしない方はCからの移行組のために単純に書けるように後から作られたもの。

273:265
17/05/06 00:35:25.29 gDC1nU6T.net
>>268
そうなんですね。ありがとうございます。
どちらかではOKでどちらかでは駄目という場面とかありますかね?

274:デフォルトの名無しさん
17/05/06 00:39:00.98 9tv813Aq.net
無い。
楽な方選ぶ。
(なので大抵newしない方で書かれる)

275:265
17/05/06 01:34:48.70 gDC1nU6T.net
>>270
分かりました。ありがとうございました。

276:デフォルトの名無しさん
17/05/06 02:51:48.75 GtACJVEu.net
インスタンスの同一判定で違いが有るという話を見たこと有るが、
配列のインスタンスを判定する事自体がダメな事だと思ってる。
それより、int result[]=new int[10];
なんて書き方は覚えたての頃に少しした程度で、
今は、int result[]={ 0,1,2,3,4,5,6,7,8,9 };こう書くよなぁ…
C言語は知らなくても慣れてくるとみんなこうならない?

277:デフォルトの名無しさん
17/05/06 03:07:22.28 9tv813Aq.net
なる。
実はC++だとnewする、しないはスタックかヒープかの違いがあって、new int[n]とか宣言時に[]内に変数使える、使えないとか、配列作れる限界もnewした方が大きいとか違いがある。
でも、Javaは基本型以外は全部ヒープに置くので配列はヒープにしか置かない。
C形式がまだ無かった初期の入門書には何故配列をnewするのかの解説まであった。
Javaにおいてnewするしないに違いが無いなら、してられっかよ。って誰も書かなくなった。

278:265
17/05/06 04:21:51.57 gDC1nU6T.net
と納得したのですが、突っかかる箇所があるのでまた書かせて頂きます。すいません。
今読んでいる書籍の問題で、(必要な個所だけ抜粋します)
public class Player {
int[] hand; // 手札配列
}
の実行用クラス(Exec)を作成しろという問題で、
Player player1 = new Player();
とした後、player1の手札配列に{2,13,26,13,48}をセットしろとのことなんですが、
player1.hand = {2,13,26,13,48};
とするとコンパイルエラーになるんですよね。解答には、
player1.hand = new int[]{2,13,26,13,48};
と書いてあり、そう入力するとエラーは無くなります。
なのでこの二つの表記法に文法的な違いがあるのでは?
と思ったわけです。
改めて皆さんの見識を伺いたいです。
本には違いはほとんど書かれていませんでした。

279:デフォルトの名無しさん
17/05/06 04:31:13.41 5R6Ql+c4.net
>>274
new を省略できるのは初期化の時だけ。あくまでも初期化の時だけ特別に書くことを省略することが許されている。
(書かれていないだけでやることは同じになる)。

280:デフォルトの名無しさん
17/05/06 04:34:42.43 feNHzNcv.net
>player1.hand = {2,13,26,13,48};
>とするとコンパイルエラーになるんですよね。解答には、
そのエラーメッセージで検索すべき!
それでも分からなければ、そのエラーメッセージをここに書いて、質問する

281:デフォルトの名無しさん
17/05/06 04:44:15.46 feNHzNcv.net
推測で書くけど、
型 a = {2,13,26,13,48};
これは、配列リテラル。
初期化時の、特別な書き方
たぶん実行文じゃない。この行で実行されるわけではない。
アプリの開始前に、コンパイラが置き換える。
即値、つまり、既に何もせずとも値になってる
型 a = new int[]{2,13,26,13,48};
一方、これは実行文。この行で、newが実行される

282:デフォルトの名無しさん
17/05/06 08:30:46.24 9tv813Aq.net
>>274
Cだとそもそも宣言時以外はそう言う書き方出来ないんだが、そうか、クラスのフィールドだと宣言と初期化が別れるな。
宣言と同時に初期化する時のみの特別な記述としてnewしない記述は使える。
それ以外はnewしないとダメ。
説明が雑ですまん。
理由は基本型じゃ無いから。
ヒープに置くのは全てnewが必要で、記述上特別扱いは配列の宣言と同時に初期化する時と、文字列のみ。
Cなんて、宣言と初期化が別れたらforで一個一個配列に値を入れるしか無いって言う。。。

283:265
17/05/06 11:15:43.19 gDC1nU6T.net
多くのレスありがとうございます。
エクリプスでは「配列定数はイニシャライザにおいてのみ使用可能です」と表示されました。
皆さんの言うように{1,2,3}という表記法は初期化時のみしか使えないということみたいです。
でも>>274の場合は初期化に相当しないのかな、と思うのですが…。

284:デフォルトの名無しさん
17/05/06 12:34:15.65 RxOQwEqu.net
宣言文の一部分である初期化子やろ

285:デフォルトの名無しさん
17/05/06 13:07:31.76 3Bn/MS7d.net
>>279
それは初期化であってる。
んで、newしなくて良いのは「宣言と同時に」初期化する場合のみ。
クラスのフィールドでint[] a;ってなってるのが宣言。

286:デフォルトの名無しさん
17/05/06 13:09:11.36 3Bn/MS7d.net
x int[] a;
o int[] hand;
人のコードよく読んで無かった。。。

287:デフォルトの名無しさん
17/05/06 13:44:30.80 jYP/Wf/9.net
>>279
ありがとう。

288:デフォルトの名無しさん
17/05/06 16:41:50.05 5R6Ql+c4.net
>>277
書き方違うだけでコードは同じように new する形式になっていると思うが。
というのは何れの書き方でも a[1] = 2; みたいに内容を後から変更可能だから。
ただし static の場合は書き換え可能なデータ領域に最初からインスタンスがあって
(つまりコンパイラがそれを含めた形でバイナリを作ってあって)そこへの参照を a に
代入するだけになるかも知れない。
static でない場合は普通に実行人ヒープに領域確保してからリードオンリーの
データ領域(コンスタントプール)から初期値をコピーしていると思う。

289:デフォルトの名無しさん
17/05/06 16:46:57.57 HAuELHoN.net
まあどうなってるか見たいならコード書いてコンパイルしてjavap通せ

290:265
17/05/06 17:14:44.21 gDC1nU6T.net
>>281
そうなんですね、分かりました。
繰り返しになりますが、多くのレスありがとうございました。

291:デフォルトの名無しさん
17/05/08 17:19:02.28 C0kEGIYB.net
今日からjavaの本で学習し始めたんだけど
慣れたらpublicなんたらかんたらとか長い分も自分で一からかけるようになるの

292:デフォルトの名無しさん
17/05/08 17:24:11.64 3+foG7x1.net
IDEに生成させるもんだろ

293:デフォルトの名無しさん
17/05/08 18:34:23.43 YdKqfeaH.net
確かに自動生成されるけど、慣れるといつのまにか暗唱できるようになってる。
という感じ。

294:デフォルトの名無しさん
17/05/08 18:54:52.71 6xooNmVM.net
IDEでもテキストエディタでも入力補完機能があるから
わざわざ覚える事でもない

295:デフォルトの名無しさん
17/05/08 20:55:56.19 epGpOLAg.net
>>287
なる。
1~2秒ぐらいで打てるようになる。

296:デフォルトの名無しさん
17/05/09 08:36:16.33 wOo51I5g.net
まぁでも本で勉強してればmainメソッドの成り立ちなんてじっくりねっとり解説されるから嫌でも覚えちゃうよね

297:デフォルトの名無しさん
17/05/09 12:44:24.36 zagaBJts.net
画像解析のソフトを使うのにJava Library Pathを追加しないといけないのですがJavaをインストールした後の最初から躓いています(;;)
URLリンク(github.com)
この真ん中あたりに書いてある
Option #2: Control MATLAB from inside QuPath
-- Add MATLAB libraries to QuPath's Java Library Path
で,JVMOptionsをどうやって作ったらいいかわかりません
下記のページの最後「パスの設定は完了」ってところまでやったんですが..
URLリンク(techfun.cc)
関係ないソフトでてきてごめんなさい

298:デフォルトの名無しさん
17/05/09 12:49:33.75 zagaBJts.net
Win7 64bitです

299:デフォルトの名無しさん
17/05/09 16:18:51.10 iKf74YDS.net
>>293
なにがしたいのかわからん
そのソフト使いたいだけならexe形式のインストーラあるからそれ使えばええやん?

300:デフォルトの名無しさん
17/05/09 16:45:19.33 dAYvtASF.net
スッキリわかるjava入門でどこJavaじゃダメだからコマンドプロンプトっていうのを使ってくれって書いてあったんだけど、正直よくわからないからそのままnetbeansぇ続けても大丈夫?

301:デフォルトの名無しさん
17/05/09 18:01:00.16 xhqm65zv.net
そんなあなたにpaiza.io

302:デフォルトの名無しさん
17/05/09 18:28:25.96 zagaBJts.net
>>295
説明不足でごめんなさい
この2つのソフト(コマーシャルのMATLABとオープンのQuPath)はどちらも独立して使えてはいるんですが,片方のソフトからもう片方のソフトを呼び出せる機能があってそのことが書いてあるのが最初に添付したリンクです.
QuPath内にあるQuPath.cfgをJVMOptionに移動させるのが最初のステップなのですがそのJVMOptionが作りかたがわからないのです.

303:デフォルトの名無しさん
17/05/09 18:42:38.34 wOo51I5g.net
大丈夫大丈夫
これからも正直よく分からないところはどんどん飛ばしていけ
そうすれば正直よく分からないところで悩む必要無くなるから

304:デフォルトの名無しさん
17/05/09 19:45:49.93 41He4fJz.net
>>298
そもそもそのページがMATLAB → QuPath(op #1)とQuPath → MATLAB(op #2)の両方書かれてるのは理解してるよな?
op #1はMATLAB側の環境を整えてる
同#2はQuPath側だな
んで問題の箇所は簡単に済ませるならjava.library.pathをQuPath.cfgの中に記述しろって書いてるだろ?
実際のファイル見てないからわからんが、テキストエディタで見れば最低でも[JVMOptions]の行はあるだろうから、その下に追記してやればいい
例で書かれてるのはMAC版みたいだから自分の環境に合わせて書き換えろよ

305:デフォルトの名無しさん
17/05/09 20:00:45.39 dAYvtASF.net
public class 素数判定 {
public static void main(String[]args)
{
int sum=0;
int a =new java.util.Scanner(System.in).nextInt();
System.out.print(a+"=");
int m=a;
boolean test=false;
for(int i=2;i<=a;i++){
if(a%i==0){
if(m!=a){
test =true;}
while(a%i==0){
a=a/i;
sum++;
}
if (sum!=1){
System.out.print(i+"^"+sum+"・");}
else{
System.out.print(i+"・"); }
sum=0;}
}
if (test==false){
System.out.println("\n"+m+"は素数です!");
}}}
書いてみたのだがすっきりしない
式の最後によけいな「・」が出てしまうし、iのループ中で一回でもtrueが出ればそのあとは判定しなくていいわけだし
改良点があれば教えてほしい

306:デフォルトの名無しさん
17/05/09 20:18:00.56 smTpNxH0.net
インデントおかしいし変数名分かりづらいし

307:デフォルトの名無しさん
17/05/09 20:28:39.39 /JePIrk9.net
>>301
trueになった時点でbreakしたら素因数分解できないでしょ

308:デフォルトの名無しさん
17/05/09 20:32:53.06 dAYvtASF.net
>>303
そう
だからtrueを判定する適切な場所がどこだかわからない

309:デフォルトの名無しさん
17/05/09 20:42:22.15 60ZWnyEc.net
100が素数かどうか調べる時は√100まで
つまり2~10でええんやで

310:デフォルトの名無しさん
17/05/09 20:45:33.38 dAYvtASF.net
>>305
ルートを出してその整数部分だけ使えばいいのか
そういうの出来たっけ?

311:デフォルトの名無しさん
17/05/09 20:51:57.55 SmlWSda1.net
Math.sqrtの結果をintキャスト

312:デフォルトの名無しさん
17/05/09 20:55:23.79 dAYvtASF.net
>>307
なるほど!ありがとう

313:デフォルトの名無しさん
17/05/09 22:29:03.24 ivwxgVxg.net
>>301
「・」は出すように書いてあるからその通りに出てくるだけ

314:デフォルトの名無しさん
17/05/10 01:27:24.94 BYWHw2Iq.net
プログラミングっていうかゲーム作りって言ったらGUIとかアニメーションを使うのが一番に出て来ると思うんだけど、javaのコーディングでできるものなの?

315:デフォルトの名無しさん
17/05/10 02:06:28.58 qeZ1bcfg.net
>>301
4も8も素数と出るのだが・・・

316:デフォルトの名無しさん
17/05/10 02:07:09.79 qeZ1bcfg.net
>>310
できる。

317:デフォルトの名無しさん
17/05/10 02:24:21.40 k+Fw34TB.net
エラトステネスのふるい懐かしい

318:デフォルトの名無しさん
17/05/10 02:25:43.59 7vBaEDXu.net
いやエラトステネスの篩いま関係ないっす

319:デフォルトの名無しさん
17/05/10 09:46:36.96 BYWHw2Iq.net
>>311
そうなんだよね
自分もそれを投稿した直後に気付いた
If(m!=a)をif(m!=i)にしたら直った
累乗の数はそうなっちゃってたみたい

今はネットビーンズでプログラミングしてコンソール上で処理を表示させてるんだけど普通のアプリと同じようにダブルクリックして起動させるようにするにはどうしたらよいの?

320:デフォルトの名無しさん
17/05/10 12:42:35.37 3FTnTomt.net
>>315
jarファイルのMANIFEST調べろ

321:デフォルトの名無しさん
17/05/10 13:21:55.97 GZ1G5LqK.net
>>310
例えばMinecraftはJavaとOpenGLのライブラリを使って書かれている

322:デフォルトの名無しさん
17/05/10 19:54:36.55 39V1aTUU.net
>>293-300
MATLAB は、Python だろ
The Jupyter Notebook ( IPython )
ブラウザで、tmpnb

323:デフォルトの名無しさん
17/05/11 16:34:47.91 a7kjTynb.net


324:デフォルトの名無しさん
17/05/11 16:36:18.38 a7kjTynb.net
クラスのフィールドとかメソッドを書き換えられないようにfinalをつけるっていうけどソースコードそのものを渡さないとクラスが使えないだろうしfinalを外したりするのは自由にできてしまうのではないの?

325:デフォルトの名無しさん
17/05/11 16:50:23.23 eS2L0WVj.net
>>320
いいやコンパイルされたクラスにシンボル情報が付いてるからソース無くても使える
余談だかこれのせいで逆コンパイルしやすいそうな

326:デフォルトの名無しさん
17/05/11 20:02:59.23 90G5iBS0.net
継承について質問させてください
public class Parent{
public void hoge(){ System.out.println("p_hoge"); }
private void piyo(){ System.out.println("p_piyo"); }
}
public class Child extends Parent{
public void hoge(){ System.out.println("c_hoge"); }
public void piyo(){ System.out.println("c_piyo"); }
}
public class Main {
public static void main(String[] args) {
Child child1 = new Child();
Parent child2 = child1;
child1.hoge(); // c_hoge
child1.piyo(); // c_piyo
child2.hoge(); // c_hoge
child2.piyo(); // error: piyo() has private access in Parent
}
}
ここで、child2.piyo()がコンパイルエラーになるのは何故でしょうか
確かに型はParent型ですが、単にChildインスタンスへの参照を代入しただけなので
関係ないかと思ったのですが
実際child2.hoge()はChildクラスのhogeメソッドを実行してますし、Parentクラスの
piyoメソッドのアクセス制限をpublicにするとchild2.piyo()は「c_piyo」を出力します
あるいは Parent child3 = new Child();としても同じ結果でした
コンパイルの際、型情報はどういう順番でチェックされているのですか?

327:デフォルトの名無しさん
17/05/11 20:24:14.54 qSTwHBOZ.net
>>322
こんパイル時は単純に変数が何クラスなのかしか見てなくて、それの場合はParentクラスだからその定義を見てpiyo()メソッドはprivateだからエラーにしてるだけ。

328:デフォルトの名無しさん
17/05/11 20:33:32.16 90G5iBS0.net
>>323
なるほど、コンパイル時は型情報のみでチェックをして、中身は実行時に初めて見てるのですね
参考書の「実行時のインスタンスを想像しながらプログラムを書いてはいけない」という意味がようやくわかりました
ありがとうございます

329:デフォルトの名無しさん
17/05/12 00:38:23.02 55apZTWp.net
エクリプスやコマンドプロンプトから別ウインドウを開いてシンプルな折れ線グラフを表示したいのだけど、何をどうすればいいかわかりません。
swingとかいうのを使えばいいのでしょうか?

330:デフォルトの名無しさん
17/05/12 02:22:52.66 Otw8y3gH.net
System.exit(1);(数字は任意)はなるべく使わない方がよいのでしょうか?

331:デフォルトの名無しさん
17/05/12 06:49:04.24 84Td0x+H.net
>>326
その数字は終了ステータスと言って0以外だと異常終了したって扱いになるからちゃんとしたコマンドを作るなら使い分ける必要がある

332:デフォルトの名無しさん
17/05/12 14:49:58.50 LGrn4Vkx.net
メソッドの中カッコ(インデント)は改行しないで書くのが習わし?
あと、次の処理を行うまで2秒とか時間間隔を置くコードがあれば教えて欲しい

333:デフォルトの名無しさん
17/05/12 15:28:45.71 LGrn4Vkx.net
もう一個質問
クラスから作ったインスタンスって他でも利用できる?
メインでheroクラスのhを作ったとしてhのhpがあるメソッドによってデフォルトの100から50減ったとする
他のメインで呼び出した時hpが50減ったまま反映されてるのかな

334:デフォルトの名無しさん
17/05/12 15:37:25.98 LGrn4Vkx.net
つまり
public class main {
public static void main(String[]args){
wizard w =new wizard();
matango m=new matango('あ');
w.name="タカ";
w.attack(m);
w.fireball(m);
System.out.println(m.hp);
}
}
こういうコード書いてるんだけどこれだと毎回実行するたびに新しいmatangoが生成されてhpも全てリセットされちゃうんだ
メソッドで実行したこういう情報を保持しておきたい
他のメインメソッドで一番最後の行のmatango.m..hpをsystemoutしようとしたら変数が見つかりませんってなっちゃう

335:デフォルトの名無しさん
17/05/12 16:17:48.87 8okmpAdZ.net
実行時引数で受け取るor外部ファイルor共有メモリ
後何があるかな

336:デフォルトの名無しさん
17/05/12 16:37:05.11 QfK6Pl49.net
外部プログラムに情報を渡したいってこと?
いろんなとこで使うならDB保存でもすればいいんじゃないかな

337:デフォルトの名無しさん
17/05/12 18:10:13.38 80n6+mfo.net
Javaの公式リファレンスは
URLリンク(docs.oracle.com)
これしかないのでしょうか?
出来れば実際にメソッドを使った時の挙動も示してある物が見たいのですが、どこにも見当たらないもので・・・・・・

338:デフォルトの名無しさん
17/05/12 18:18:07.13 84Td0x+H.net
>>333
公式はそれだけ、クラス名やメソッド名でググるしかないよ

339:デフォルトの名無しさん
17/05/12 18:22:29.06 80n6+mfo.net
>>334
マジですか・・・・・・
プロの人はこれで動きが分かるのでしょうか
とりあえずはクラス名とメソッド名でググるようにします、ありがとうございます

340:デフォルトの名無しさん
17/05/12 18:24:57.87 84Td0x+H.net
Pythonのリファレンスとかが詳しすぎるだけで本来こんなもんだよ、(多分俺の読解能力が腐ってるせいで)意味不明だからソース読みにいったりすることがよくある

341:デフォルトの名無しさん
17/05/12 18:28:04.48 80n6+mfo.net
>>336
Rubyのリファレンスみたいなのを想像していたので戸惑いました・・・・・・
もし詳細な言語仕様が書かれた書籍などがあればそれも知りたいです

342:デフォルトの名無しさん
17/05/12 18:28:26.99 LGrn4Vkx.net
外部に渡すっていうより、 
public static void main(String[]args){}の中に一緒に記述してたらインスタンス(勇者)を作るのと敵と戦うが同時に起きてしまって、敵にHPを減らされてもまた同じメインを実行したら勇者のHPも最初からにりせっとされちゃうじゃない
ゲームで言うセーブみたいな機能ってjavaでどうやって実現するのかなってずっと気になってた

343:デフォルトの名無しさん
17/05/12 18:42:20.75 tAeUMPRn.net
>>330
matango m を new してるから生成される
matango型の変数をグローバル(?)なところに保存しておいて、どこかで new してそれを再利用しよう

344:デフォルトの名無しさん
17/05/12 19:39:12.19 8okmpAdZ.net
>>338
それもう外部ファイルに状態を保存しかなくね

345:326
17/05/12 19:54:24.39 Otw8y3gH.net
>>327
ありがとうございます。
この命令を使う是非についてもどなたか教えて頂けないでしょうか?

346:デフォルトの名無しさん
17/05/12 20:50:18.79 5vkuZfot.net
>>341
是非とは? 327が書いてる通りだと思うよ
必要なら使うし、いらないなら使わない

347:デフォルトの名無しさん
17/05/12 21:02:08.92 84Td0x+H.net
>>341
シェルスクリプト等のバッチ処理でコマンドが正常終了したとかの判定に使われるステータスだからそういう用途に使うならちゃんとしとけ、それ以外なら適当でいい

348:デフォルトの名無しさん
17/05/12 23:25:25.16 Otw8y3gH.net
>>342 >>343

349:a> 例えば、ジャンケンをするプログラムです。 https://ideone.com/EK5omF このように気軽に用いてよいでしょうか?



350:デフォルトの名無しさん
17/05/12 23:29:51.49 84Td0x+H.net
>>344
おk、UNIXのコマンドで実際にヘルプ出した後に1返すやつあるし

351:326
17/05/13 01:04:29.17 0v4JDuG/.net
>>345 >>他レスくれた方
ありがとうございました。気軽に使おうと思います。

352:デフォルトの名無しさん
17/05/13 13:16:21.43 nXg2xudY.net
あー。学校の課題かな?
これから switch 習うところみたいな。

353:デフォルトの名無しさん
17/05/13 15:09:30.58 nn66e6lH.net
>>347
>>326はプログラマ目指してる34歳発達の無職だよ
あんまり相手にしない方がいい
↓のスレの774とIDが一致
ねねっちと一緒にプログラムを勉強するスレ第2話 [無断転載禁止]©2ch.net
スレリンク(tech板)
↑と↓でトリップが一致
34歳、発達障害の無職ですが…5 [無断転載禁止]©2ch.net
スレリンク(prog板)

354:デフォルトの名無しさん
17/05/13 15:20:15.97 AEmw9vXq.net
Javaリファレンスを読み始めたのですが
フィールドのサマリーやメソッドのサマリーというのは一体なんなのでしょうか?
java.lang.Systemを見るとフィールドのサマリーの方は
System.[out]←これの事を説明しているのは分かったのですが
メソッドのサマリーの方は検討もつかず・・・・・・

355:デフォルトの名無しさん
17/05/13 16:33:51.59 nXg2xudY.net
>>349
サマリーって要約だろ?
それが何か?

356:326
17/05/13 16:58:01.94 0v4JDuG/.net
>>348
あー余計な事書かないでー。
なんかすいません、学生じゃないんです。
ここは速やかに返答が得られるので、使わせて頂いてます。

357:デフォルトの名無しさん
17/05/13 17:03:10.28 AEmw9vXq.net
>>350
あ、本当にただの要約なんですね
わざわざ「サマリー」で表記してあったので、てっきり特別な意味があると思ってしまいました・・・・・・

358:デフォルトの名無しさん
17/05/13 17:38:29.56 GZKqOPY+.net
>>352
Javaのリファレンスって、翻訳が直訳気味だから、英語の方読んだ方がマシな場合もあるよ

359:デフォルトの名無しさん
17/05/13 22:39:40.42 a+Yyd3LZ.net
今はmetbeansを開いてメインメソッドを書いて、ファイルの実行ボタンを押して起動させてるけど
ファイルをダブルクリックで開いたらこのアプリケーション起動、みたいなコマンドって作れる?
Fileクラスでオープン、そしてテキストファイルに書き込みとかは一応出来るようになった

360:デフォルトの名無しさん
17/05/13 23:32:38.00 GC0/nJum.net
それはOSの機能。
ファイルにアプリを関連付ける。

361:デフォルトの名無しさん
17/05/13 23:34:07.61 GC0/nJum.net
あと、ダブルクリックで起動するGUIアプリはJavaだとJarファイル作る。
作り方はググってくれ。

362:デフォルトの名無しさん
17/05/14 09:13:39.78 GiIrdLHV.net
NETBEANSなら自動でJarファイル作るけど、
自作のJarを継承したりするとJarの中にフォルダを作って入れてはくれないので、
やっぱり自分で作るかな

363:デフォルトの名無しさん
17/05/14 17:33:23.51 QSKs3vuK.net
>>354
>>316

364:デフォルトの名無しさん
17/05/14 22:40:11.72 neLc5


365:GA+.net



366:デフォルトの名無しさん
17/05/14 22:41:34.73 neLc5GA+.net
トランプのどんなゲームにも使えるカードクラスって簡単に定義可能なの?

367:デフォルトの名無しさん
17/05/14 22:52:56.19 ztp16LZQ.net
>>360
Suits列挙とNumber列挙、それらを持つCardクラス作るだけやん

368:デフォルトの名無しさん
17/05/15 00:22:18.88 F3iBT9nS.net
>>360
例えばハートの6とクラブの9を足して15にできる?多次元配列でint 部分の配列を取り出す事とかできるの?

369:デフォルトの名無しさん
17/05/15 00:28:40.14 oAljGLAm.net
>>362
二次元配列でも良いけど
そういうのだったらHashMap使った方が早くね?

370:デフォルトの名無しさん
17/05/15 01:05:18.25 F3iBT9nS.net
>>363
どうして?HashMapって配列番号を文字にしただけでしょ?

371:デフォルトの名無しさん
17/05/15 01:14:15.51 Hm7XRpaa.net
javaやってるのに多次元配列使う奴なんて見たことない
c言語じゃないんだから

372:デフォルトの名無しさん
17/05/15 08:01:13.47 iwHegv+w.net
HashMapは文字通り中にハッシュテーブルを持っててそれを利用して探索するから配列を探索するよりとても速い

373:デフォルトの名無しさん
17/05/15 10:32:21.13 WBt6bwRo.net
>>359
面倒なら数値だけでやればいいじゃん。内部では0~51で値持っといて13で割った値が種別、13で割った余り+1がカードの番号みたいにして。

374:デフォルトの名無しさん
17/05/15 14:11:56.96 YV/XJMDJ.net
javaでif文を使って文字列か数字か判断する時の条件式って何?教えてくれ頼む!!

375:デフォルトの名無しさん
17/05/15 15:05:38.35 YV/XJMDJ.net
if(入力値 == String){
//処理
}else if {
//処理

上記のやり方じゃ駄目だよな?

376:デフォルトの名無しさん
17/05/15 16:29:33.70 oRDR+P6W.net
instanceof

377:デフォルトの名無しさん
17/05/15 16:31:44.87 +sV7Di0p.net
parseIntじゃだめですかい?
String input = "12345"
try
{
int i = Integer.parseInt(input);
} catch (Exception e) {
}

378:デフォルトの名無しさん
17/05/15 16:59:39.84 LmqNwbQD.net
>>368
入力値 instanceof Stringでおk

379:デフォルトの名無しさん
17/05/15 17:03:33.71 LmqNwbQD.net
>>368
間違えたすまん、371のやり方じゃないと

380:デフォルトの名無しさん
17/05/15 17:11:06.15 YV/XJMDJ.net
>>371 >>373
ありがとう。やっぱtry文でやらないと出来ないのか

381:デフォルトの名無しさん
17/05/15 17:36:48.54 9QbDhZRz.net
ルークregexを使え

382:デフォルトの名無しさん
17/05/15 18:11:19.72 Nyf5aX+C.net
1文字ずつ正規表現でチェックするとか

383:デフォルトの名無しさん
17/05/15 21:23:38.19 94d7jC/v.net
>>366
Hash mapって確かに原理はわかるんだけど、hash関数にキーを通して得られた数値をアドレスにすると、アドレス飛び飛びになってメモリ効率悪くなったりしないのかね

384:デフォルトの名無しさん
17/05/15 21:32:58.19 iwHegv+w.net
>>377
直接アドレスにしてるわけじゃない
中に連結リストが数個あって得られた数値ごとに範囲分けしてそのリスト�


385:ノ振り分けてる 連結リストの長さだったか要素数だったかが敷居値を超えると連結リストの数を増やして再構築する 大体こんな感じで実装されてるからハッシュ値が飛び飛びなのは問題ではない、むしろそうなるように推奨されてたはず



386:デフォルトの名無しさん
17/05/15 21:54:17.44 tcwc+G1E.net
int n=1;
int[] nums={0,1,2};
nums[0]=n;
n=5;
nums[0]=?

1でいいんだよね…?

387:デフォルトの名無しさん
17/05/15 22:28:53.11 iwHegv+w.net
>>379
せやで、参照を書きかえてるだけだからね

388:デフォルトの名無しさん
17/05/16 17:39:21.61 hRmrFLEJ.net
jar ファイル作ってみたのだが
netbeans上でファイルを実行したらちゃんと動くのにフォルダからそのファイルの場所まで行ってダブルクリックしても何の反応もないのだが
ウインドウがポップアップされるはずなのに何も出てこない、どうして?
それと質問なのだがこの処理を実行したら次はこの処理が実行されるみたいなのって全てメインクラスに書くものなの?
プログラムを動かすにはメインメソッドが必要だって書いてあったんだけどたとえばドラクエで、このどうくつにはいったら今度は洞くつクラスに移るみたいな
そういうのって一つのメインメソッドに書ききれるのかなとか前からすごい疑問だった
すっきりJavaを読み終えた入門者だがもし足りないのなら次に読むべき本とかあったら教えてほしい
文法を理解できたようで、enumクラスっていう新しい用語を使ってみると、どこからそれを呼び出したらいいのかとか全く分からなくなってしまう
例えば、いろいろなゲーム、トランプとかテトリスとか、そういうののソースコードを一から全て解説してくれる本とかあったら助かる
とりあえず実践をしたいのだがどうやって学んだ事を応用していったらいいのか全く分からない
誰か助け船を出してくれ

389:デフォルトの名無しさん
17/05/16 19:20:34.36 vjuQQ4tJ.net
>>381
ながい
→ダブルクリック実行はJava関係無くOSでjar拡張子の実行設定してるかどうか
→main()云々は作ってみたほうが理解が早い
CUIでいいからtodoアプリ作ってみ?
1でタスク一覧、2でタスク登録、3でタスク削除の3機能
DBとか無しで、アプリ落としたらタスク全部消えてなくなる感じ
これ作ったらmain()で全部書けるかどうかわかるだろう

390:デフォルトの名無しさん
17/05/16 19:57:51.53 p+PjrRhB.net
>>381
スッキリのオブジェクト指向の所から読み直しつつ
自分でソースコード漁りしてみると良い
オープンソースで一杯転がってるぞ

391:
17/05/16 20:51:07.12 szD5YOp7.net
「テトリス入門」とかいう書籍を書いたら売れるかもしれないね

392:デフォルトの名無しさん
17/05/16 21:51:28.05 46vWVqfK.net
>>384
しかしゲームのやり方しか書いてなかったりしてw

393:デフォルトの名無しさん
17/05/16 22:37:54.81 wKnc2Dey.net
>381
jarのくだり以外は何言ってるのか全くわからない
大丈夫かお前?

394:デフォルトの名無しさん
17/05/16 22:47:07.51 enwqrWLT.net
大学のjavaの授業で指定されたエディタがメモ帳に毛が生えたようなやつで、スクリプト言語しか触ったことない身には辛い
javaはIDEで書くものだと聞いてたんだけど、強い補完機能使わないほうが身につくものなの?

395:デフォルトの名無しさん
17/05/16 22:50:02.85 wKnc2Dey.net
身につかないっていうかメモ帳は時間の無駄

396:デフォルトの名無しさん
17/05/16 23:08:27.75 hRmrFLEJ.net
それと、APIリファレンスの見方が分からないのだが
Arrayのなかのメソッドのequalsで
public static boolean equals(int[] a,int[] a2)
って書いてあったから引数を二つ書くのかなって思って
equals(配列A,配列b);
って書いてみたらエラーになって
配列A.euqals(配列B);にしたらエラーが出なくなった
メソッドってクラスの「インスタンス変数.メソッド」って書くのか?とか考えたけどそのあとの
sort()を見てみると普通に
sort(配列);でやったら実行できた
調べ方っていうかリファレンスの読み方がわからない
あとこれはAllayListのサマリーのやつだが
boolean add(E e)
リストの最後に、指定された要素を追加します
これの修飾子と型がbooleanだったのだがなぜvoidじゃないの?
true,falseの要素がないと思うのだが

397:デフォルトの名無しさん
17/05/16 23:27:55.96 wKnc2Dey.net
ひっでぇ文だな・・
学生かな

398:デフォルトの名無しさん
17/05/16 23:53:20.25 hRmrFLEJ.net
>>382
Jdkのbinファイルを設定するって書いてあったんだけどjdkファイルの中にbinが見つからない・・・

399:デフォルトの名無しさん
17/05/17 00:11:58.28 a2t4m9UZ.net
配列はややこしいね
Arrays.equals(a1, a2)とa1.equals(a2)は別物だよ
後者は参照先の比較って言ったらそこら辺はスッキリで詳しく書いてるから分かると思うけど
あと戻り値は必ず変数に入れなきゃいけない訳じゃない
今回のに関してはAllayListの親クラスのCollectionがaddでbooleanの戻り値を返すってなってるからそうなってるけどAllayListでは多分必ずtrue返すようになってる?分かんないけど
Setとかでbooleanの戻り値使いたいからそうなってるんだろうね

400:デフォルトの名無しさん
17/05/17 00:19:21.93 Cj0bDaOf.net
>>392
その辺りが物凄く理解できない
やっぱり経験積んで必要な場面に当たるしかないのかな
できれば最初から文法をマスターしたいと思うんだけど難しいのかな

401:デフォルトの名無しさん
17/05/17 00:21:17.17 EKDDBUyo.net
Javaのリファレンスはすげえ読み辛いのが辛い所だな
実際の挙動書いてないし

402:デフォルトの名無しさん
17/05/17 00:45:10.55 aIm9uZNt.net
JavaScriptやPHPのリファレンス見てると何でメジャーどころのJavaのリファレンスがこのレベルなんだ…って思っちゃう

403:デフォルトの名無しさん
17/05/17 00:47:35.12 EKDDBUyo.net
各クラスの挙動を知りたいなら
個人ブログかQiita辺りを探した方が早いっていう何とも言えない現状

404:デフォルトの名無しさん
17/05/17 01:09:07.24 KDFx7HS2.net
リファレンスを見た後、サンプル・例などで検索すれば?

405:デフォルトの名無しさん
17/05/17 02:16:15.58 PX1bjgD6.net
Locale locale = new Builder()
.setLanguage("ja")
.setRegion("JP")
.setScript("Latn")
.setExtension(Locale.UNICODE_LOCALE_EXTENSION, "ca-japanese")
.build();
普通は
インスタンス名.メソッド名()などのようにドットでつなげると思うのですが
上のようなソースは、なんていう機能なのでしょうか。
ググりたいので、キーワードを知りたいです。

406:デフォルトの名無しさん
17/05/17 02:24:06.64 fdwvTzQk.net
スーパーバイリンガルダブルスタンダードジェネラルアクセッサ記法です

407:デフォルトの名無しさん
17/05/17 03:04:38.91 KDFx7HS2.net
JavaScript, jQuery などで、よく使う、メソッドチェーン
a().b().c()
メソッドを、this を返すように作っておいて、つなげていく

408:デフォルトの名無しさん
17/05/17 03:55:23.34 rtSwMeCb.net
HashMapの中身をfor文で取り出す処理のメカニズムがよく分かりません。
どなたか説明してもらえませんか?
①キーの一覧を取得
②各キーについて、対応する値を取得
と書いてはあるのですが…。

409:デフォルトの名無しさん
17/05/17 04:07:19.23 gPdRTvOW.net
>>400
なるほどです。
戻り値が、自分自身だからチェーンに出来るんですね。
勉強になりました。ありがとうございます。

410:デフォルトの名無しさん
17/05/17 05:09:57.57 Cj0bDaOf.net
スッキリジャバの入門編も読めばさらに理解が深まるかな?

411:デフォルトの名無しさん
17/05/17 05:10:53.79 Cj0bDaOf.net
間違い、実践編

412:デフォルトの名無しさん
17/05/17 07:04:43.87 oji8uaFL.net
javaリファレンスはカタコトの日本語だからまだしも、
androidなんて英語だから意味不明

413:デフォルトの名無しさん
17/05/17 08:22:36.48 +tyn5AAd.net
>>401
古典かよw 今時そんな取り方しない
どうしてもやりたいならMap#keySet()調べてみ
ついでにMap#forEach()もな

414:デフォルトの名無しさん
17/05/17 11:35:36.57 Hln6Xg1O.net
ファイル開くときにcloseかtry-with-resourcesを忘れないってのはわかったんですが、
BufferedReaderとかScannerで標準入力からテキストを読み込むときもこれは必要ですか?

415:デフォルトの名無しさん
17/05/17 12:12:09.07 +tyn5AAd.net
>>407
原則として標準入出力は閉じてはいけない
そのプログラム中で二度と標準入力を使わないようなタイミングなら閉じてもいいが…やらないな

416:デフォルトの名無しさん
17/05/17 12:24:57.57 +tyn5AAd.net
一応、System.inの正体はこれな
new InputStream(new FileInputStream(FileDescriptor.in))

417:デフォルトの名無しさん
17/05/17 12:32:10.78 lfsZhYIw.net
>>407
不要だけどあってもいいんじゃね?

418:デフォルトの名無しさん
17/05/17 12:51:21.54 vBWq/bhA.net
無しだろ
最初から開いてるものだし
自分で開いたものなら閉じるべきだが
他人が開いたものを閉じるのは責務的に違うだろ

419:デフォルトの名無しさん
17/05/17 13:18:19.80 Cj0bDaOf.net
自分の好きな画像をguiで使うにはどうしたらいいの?

420:デフォルトの名無しさん
17/05/17 13:21:39.19 fdwvTzQk.net
好きな画像をGUIで読み込めばいい

421:401
17/05/17 16:48:24.10 rtSwMeCb.net
>>406
調べてみます。
ありがとうございます。

422:デフォルトの名無しさん
17/05/17 23:44:07.57 aIm9uZNt.net
int[] s = 条件式 ? {0, 1} : {1, 0};
って書いたら弾かれたんですがJavaは三項演算子を使っての配列の初期化は出来ないということですかね?

423:デフォルトの名無しさん
17/05/18 00:37:28.69 QINyhTse.net
オラクルで働きたいんだが雇ってくれんかな
java初心者だが素晴らしい言語だと思うんで

424:デフォルトの名無しさん
17/05/18 00:43:40.92 mIgvPrGJ.net
OpenJDKに貢献するのが一番の近道だと思うが
オラクルはそんなにいい会社じゃないぞ多分

425:デフォルトの名無しさん
17/05/18 00:53:33.86 gS0Z1nN7.net
>>415
int[] s = 条件式 ? new int[]{0, 1} : new int[]{1, 0};

426:デフォルトの名無しさん
17/05/18 07:23:18.00 mhJy8/8/.net
ArrayListを作るときよく入門書だと
List<String> list = new ArrayList<String>();
と書いてありますが、将来的にListとして扱う予定が全くない場合でもこう書くものですか?
とにかく広く受けとけばいいなら極論ジェネリクスも要らないですよね?
ArrayListで必要十分なところをListと書くのはどうも型安全から外れてる気がして抵抗があるのですが

427:デフォルトの名無しさん
17/05/18 07:47:59.91 hMdHD0v3.net
Listで必要十分

428:デフォルトの名無しさん
17/05/18 07:58:02.36 DonT+oLB.net
>>419
ArrayListで必要十分ってことはArrayListクラスで定義されたものを使ってるんだからListで書いたらダメだろw
あとArrayListをListとして使うことがないってのはありえない
なぜならArrayListはListを実装してるから

429:デフォルトの名無しさん
17/05/18 08:25:23.87 hXrMTvib.net
>>421
それはそうですね、すみません、言い方を間違えました
ArrayList固有の機能を使わない前提でないとこの問いは成り立たないですね
ただ拡張性を意図してないときにインターフェースで宣言するメリットがあるのだろうかと思った次第です

430:デフォルトの名無しさん
17/05/18 08:55:42.22 DonT+oLB.net
>>422
なぜ具象クラスではなくインタフェースなのかってことなら、英単語の意味のとおりインタフェースだから
この話が特に問題になりやすいのはメソッドシグネチャに使われるときと、クラスの特性を利用するときなんで、
メソッド内部のローカル変数として宣言/定義するだけで外部に影響なく使うならぶっちゃけ何でもいいよ
逆に言うと、影響が出るなら(特に)最上位のインタフェースを使ってはいけない
Map<String, String> m1() { return new WeakHashMap(省略); }
・このm1はヤバい。戻り値を普通のMapのように使ってると、GCでいきなりエントリーが消えたりする
・戻り値の型をWeakHashMapにするべき
Set<String> s1() { return new TreeSet<String>(); }
・これもヤバい。戻り値にset()すると勝手にソートされる
・戻り値の型をSortedSet(インタフェース)にすべき

431:デフォルトの名無しさん
17/05/18 08:57:08.36 X6c7i21D.net
汎用性も拡張性も皆無の個人レベルのゴミソースなら
いくらでもArrayListで型宣言すればいい

432:デフォルトの名無しさん
17/05/18 08:59:24.71 DonT+oLB.net
途中送信になっちゃった
上のような例外的なケースを除き、基本的な使い方しかしていないなら最上位のインタフェースで宣言すべき
それはコードを読む人に変なメソッドやクラス特性を使っていないから安心して使えるというメッセージになる
#バグとかはまた別の視点だよ?

433:デフォルトの名無しさん
17/05/18 12:35:06.27 hXrMTvib.net
>>425
詳しくありがとうございます
出来る限り最上位のインターフェースで宣言した方が安心感があるのですね
例えば(あまりないと思いますが)addとforEachしか使わないなら
ListよりCollectionで宣言した方がいいということですかね
インターフェースだけでなくクラスも同様に、出来る限りObjectクラスに近い方がいいのでしょうか
例えばListに数字を入れるならList<Integer>よりList<Number>の方がいいですか?

434:デフォルトの名無しさん
17/05/18 13:06:42.91 DonT+oLB.net
>>426
そういうのをやりすぎって言うんだよ
自分で書いてて不親切というか不便だと思わない?
CollectionやNumberのJavadoc読んでみ

435:デフォルトの名無しさん
17/05/18 13:26:08.84 hChOTcwf.net
コードによるんじゃ

436:デフォルトの名無しさん
17/05/18 13:27:02.92 hChOTcwf.net
>>423
setは順番を保証しないから良くないか?

437:デフォルトの名無しさん
17/05/18 13:30:10.52 hChOTcwf.net
>>419
.netはlistが実装を持ってるからその指摘は的を得ていると思う

438:デフォルトの名無しさん
17/05/18 13:30:43.70 7OpOK0t2.net
なんで.NETの話してんの?

439:デフォルトの名無しさん
17/05/18 14:12:31.44 QINyhTse.net
ArrayList<String> list = new ArrayList<>();
普通に上記のような書き方でも大丈夫ですか?
どう違うのかな…糞初心者が便乗で失礼しました。

440:デフォルトの名無しさん
17/05/18 14:42:56.14 DonT+oLB.net
>>429
setの例は確かにまずかったね
実際やってみるとわかるけどさ、SortedSetに突っ込むものはComparable実装してないと実行時例外起きるのよ
Stringは実装してるからいいけど例えば自作のComparable実装してないクラスを突っ込むSetだと死ぬ

441:デフォルトの名無しさん
17/05/18 16:08:06.15 YsT8kXyi.net
>>427
最大限の抽象化を目指しつつ、必要に応じて落としどころに着地させる技術が必要なのですね
何となくわかりました。ありがとうございます

442:デフォルトの名無しさん
17/05/18 17:27:32.89 X6c7i21D.net
中途半端に理解力の悪い馬鹿だね君は
特定のインターフェースを受け皿にするのは意味があるからやってるんだから
君のような馬鹿は凡例に倣っておまじないのように真似して使ってればいいんだよ

443:デフォルトの名無しさん
17/05/18 18:04:44.47 pcJKb7uP.net
>>431
ベタージャバ

444:デフォルトの名無しさん
17/05/18 18:07:21.85 pcJKb7uP.net
>>435
listは意味なくない?

445:デフォルトの名無しさん
17/05/18 18:10:00.52 pcJKb7uP.net
>>432
おけ

446:デフォルトの名無しさん
17/05/18 18:11:30.15 pcJKb7uP.net
>>433
なるほどねー

447:デフォルトの名無しさん
17/05/18 19:53:57.62 YsT8kXyi.net
>>435
わかりました
初心者はあまり疑問に思わずにとにかく慣れた方が良さそうですね
もうちょっと詳しくなってから改めて考察します

448:デフォルトの名無しさん
17/05/18 20:45:03.53 41k9t0yi.net
paizaってサイトいいですか?

449:デフォルトの名無しさん
17/05/18 21:28:09.31 6GwfJscL.net
>>441
34歳には向いてません

450:デフォルトの名無しさん
17/05/18 21:32:18.96 mhJy8/8/.net
paizaっつーか競技プログラミングにJavaは相性悪くないですかね?

451:441
17/05/18 23:50:40.17 41k9t0yi.net
34歳板の住人以外の方からのレス、お待ちしています。
>>443
競技プログラミングなんですか?誰が速いとか競うんですか?

452:デフォルトの名無しさん
17/05/18 23:56:50.39 GHcWpog8.net
>>444
34歳板って何?
スレチにつき誘導
【CodeIQ】コーディング転職 2社目【paiza】 [無断転載禁止]©2ch.net
スレリンク(prog板)

453:441
17/05/19 00:51:55.16 os6zJ8mg.net
>>445
スレ違いでしたか、すいませんでした。
リンクありがとうございます。

454:デフォルトの名無しさん
17/05/19 04:01:57.36 7cLMvP3Z.net
画像を読み込み、それにスタンプを張り付けて保存するGUIツールを作っています。
JFrameの左側にはコントローラーとして動作するJPanel、右側には読み込んだ画像とスタンプを表示するJPanelを配置しています。
コントローラーの操作によって画像を新しく読み込むたびに右側のJPanelを破棄し、新しいJPanelを生成するようにしたいのですが
これを実現するのに今考えているのは、コントローラーのインスタンスのフィールドにJFrameへの参照を格納しておき
コントローラーのイベントリスナーで新規読み込みを受け取ったら、JFrameからJPanelをremove()、ついでnewする、というものです。

455:デフォルトの名無しさん
17/05/19 04:05:15.30 7cLMvP3Z.net
続きです。
JPanelを再生成するためだけに3つのクラスをまたぐ、というのがどうもスマートに思えません。
可読性やメンテナンス性も悪い方法だと思うのですが、これ以外に良い方法が思いつきません。
もっと良い方法があるのか、それともそもそもの構造が悪いのか、どうかアドバイスをお願いします。

456:デフォルトの名無しさん
17/05/19 04:40:07.52 Yy4p2hUQ.net
>画像を新しく読み込むたびに、
>右側のJPanelを破棄し、新しいJPanelを生成する
一々、パネルの破棄・生成を繰り返さなくても、
画像を再読み込みすれば、良いのでは?
has-a だろ。
フレームは、複数のウィジェット(UI コンポーネント)を持つ
フレームの作成(JFrameクラス)
URLリンク(www.javadrive.jp)

457:デフォルトの名無しさん
17/05/19 04:58:05.99 7cLMvP3Z.net
ありがとうございます。
右側のパネルは、JPanelを継承したクラスのインスタンスで、読み込んだ画像の表示やスタンプの情報の保持を行っています。
画像を新しく読み込む場合、それらの情報のクリアもする必要があるので、パネル自体を破棄し再生成したほうが楽ではないかと思ったのです。
それよりも、すべての情報をクリアするメソッドを用意しておき、画像読み込みと同時にそれを呼ぶようにすべきでしょうか?

458:デフォルトの名無しさん
17/05/19 06:24:16.60 Yy4p2hUQ.net
厳密に言えば、パネルの破棄・生成を繰り返すのは、
GCの仕事が増えるだけで、無駄だけど、
回数が少ないのなら、やりやすいようにすればいい

459:デフォルトの名無しさん
17/05/19 07:19:36.73 TEDPcFuO.net
>>450
すべての情報をクリアするって書いてるけど、クリアするのは画像の情報のリスト1つだけだろ?
もしかして継承したパネルの中にバラバラに情報もたせてる?

460:デフォルトの名無しさん
17/05/19 07:56:58.28 QxcdFIRu.net
3つのクラスをまたぐっていうのは、左JPanel内で
this.jFrame.rightJPanel = new RightJPanel()
みたいなことをしてるのかな?
JFrameにreadNewImage()を作って右JPanelのnewとかの処理はそこでして
左JPanelはreadNewImage()を呼び出すだけでってのはどう?

461:デフォルトの名無しさん
17/05/19 08:37:45.48 Yy4p2hUQ.net
左右のパネルが、相互に依存したら、ダメ
親 → 左の子
親 → 右の子
あくまでも、親から働きかけるようにする。
つまり、階層構造を浅くする
そうしないといずれ、スパゲッティ・泥団子のように密結合し、手に負えなくなる。
設計の基本は、疎結合

462:デフォルトの名無しさん
17/05/19 09:09:28.77 bDipVMhT.net
極力一元管理

463:デフォルトの名無しさん
17/05/19 09:59:04.74 UcTeaZgR.net
上司を通さず別部署に仕事頼んじゃうのはまずいみたいな話か

464:デフォルトの名無しさん
17/05/19 15:02:46.01 7cLMvP3Z.net
>>451
そうなんですか・・・
やろうと思えば何度でも再読込はできるので、この方法はやめておきます。
>>452
パネルのフィールドとして、画像の縦横サイズ、スタンプのインスタンスなどを持っています。
>>453
それです。
コントローラーからの操作はすべてJFrameの持つメソッドから行うようにする、ということでしょうか?

465:デフォルトの名無しさん
17/05/19 15:27:47.14 V7EPUvXw.net
Javaだけで2chのスレ・レス取得、スレに書き込みできるのでしょうか?

466:デフォルトの名無しさん
17/05/19 15:39:32.26 gmSWrJbX.net
Javaだけで作られた専ブラが既にある、後は分かるな?

467:デフォルトの名無しさん
17/05/19 15:53:27.22 TEDPcFuO.net
>>457
そういうのはパネルのフィールドにばらまいてはダメなやつだよ
パネルは入れ物であって中身は中身でまとめて別に管理しないと
ついでに言うと、読み込んだ画像とスタンプは同じもの
読み込んだ画像って、ユーザが選択して重なり具合が常に最背面になってるスタンプだろ?
パネルにはList<ImageInfo>みたいなものを持たせて、Listの中身を並び順で画像表示するような設計でいい気がする
リセットはListを空にして再表示だし、複数スタンプもListに追加して再表示で終わるだろ

468:デフォルトの名無しさん
17/05/19 15:59:47.29 V7EPUvXw.net
>>459
あったんですね
thx

469:デフォルトの名無しさん
17/05/19 16:28:12.16 7cLMvP3Z.net
>>454
おっしゃるとおりだと思います。
現に、現在進行形で泥団子化しているような気がします。
自分でもなんとかしたいと思っているのですが、今まで手続き型のやり方でお茶を濁してきたツケで、オブジェクト指向的な考え方に馴染めず困っています。
例えば、左のパネルを操作して右のパネルに表示されている画像上にスタンプを追加する、というような操作を考えたとき、どのように実装すればいいかこんがらがってしまって・・・
教えてくれとは申しませんので、オブジェクト指向で書かれたGUIアプリケーションのサンプルソース集などはないでしょうか。

470:デフォルトの名無しさん
17/05/19 16:40:46.85 7cLMvP3Z.net
>>460
なるほど、画像やスタンプの情報もオブジェクトに閉じ込めてしまうのですね。
確かにそのようにすれば初期化や並び順管理も容易にできそうです。
今は画像上のマウスポインタのx,y座標を保存する変数などもバラバラになっているのですが、これもオブジェクトとして扱えば良いですね。
どうもありがとうございます。

471:デフォルトの名無しさん
17/05/19 16:54:03.15 8fy8h9zZ.net
>>461
ちなみにV2Cってやつ

472:デフォルトの名無しさん
17/05/19 18:11:40.44 V7EPUvXw.net
>>464
どうもです

473:デフォルトの名無しさん
17/05/19 19:01:25.59 UcTeaZgR.net
>>464
V2Cは今では2chへの書き込みできないよな。
したらばとかの2chに似ている掲示板では書き込みできるが。

474:デフォルトの名無しさん
17/05/20 12:30:03.29 MUxe8l0w.net
パッケージ名とクラス名を同じにしないといけないってなんで?
調べても出て来なかったし、実際違う名前にしてみても問題なく動いた

475:デフォルトの名無しさん
17/05/20 14:15:46.69 PoJQGONs.net
>>467
クラス名とファイル名じゃないか?

476:デフォルトの名無しさん
17/05/20 15:40:52.53 MUxe8l0w.net
>>468
ああごめん
そうだった
でも結局それでも動いた

477:デフォルトの名無しさん
17/05/21 17:41:03.62 yzZ9l0t7.net
どうでもいいことかもしんないけど、is○○って、boolean型を返すメソッド名のみに使うべき?
boolean型の変数名に使うのは


478:NG?



479:デフォルトの名無しさん
17/05/21 17:57:08.86 1QefLJTZ.net
>>470
OK、Javaはメソッド名とフィールド名を区別するから関係ない

480:デフォルトの名無しさん
17/05/21 19:27:03.36 wfwMepb4.net
>>471
動くか動かないかではなくて、命名規則的に好ましいか好ましくないかを聞きたいです

481:
17/05/21 19:30:34.94 pUWFtSb1.net
悪くはないと思うよ,嘘ついているわけじゃないし

482:デフォルトの名無しさん
17/05/21 19:38:17.39 LHr6gtTw.net
人によるといわれたらそれまでなのですが、三十代プログラミング経験無しが業務で使えるようになるにはどれくらいかかると思いますか?

483:デフォルトの名無しさん
17/05/21 19:47:45.48 zNfd0kUp.net
出来るからって区別しないのはキモい。
日本語で変数書いても悪く無いけど、キモいでしょ。
俺俺ルールならメソッドはisXXX。
変数やフィールドはXXXflgとかXXXflagとかにしてたな。
bool型の変数やフィールドにこう付けろって慣習はJavaは無かった気がする。
Cだとflgやflagで付ける慣習(ってほどでも無かったけど)あったから、おいらはJavaでもそうしてただけだが。
ずっとずっと昔の話だが。。。

484:デフォルトの名無しさん
17/05/21 19:48:50.69 RUGjRrqs.net
>>474
スレチ
てゆうか君>>441とか>>348の人でしょ
なんでJavaスレでそんな質問するんだよ
スレタイ読める?
ここはJavaの初心者スレであってネット初心者スレではないんだけど

485:デフォルトの名無しさん
17/05/21 19:49:58.64 Ku4JySDo.net
人によるし業務によるとしか
なんの根拠も無いけど半年を目安にして貰ったら良いんじゃないかな

486:デフォルトの名無しさん
17/05/21 20:00:57.93 zNfd0kUp.net
>>474
まあ長くて一年で才能ある人は何かしらゲーム作れてるよ。
ジャンケンとかの簡単なのじゃなくて格ゲーみたいなの。
具体的には同級生がそう言う人種。
2-3ヶ月で作れてた気もするが。
一年で出来ない奴は、おいらみたいに10年経ってもショボいツールしか作れない。

487:デフォルトの名無しさん
17/05/21 20:36:10.10 KT6Xsd7k.net
>>476-478
申し訳ありません。
業務と平行しながら勉強してるのでここでいいかなと思いまして。
なかなか身に付かず焦って質問してしまいました。半年から一年を目処に頑張ります。

488:デフォルトの名無しさん
17/05/21 21:17:08.99 8VZiX6Z0.net
>>479
次からはこっちで質問すると良いよ。
スレ立てるまでもない質問はここで 147匹目 [無断転載禁止]©2ch.net
スレリンク(tech板)

489:デフォルトの名無しさん
17/05/22 08:09:37.82 rV93qz9q.net
Windows+Java環境下でFFTを計算したいのですが感染性が無く再配布可能なライセンスのライブラリってありますか?

490:デフォルトの名無しさん
17/05/22 09:22:38.69 4kDceHI4.net
>>481
ググったらファイナルファンタジータクティクスが出てくるぞ?
それの何を計算するんだ?(笑
とか言われないように略称じゃなくてきちんと書けやアホ
あとなぜライセンスにこだわるんだ?
作ったもので金とるからって理由なら調査費用くらい惜しむなよ

491:デフォルトの名無しさん
17/05/22 09:29:07.58 mjjAkcu0.net
高速フーリエ変換通じないのは流石に通じない方が悪いし、通じない奴は質問の対象者じゃないんだから黙っとけよ

492:デフォルトの名無しさん
17/05/22 10:30:45.35 1JJhboIc.net
プロゲートで無料のぶんだけひととおりやったんですがこんな単純なものだけで組み合わせたら色々できるの?

493:デフォルトの名無しさん
17/05/22 10:57:24.88 cucl6upm.net
プログラミングは言語は何であれアイデアや応用の世界だからな

494:デフォルトの名無しさん
17/05/22 11:14:41.72 tvdR/xt5.net
「アホ言うやつがアホ」という言葉がまた証明されたようだな

495:デフォルトの名無しさん
17/05/22 12:09:31.25 P/AfA+PI.net
>>482
そんなこと言うやつがクソだろ

496:デフォルトの名無しさん
17/05/22 14:14:19.86 1JJhboIc.net
難しいものを作るには難しいプログラムが必要じゃなくて簡単なものの組み合わせ方って言うことなの?

497:デフォルトの名無しさん
17/05/22 14:23:39.87 cucl6upm.net
何をイメージして難しいとか言ってるんだ?

498:デフォルトの名無しさん
17/05/22 14:59:59.52 0bIAcz+AQ
Fileクラスってディレクトリのパスも指定できるんだよね?
ファイルのパスはできるのにディレクトリのパスを指定するとアクセス拒否される

499:デフォルトの名無しさん
17/05/22 14:53:57.12 d6K1UVaP.net
ま、そうだな。難しい漢字みたいなものだ。
分解すると一つ一つは簡単なカタカナみたいなやつでしかない。

500:デフォルトの名無しさん
17/05/22 16:08:03.03 3W7nNBo7.net
難しいものってのが何なのかによるんじゃないかね
計算量が膨大なものならそれなりに難しいアルゴリズムも必要になるだろうし
Javaでそこまで踏み込むかはわからんが

501:デフォルトの名無しさん
17/05/22 16:23:53.42 PfanrHfD.net
>>481
これなんかどう?
URLリンク(hp.vector.co.jp)

502:デフォルトの名無しさん
17/05/22 19:43:15.47 rV93qz9q.net
>>493
おぉ、ありがとうございます。試してみます

503:
17/05/22 20:00:29.53 Zgh5eQVH.net
>>482
FFTもしらないなんて‥

504:デフォルトの名無しさん
17/05/22 20:02:50.44 Xg9/hZFe.net
>>482
一番上に高速フーリエ変換のWikiが来るじゃねーかw

505:デフォルトの名無しさん
17/05/22 20:10:28.65 mjjAkcu0.net
Googleって検索者がよく調べてるものの関連のものが上に来るんだっけ?

506:デフォルトの名無しさん
17/05/23 04:57:47.00 ZEoEO5ey.net
FFT っていう単語を知らないなら、さすがにヤバイ、レベル
Matlab などの数値計算なら、Python
tmpnb
Jupyter Notebook (IPython)

507:デフォルトの名無しさん
17/05/23 19:41:11.76 i368ua84.net
Rubyのpメソッドみたいに
変数の中身や配列の中身を手軽に確認できるメソッドって無いのでしょうか
特に配列の中身を確認する方法が分からず、デバッグをする際に苦労するのですが・・・・・・

508:デフォルトの名無しさん
17/05/23 20:01:14.31 nu8Noumz.net
>>499
Arrays#toStringもしくはArrays#deepToString使えばおk
RubyみたいにpはないけどIDE使えばsysoutとかsoutから補完できるぞい

509:デフォルトの名無しさん
17/05/23 20:01:46.83 0KCdNJNi.net
Arrays.toString(調べたい配列)をよく使うわ

510:デフォルトの名無しさん
17/05/23 20:26:13.35 nu8Noumz.net
そういやスタティックメソッドだから#じゃなかった

511:デフォルトの名無しさん
17/05/23 20:52:26.34 +maOq34X.net
日付と時刻を表示するプログラムを作ったのですが、時間の表示がおかしいです。
なぜでしょうか?
URLリンク(ideone.com)

512:デフォルトの名無しさん
17/05/23 21:00:51.52 i368ua84.net
>>500
ありがとうございます
その二つを使ってチェックしていきたいと思います
>>503
デフォルトだと日本時間ではなく、グリニッジ標準時間 (GMT)になるので
時差の分ずれてると思われます

513:デフォルトの名無しさん
17/05/23 21:02:43.60 IEg1DOoE.net
>>503
IDEONEの鯖のタイムゾーンがGMT仕様だからじゃないかな、多分手元で実行すれば大丈夫

514:デフォルトの名無しさん
17/05/23 21:03:25.21 IEg1DOoE.net
あ、すまんこれシステムのタイムゾーン取ってるわけじゃないのか

515:デフォルトの名無しさん
17/05/23 21:15:24.77 RzWtz9Yc.net
ほんとだ
URLリンク(ideone.com)

516:502
17/05/24 00:25:16.54 PoyHH2+7.net
レスをくれた方、ありがとうございました。
>>507の方のリンクやスッキリJava


517:実践編を参考に改良してみたいと思います。



518:デフォルトの名無しさん
17/05/24 17:28:31.44 rgjqqiZm.net
URLリンク(ideone.com)
配列の中身を拡張for文表示させようとした際に
上記のように上手く行かないのですが、なぜなのでしょうか?


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